目录
6. while 循环
7. for 循环
8. do-while 循环
9. break 和 continue 循环
10. 循环的嵌套
11. goto 语句
正文开始——
6. while 循环
C语言提供了三种循环,while 就是其中一种。
while 语句的语法结构与 if 语句非常相似。
6.1 if 和 while 的对比
1 if(表达式)
2 语句;
3
4 while(表达式)
5 语句;// 如果循环体想要更多的语句,可以加上大括号
对比一下,上代码!
while 语句是实现可以循环的效果。
6.2 while 语句的执行流程
【重点】
首先是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语句,语句执行之后再继续判断,是否进行下一次循环。
6.3 while 循环的实践
练习:在屏幕上打印 1~10 的值
6.4 练习
题目:输入一个正的整数,逆序打印这个整数的每一位
例如,输入: 123,输出: 321
解析:对这个原整数取余得到末位;
对原整数 /10 后再取余得到倒数第二位;
循环以上步骤,直至 while 后面的数为0。
7. for 循环
7.1 语法形式
1 for(表达式1;表达式2;表达式3)
2 语句;// 如果循环体想包含更多的语句,可以加上大括号
表达式1 用于循环变量的初始化
表达式2 用于循环结束条件的判断
表达式3 用于循环变量的调整
7.2 for 循环的执行流程
【重点】
执行表达式1初始化循环变量——>执行表达式2的判断部分,表达式2的结果如果是0,则循环结束,非0,则执行循环语句,循环语句结束之后——>执行表达式3,调整循环变量——>再去判断表达式2,看表达式2的结果,决定循环是否继续。
整个循环过程中,表达式1初始化部分只被执行一次,剩下的就是表达式2、循环语句、表达式3在循环。(留意,后面会用)
7.3 for 循环的实践
题目:在屏幕上打印1~10的值
7.4 while 循环和 for 循环的对比
【对比】
for 和 while 在实现循环的过程中都有初始化、判断、调整这三部分,但是 for 循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候 while 循环的三个部分就比较分散,所以从形式上 for 循环要更优一些。
7.5 练习
题目:计算1~100之间3的倍数的数字之和
8. do-while 循环
8.1 语法形式
在循环语句中 do-while 循环使用最少。
1 do
2 语句;
3 while(表达式);
【重点】
while 和 for 这两种循环都是先判断,条件满足再进入循环执行循环语句,如果不满足就跳过出循环;而 do-while 循环则是先直接进入循环体执行循环语句,然后再执行 while 后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。
8.2 do-while 循环的执行流程
【重点】
do-while 循环中先执行 do 后的语句,执行完语句,再去执行判断表达式,判断表达式的结果是!=0,则继续循环,执行循环语句;判断表达式的结果==0,则循环结束。
特殊之处:do-while 语句中循环体至少被执行一次,这是 do-while 循环比较特殊的地方。
8.3 do-while 循环的实例
题目:在屏幕上打印1~10的值
一般 do-while 使用在循环体至少被执行一次的情况下,所以较少一些。
8.4 练习
题目:输入一个正整数,计算这个整数是几位数?
例如,输入:1234,输出:4
这里并非必须使用 do-while 语句,但是这个代码就比较适合使用 do-while 循环,因为 n 即使是0,也是1位数,要统计位数的。
9. break 和 continue 语句
9.1 break 和 continue 举例
9.1.1 break 举例
如结果显示,打印到5就停止了,不再打印,终止循环了。
所以 break 的作用就是永久的终止循环,只要 break 被执行,break 外的第一层循环就终止了。那以后我们在循环中,想在某种情况下终止循环,则可以使用 break 来完成我们想要达到的效果。
9.1.2 continue 举例
continue 是继续的意思,在循环中的作用就是跳过本次循环中 continue 后边的代码,继续进行下一次循环的判断。
上面代码中,把 break 换成 continue 会是什么样的效果呢?
当 i =5 后,就执行 continue ,直接跳过 continue 的代码,去循环的判断的地方,因为跳过了 i++,所以 i 就一直为5,程序进入死循环。
【重点】
continue 是跳过某一次循环 continue 后边的代码,直接到循环的判断部分,进入下一次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成死循环。
9.2 for循环中的 break 和 continue
9.2.1 break 举例
其实和 while 循环中的 break 一样,for 循环中的 break 也是用来终止循环的,不管循环还需要循环多少次,只要执行到了 break ,循环就彻底终止,上代码:
break 的作用是永久的终止循环,未来我们在某个条件发生的时候,不想再继续循环的时候,就可以使用 break 来达到我们想要的效果。
9.2.2 continue 举例
上面的代码我们把 break 换成 continue 会怎样?
在 for 循环中 continue 的作用是跳过本次循环中的 continue 后的代码,直接跳到循环的调整部分。
9.3 do-while循环中的break和continue
10. 循环的嵌套
前面学习了三种循环,for、while、do-while,这三种循环嵌套在一起才能更好地解决问题,也就是循环嵌套。
10.1 练习
找出100~200之间的素数,并打印在屏幕上。
10.2 题目解析
- 首先找出100~200之间的数,使用循环解决。
- 假设要判断 i 是否为素数,就要拿 2~i-1 之间的数字去试除 i,需要产生 2~i-1 之间的数字,也可以使用循环解决。
10.3 参考代码
11. goto 语句
C语言提供了一种非常好的语法,goto 语句可以实现在同一个函数内跳转到设置好的标号处。
例如:
【注意】
goto 语句如果使用不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以我们的建议是能不用尽量不去使用,但是 goto 语句也非一无是处,在多层循环的代码中,如果想快速跳出使用 goto 就非常方便了。
1 for(...)
2 {
3 for(...)
4 {
5 for(...)
6 {
7 if(disaster)
8 goto error;
9 }
10 }
11 }
12
13 error:
14 //
本来 for 循环想提前退出得使用 break,一个 break 只能跳出一层循环,如果三层循环嵌套需要三个 break 才能跳出整个循环,所以在这种情况下我们使用 goto 语句会更加方便快捷。
完——
Whataya Want from Me
Whataya Want from Me_Adam Lambert_高音质在线试听_Whataya Want from Me歌词|歌曲下载_酷狗音乐酷狗音乐为您提供由Adam Lambert演唱的高清音质无损Whataya Want from Memp3在线听,听Whataya Want from Me,只来酷狗音乐!https://t4.kugou.com/song.html?id=4p1eBe7COV2
What do you want to be ?
只要你有百分之十甚至百分之一的念头,那就要用百分之一百二的努力去实现它。
让我们一起携手同行,未来掌握在我们手中,加油!
祝各位端午节快乐!