c语言for语句用法和例子
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;}
其操作过程如下:
- 首先执行初始化操作(仅在循环开始时执行一次);
- 进行条件表达式计算,若为真,则进行第3步;否则执行第6步;
- 执行循环体语句;
- 控制变量增量计算;
- 重复执行步骤2;到步骤4;
- 结束循环;
在上述过程中,先进行初始化操作,给循环控制变量赋初值为0;然后判断表达式是否为真,为真则输出循环控制变量i;然后进行增量计算,接着在进行条件表达式计算。整个程序循环体执行了三次,分别输出i的值 0 , 2 , 4.
二,使用注意事项
- for语句括号中三个部分均是语句,用分号';'隔开,而且三个语句均可以省略,可以省略部分或者全部。
- 循环体尽量设置简洁,,不必要的操作尽量安排在循环体之外。如计算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语句用法和例子相关推荐
- c语言中return语句例子,C语言 return 语句-嗨客网
C语言return语句教程 在 如果 return 语句使用在普通的 C语言return语句详解 语法 void fun(){ //do something return; } 说明 使用 retur ...
- c语言输入输出语句(c语言输入输出语句例子)
C语言中常用语句有哪些呢?C语言中常用语句有哪些呢? 以下是C语言中常用语句的精辟总结:跳转语句判断语句循环语句goto语句("转舵"语句)if语句("如果"语 ...
- OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)...
OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...
- c语言switch语句程序大全,C语言switch语句
C语言中的switch语句用于从多个条件执行代码. 就像if else-if语句一样. C语言中switch语句的语法如下: switch(expression){ case value1: //co ...
- c语言switch()语句
c语言switch()语句 以上图片来源:https://wenku.baidu.com/view/41e0bb1ef08583d049649b6648d7c1c708a10bb7.html 感谢大牛 ...
- c语言格式字符If,C语言所有语句格式 C语言中的的if语句共有多少种格式?
导航:网站首页 > C语言所有语句格式 C语言中的的if语句共有多少种格式? C语言所有语句格式 C语言中的的if语句共有多少种格式? 相关问题: 匿名网友: 1.if语句: if(Bool表达 ...
- (小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别
一.函数的定义: 在说明什么是函数前先举一个小例子: 大家都知道印刷术是我国的四大发明(科普一下:中国四大发明:造纸术.印刷术.火药.指南针)之一,之所以有印刷术,是因为重复的抄写既浪费时间,效率又很 ...
- c语言switch scanf语句,c语言switch语句 谢谢·!~!~
c语言switch语句 谢谢·!~!~以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c语言switch语句 谢谢·!~ ...
- 判断语句_如何学好C语言判断语句?攻略if语句是第一步
C语言,是全球使用最多的编程语言.上次我们谈到了switch语句,但在C语言中,if条件构成的选择结构程序很重要.在实际问题中,往往需要对不同变量进行比较,然后分别执行不同的语句.如何使用if语句呢? ...
- c语言if语句教学设计,c语言if语句教学设计.pdf
学习必备 欢迎下载 C 语言if 语句的应用教学设计 授课时间 45 分钟 课题(章节) 第4 章第3 节<if 语句> 教学目的与要求: 1.让学生了解if 语句的二种结构语句格式. 2 ...
最新文章
- Android Studio查看代码行数和删除注释空行等
- learning hdmi edid protocol
- python 服务端渲染_客户端渲染和服务器渲染的区别
- 如何一次性复制带有markdown/mathjax/latex的博客内容
- 半导体芯片原厂涨价及调价声明新增了这些!
- C语言变长数组data[0]【总结】
- 打针小说软件测试,UPDATE注射(mysql+php)的两个模式
- Transaction rolled back because it has been marked as rollback-only 异常处理
- 基础算法 —— 高精度计算 —— 高精度除法
- 解决长email在表格td中不自动换行的问题 CSS强制不换行
- 利用日志传送来实现数据库的可用性
- java的printwriter_Java PrintWriter错误
- 家卫士扫地机器人好吗_扫地机器人哪个牌子好?市场最全智能扫地机器人品牌解析_扫地机器人...
- 【Ajax】PHP中ajax的基本知识点
- 2017年高考改革地区:浙江、上海
- WeX5和BeX5比较
- 服务器API压力测试 -ab工具
- 更多数学趣题:走迷宫
- 向量范数与矩阵范数矩阵模的平方-函数和几何以及映射的关系-数学
- 【新书速递】流量运营教科书