for语句作为C语言中的三种循环控制语句之一,也是执行效率较高的一种。今天就带你们详细叙述for语句的用法及其使用注意点。

一,基本用法

for(<初始化>,<条件表达式>,<控制变量增量>){循环整体用法}

c语言中,for语句通常适用于循环次数已知的场景。其初始化通常是一个赋值语句,一般用于循环控制变化量的初始化,当然也可以给其他变量初始化。条件表达式,主要是一个关系表达式,用于控制循环结束;控制变量增量,主要是循环变量的自加,步长通常为1(如i++),也可根据需要预定(如,循环控制变量i的增量可以设置为2,i=i+2;)。

例举说明如下:

#includeint main(){int i;for(i=0;i<5;i+2)printf("i=%d\n",i);return 0;}

其操作过程如下:

  1. 首先执行初始化操作(仅在循环开始时执行一次);
  2. 进行条件表达式计算,若为真,则进行第3步;否则执行第6步;
  3. 执行循环体语句;
  4. 控制变量增量计算;
  5. 重复执行步骤2;到步骤4;
  6. 结束循环;

在上述过程中,先进行初始化操作,给循环控制变量赋初值为0;然后判断表达式是否为真,为真则输出循环控制变量i;然后进行增量计算,接着在进行条件表达式计算。整个程序循环体执行了三次,分别输出i的值  0 ,  2 , 4.

二,使用注意事项

  1. for语句括号中三个部分均是语句,用分号';'隔开,而且三个语句均可以省略,可以省略部分或者全部。
  2. 循环体尽量设置简洁,,不必要的操作尽量安排在循环体之外。如计算1到100的求和,有人写出如下循环:
int i,tmp,sum;for(tmp=0,i=1;i<101;i++){tmp+=i;sum=tmp;}

上述循环中,sum=tmp;语句每次循环都要执行一次,极大浪费资源,完全可以放在循环体之外,仅赋值一次即可,可以修改成如下形式:

for(tmp=0,i=1;i<101;i++){tmp+=i}sum=tmp;

当然,可以为了节约资源,上述例子中甚至tmp这个中间变量都可以不用,循环体中直接用sum替代tmp变量即可。

3.尽量避免在循环体内修改循环控制变量,以免影响循环次数,达不到预期效果。

4.在多重循环中尽量将最长的循环放置内层,最短的循环放置外层,有利于减少cpu夸切循环层的次数。

5.尽量减少循环的嵌套层次,一般不建议超过3层,否则程序可读性变差,同时影响程序执行效率。若超过3层,建议重新设计循环。

6.有些情况下,适当采用并行代码,可以优化for语句循环,减少循环次数,提高程序执行效率。如使用注意事项第2条中的例子,计算1到100之间的整数和,可以通过定义好几个变量,采用并行代码优化成如下形式。:

for(sum=1,sum2=0,sum3=0,sum4=0,sum=0;i=1;i<101;i+4);{sum1+=i;sum2+=i+1;sum3+=i+2;sum4+=i+3;}sum=sum1+sum2+sum3+sum4;

今天就到这里啦,如有疑问请留言区探讨,我叫陈浩楠,我们一起加油!!!

c语言for语句用法和例子相关推荐

  1. c语言中return语句例子,C语言 return 语句-嗨客网

    C语言return语句教程 在 如果 return 语句使用在普通的 C语言return语句详解 语法 void fun(){ //do something return; } 说明 使用 retur ...

  2. c语言输入输出语句(c语言输入输出语句例子)

    C语言中常用语句有哪些呢?C语言中常用语句有哪些呢? 以下是C语言中常用语句的精辟总结:跳转语句判断语句循环语句goto语句("转舵"语句)if语句("如果"语 ...

  3. OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)...

    OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...

  4. c语言switch语句程序大全,C语言switch语句

    C语言中的switch语句用于从多个条件执行代码. 就像if else-if语句一样. C语言中switch语句的语法如下: switch(expression){ case value1: //co ...

  5. c语言switch()语句

    c语言switch()语句 以上图片来源:https://wenku.baidu.com/view/41e0bb1ef08583d049649b6648d7c1c708a10bb7.html 感谢大牛 ...

  6. c语言格式字符If,C语言所有语句格式 C语言中的的if语句共有多少种格式?

    导航:网站首页 > C语言所有语句格式 C语言中的的if语句共有多少种格式? C语言所有语句格式 C语言中的的if语句共有多少种格式? 相关问题: 匿名网友: 1.if语句: if(Bool表达 ...

  7. (小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别

    一.函数的定义: 在说明什么是函数前先举一个小例子: 大家都知道印刷术是我国的四大发明(科普一下:中国四大发明:造纸术.印刷术.火药.指南针)之一,之所以有印刷术,是因为重复的抄写既浪费时间,效率又很 ...

  8. c语言switch scanf语句,c语言switch语句 谢谢·!~!~

    c语言switch语句 谢谢·!~!~以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c语言switch语句 谢谢·!~ ...

  9. 判断语句_如何学好C语言判断语句?攻略if语句是第一步

    C语言,是全球使用最多的编程语言.上次我们谈到了switch语句,但在C语言中,if条件构成的选择结构程序很重要.在实际问题中,往往需要对不同变量进行比较,然后分别执行不同的语句.如何使用if语句呢? ...

  10. c语言if语句教学设计,c语言if语句教学设计.pdf

    学习必备 欢迎下载 C 语言if 语句的应用教学设计 授课时间 45 分钟 课题(章节) 第4 章第3 节<if 语句> 教学目的与要求: 1.让学生了解if 语句的二种结构语句格式. 2 ...

最新文章

  1. Android Studio查看代码行数和删除注释空行等
  2. learning hdmi edid protocol
  3. python 服务端渲染_客户端渲染和服务器渲染的区别
  4. 如何一次性复制带有markdown/mathjax/latex的博客内容
  5. 半导体芯片原厂涨价及调价声明新增了这些!
  6. C语言变长数组data[0]【总结】
  7. 打针小说软件测试,UPDATE注射(mysql+php)的两个模式
  8. Transaction rolled back because it has been marked as rollback-only 异常处理
  9. 基础算法 —— 高精度计算 —— 高精度除法
  10. 解决长email在表格td中不自动换行的问题 CSS强制不换行
  11. 利用日志传送来实现数据库的可用性
  12. java的printwriter_Java PrintWriter错误
  13. 家卫士扫地机器人好吗_扫地机器人哪个牌子好?市场最全智能扫地机器人品牌解析_扫地机器人...
  14. 【Ajax】PHP中ajax的基本知识点
  15. 2017年高考改革地区:浙江、上海
  16. WeX5和BeX5比较
  17. 服务器API压力测试 -ab工具
  18. 更多数学趣题:走迷宫
  19. 向量范数与矩阵范数矩阵模的平方-函数和几何以及映射的关系-数学
  20. 【新书速递】流量运营教科书

热门文章

  1. 1.1 print输出语句(Python)
  2. QT编程入门系列文章之三十三——国际化(上)
  3. mysql游标嵌套怎么写,mysql游标和嵌套游标
  4. JAVA基本数据结构
  5. Linux系统中安装软件的三种方法
  6. AT89C51的矩阵键盘、跑马灯和呼吸灯设计
  7. 网络重置或电脑重置后WLAN/WIFI图标不显示 最全解决方法
  8. 前端实现word、pdf文件在线预览功能
  9. vb红绿灯交通灯小程序
  10. CSDN的积分如何获取(转)