作者:云小逸
个人主页:云小扬的主页
码云:云小扬 (YunXiaoYang003) – Gitee.com
motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。希望春天来之前,我们一起面朝大海,春暖花开!
专栏:C语言初阶专栏:C语言进阶专栏:数据结构和算法
专栏:C++初阶—专栏:C++进阶–专栏:Linux学习
文章目录
- 前言
- 4.for(表达式1;表达式2;表达式3)
- (1)语法:
- (2)for和while的对比:
- (3)for中的break和continue的作用:
- (3) for语句的循环控制变量
- 建议一: 不可在for 循环体内修改==循环变量==,防止 for 循环失去控制
- 建议二: 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
- (4)一道面试题:
- 5. do…while()循环
- (1)语法:
- (2) do语句的特点
- (3)do while循环中的break和continue
- 最后
-
前言
今天我们接着上一次的分支语句和循环语句——循环语句(while),继续讲分支语句和循环语句——循环语句(for、do……while)。
——————————————————————————————
4.for(表达式1;表达式2;表达式3)
(1)语法:
我们已经知道了while循环,但是我们为什么还要一个for循环呢?
首先来看看for循环的语法:
for(表达式1; 表达式2; 表达式3) 循环语句;
表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。
#includeint main(void){int i = 0;for (i = 1; i < 10; i++)///for(i=1/*初始化*/; i<=10/*判断部分*/i++/*调整部分*/){printf("%d ", i);}return 0;}
流程图:
(2)for和while的对比:
int i = 0;//实现相同的功能,使用whilei=1;//初始化部分while(i<=10)//判断部分{ printf("hehe\n"); i = i+1;//调整部分}for(i=1; i<=10; i++)//实现相同的功能,使用while{ printf("hehe\n");}
可以发现在while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较 远,这样
查找修改就不够集中和方便。所以,for循环的风格更胜一筹;for循环使用的频率也最高。
(3)for中的break和continue的作用:
我们发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。
但是还是有些差异:
#includeint main(void){int i = 0;for (i = 1; i < 10; i++){if (i == 5)break;continue;printf("%d ", i);}return 0;}
(3) for语句的循环控制变量
建议:
- 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
- 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
建议一: 不可在for 循环体内修改循环变量,防止 for 循环失去控制
#includeint main(void){int i = 0, j = 0;for (i=0; i < 3; i++){for (; j < 3; j++)printf("%d ",j);printf("\n");}return 0;}
建议二: 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
int i = 0;for(i=0; i<10; i++)//前闭后开的写法{}for(i=0; i<=9; i++)//两边都是闭区间{}
注:当for循环中判断条件省略时意味着判断恒成立!!!
(4)一道面试题:
//请问循环要循环多少次?#include int main(){ int i = 0; int k = 0; for(i =0,k=0; k=0; i++,k++) k++; return 0;}
原因:因为条件判断语句是赋值语句,不是判断语句,k=0,为0为假,程序直接退出for循环!!!
5. do…while()循环
先循环后判断
(1)语法:
do 循环语句;while(表达式);
(2) do语句的特点
循环至少执行一次,使用的场景有限,所以不是经常使用。
#include int main(){ int i = 10; do { printf("%d\n", i); }while(i<10); return 0;}
(3)do while循环中的break和continue
类似于while,这里就不赘述了。
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:
1.做更好的自己,而不是完美的别人。
2.谁都愿意做自己喜欢的事情,可是,做你该做的事情,才叫成长。
3.活成一个真正有形的人,而不是—摊肉、一团混乱不堪的情绪。
4.放弃很容易,但坚持—定很酷。
5.知识不是力量,知识用起来才是力量。
6.人生只有两个选择,要么忙着死,要么忙着活! 熬得住就出众,熬不住就出局,你的野心很大,所以没资格停下。
7.白天归顺生活,夜晚忠于自己
最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)
愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚菜鸟逐渐成为大佬。加油,为自己点赞!