【C语言】day10.for语句

为什么有了while语句,还要再出现for循环呢?

循环的主体由三部分构成,初始化,判断部分,调整部分,在while循环中,当项目程序的体量越来越大时,这三部分的距离会越来越远,开发者迫切需要能把这三部分放在一起的循环语句,所以for循环应运而生。

在日常应用的循环语句中,for循环频率最多,其次是while,最后是do-while

--------------------------------------------------------------------------------------------------------------------

for循环语句结构:

for(初始化表达式1;判断表达式2;改变量表达式3)

{

          循环模块;

}

for循环可以在括号里初始化时声明变量类型,如for(int i=0;i<10;),而while循环不能在括号里声明变量类型,如while(int i<10)是不合法的。

for循环括号里的三个表达式都可以省略而系统不会报错。

即for(;;)是合法的一个for循环结构。

for循环的执行流程为:初始化表达式1→判断表达式2→循环模块→改变量表达式3→判断表达式2→循环模块...(无论循环跑了多少次,初始化都只有一次。)

while循环的执行流程为:判断表达式→循环模块→判断表达式→循环模块...(while循环的初始化在判断表达式前,改变量表达式在循环模块里面)

一些关于for循环的书写风格建议:

①不要在for循环体内修改循环变量,防止for循环失去控制

②建议for语句的循环控制变量采取前闭后开的写法。(即想要输出10个数时,采用i=0;i<10的写法,而不是i=0;i<=9,因为当写成i<10时,能让人直观明白是关于10个数的 操作,可读性更强)

③不要随意省略for循环括号中的三个式子。(判断部分省略以后恒为真)

再比如,当我们想要用嵌套循环输出九次“heihhei”时,可以这么写

如果我们觉得内循环里的变量j的初始化语句重复从而省略掉,写成for(;j<3;j++,k++)时,则会出错

此时程序从i=0开始进入内循环,j从0递增到3,输出了三个“heihei”(j从0-2时输出“heihie”,随后自增到3,经判断不满足j<3于是不再输出)

再然后i=1,i=2;此时j的值已然为3,不再满足内循环的判断。

---------------------------------------------------------------------------------------------------------------------------

for循环中的break与continue:

for循环中的break与while循环中的break输出结果相同,作用相同。

循环语句一个良好的书写风格是:先判断,再输出,最后改变变量。

for循环中的continue与while循环中的continue有所差别,因为按照代码习惯,改变量表达式会放在判断语句之后,因此while中的continue会跳过改变量表达式返回判断直接返回判断表达式,有可能造成死循环;而for中的continue执行以后会继续执行改变量表达式(循环模块→改变量表达式3),这样就减少了死循环的存在。

两个关于for循环的小例题:

循环变量可以超过1个。

如while(x<2&&y<5),for (x = 0, y = 0; x < 2 && y < 5; x++, y++).

如上图,判断语句为k=0;这是将0值赋给k,整个式子的值为0,为假,所以循环次数为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值