目录
前言:
1.while循环
1.1while循环的结构
1.2while语句中的break和continue
2.getchar配合循环清空缓冲区
3.for循环
3.1for循环的结构
3.2for循环中的break和continue
3.3for循环的注意事项
3.4使用多个循环变量控制for循环
4.do while循环
4.1do while循环的结构
4.2do while中的break和continue
❤博主CSDN:啊苏要学习
▶专栏分类:C语言◀
C语言的学习,是为我们今后学习其它语言打好基础,C生万物!
开始我们的C语言之旅吧!✈
-----------------------------------------------------------------------
前言:
什么是循环呢?日常生活中,资金流入,材料采购,加工,产出成品,包装,销售换钱实现再生产,这是一个循环往复的过程。当然,难免会遇到一些意外导致生产停止,或是放弃此次生产,从头再来等情况。今天我们来看看C语言中的循环结构吧。
1.while循环
使用while循环打印1-10之间的数。
1.1while循环的结构
和if语句很像,简直一模一样。当然if语句只能执行一次,而while语句是可以执行多次的。
1.2while语句中的break和continue
- while的条件是i小于等于100,符合条件进入循环,i先自增1;
- 判断i等不等于5,不等于,不进去if语句;
- 打印i的值,为1;
- 判断i等不等于10,不等于,不进;
- 一个循环结束,回到while判断部分,和第一次进入循环不同的是,i是以1进入循环的了;
在i以4进行判断进入循环,i++;让i变为5,符合if(i == 5)的条件,进入continue。然后我们发现,控制台窗口没有5的身影,也就是说在continue后面的printf函数没有被执行。这是因为在循环里执行到continue时,就直接跳到判断部分了,本次循环后面的代码就不执行了。
这就是continue执行后,不打印5的原因,因为print在i为5的时候,被跳过了。
- 然后i=5进入循环,i++(加加)变成6,if(i==5)不成立就不进去了;
- 随着循环的次数增加,来到了i为9的时候,判断循环条件,符合条件进入循环;
- i加加变成10,判断不成立,然后打印,最后!if(i==10)成立,进入执行break;
- 我们最终看到循环里只打印到了10,距离循环条件结束还早着呢;
对的,这就是break的功能,直接跳出循环,不管还能有多少次循环。
那我们到目前为止,学了使用break跳出while循环和switch语句。别忘记或混淆了,所以我在这特意提一下。
2.getchar配合循环清空缓冲区
为什么我们知道输入缓冲区里最后一个字符是斜杠0?这是因为,当我们使用scanf输入的时候,最后敲的回车是一种信号------让scanf函数开始读取的信号。我们知道回车是换行的效果,在C语言中,换行可以用'\n'。确认让scanf读取的回车键会使'\n'留在输入缓冲区里面,所以输入结尾都是'\0'。我们让getchar一直一个字符一个字符读,读到的字符不管它,到最后一次,getchar读到了'\0',注意,这里是已经读到了'\0'再来判断的,所以斜杠零是没有了的,然后斜杠零不等于斜杠零是假的,不符合条件,循环终止。
清空输入缓冲区后,c = getchar()让我们输入一个字符,我们输入a,putchar跟着输出a,程序结束。
3.for循环
for循环是循环里面最常用的一种,因为它把循环变量的初始化呀,判断循环条件,循环变量的调整放在同一个地方,容易更改且更清晰。
- for(i = 1; i <= 10; i++),先是,i初始化为1,这个初始化只进行一次,然后就是判断;
- 执行循环体printf,循环体结束后,回到i++调整部分,调整完后;
- 重新进行循环条件判断;
直到i自增到11后,停止循环。
3.1for循环的结构
while也是有三部分的,初始化、判断、调整。
这里的空格是因为,随着循环结构的复杂程度,代码将会使循环初始化、判断条件、调整等分离,比较难找和三个表达式放一起进行对比。for的优点就体现出来了。
3.2for循环中的break和continue
先从简单的说起,for 循环中的break和while一样,直接跳出循环。接下来我们画图来理解一些for循环中continue的作用吧。
和while不同的是,for循环执行到continue是来到调整部分,而不是判断部分。其实这原理也很简单。while的调整部分是在循环体里面的,并且一般调整部分都是放在最后的,那也是在循环里面呀~,所以continue跳过循环后面的部分,自然而然就跳过了调整部分。而我们看for,就理解成,调整部分不在循环内部就可以了。
3.3for循环的注意事项
1.不要轻易在循环体里面改变循环变量
知识点:for循环的条件是可以省略的,如下:
但这也是一个注意事项,那就是初学者不要省略。
2.在未使用熟悉for之前不要省略条件
未省略:
没有省略的情况下,这个代码是打印100个hehe的。i = 1初始化,进入循环,关于j的for循环开始执行,j从1到10,打印了十次haha;然后来到i的for循环调整部分,将i加加变成2并重新进入循环,这个时候,j的for循环是一个重新的开始。j重新被初始化为1,然后j从1到10,又打印了10个haha。也就是 10*10=100;我们来看一下自信省略的情况:
省略:
这次只打印了十次haha,仅仅是因为省略了一个j的初始化部分!
3.4使用多个循环变量控制for循环
表达式1:a<2 表达式2:b<5
&&的表达式中,只有遇到了一个表达式的结果是假,整个表达式的结果一定是假。
++a使a先变成了2,不符合判断条件a<2,所以就跳出循环了。打印两个hehe。
小练习:
打印0次;
4.do while循环
i--(减减),i自减1,使得i离while判断条件越来越近了~
4.1do while循环的结构
相信读者看完注释能理解并记住,哈哈。
4.2do while中的break和continue
break也是一样的。说实话continue和while也一样,它们两个和for有一点小出入而已。大家自行阅读,博主在下方总结了~
关键字 | while | for | do while | switch |
break | 直接跳出循环 | 直接跳出循环 | 直接跳出循环 | 直接跳出选择 |
continue | 回到判断部分 | 回到调整部分 | 回到判断部分 | 无此项 |
好啦!循环的知识到这也就落幕了,感谢大家的收看,咱们下篇见。
-----------------------------------------------------------------------
结语:希望读者读完有所收获!在学C的路上,祝福我们能越来越C!✔
读者对本文不理解的地方,或是发现文章在内容上有误等,请在下方评论区留言告诉博主哟~,也可以对博主提出一些文章改进的建议,感激不尽!最后的最后!
❤求点赞,求关注,你的点赞是我更新的动力,一起努力进步吧。