while语句(内有实操)

Posted hanwangyyds

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while语句(内有实操)相关的知识,希望对你有一定的参考价值。

循环语句分为三种:

  • while循环
  • for循环
  • do while循环



while循环

while语句(内有实操)_while循环

若条件为真,就会一直死循环。-------------若if语句,条件为真,只执行一次(区别)

当条件为假时,才会跳出循环。

若while循环只包含一个语句,不需要大括号;当执行语句大于等于两条时,需要用大括号执行!

TIP:当你想要在循环语句中停止时,也用break,


总结:break在while循环中的作用(与for循环相同

while语句(内有实操)_输入缓冲区_02


continue的作用:终止循环中本次循环continue后面的代码,后面的代码不再执行,直接跳转到判断部分,看是否需要再次执行

while语句(内有实操)_while循环_03

continue实例:

while语句(内有实操)_单引号_04

--------------------打印结果:1 2 3 4

while语句(内有实操)_输入缓冲区_05

——————————打印结果:1 2 3 4 6 7 8 9 10

continue应用:若在1-10中不想打印5,可以用continue把5跳过去!



实操:输入并确认密码

while语句(内有实操)_输入缓冲区_06

while语句(内有实操)_单引号_07

与理想中效果相差甚远,WHY?

原因:因为在输入函数printf&scanf中,他们的工作原理是有接受数据的输入缓冲区。

在输入密码结束时,我们敲了回车键,此时回车键就相当与\\n,此时输入缓冲区内有123456/n,而scanf把他想要的123456拿走后,输入缓冲区内就剩一个/n,正好被getchar拿到,因为不是Y,所以else打印放弃确认。

解决方法:

while语句(内有实操)_while循环_08

加一个getchar,把缓冲区内部的/n读取到,使缓冲区内空白即可。

TIP:为何需要ret定义,因为后面令变量等于Y,而函数不是变量,没有此功能。

注意:在输入字符时,需要添加         单引号!单引号!单引号!

进阶版:

while语句(内有实操)_输入缓冲区_09

利用while循环,把输入缓冲区的内容全部读完。分号的意思是它是空语句,即不需要在循环里干什么事情,只要在循环变量里面不断的判断。


以上是关于while语句(内有实操)的主要内容,如果未能解决你的问题,请参考以下文章

理论+实操:shell之case语句for/while/until循环语句函数数组-满满的干货

搜索页面功能的while循环内的Continue语句

篇一:部署Kubesphere

不知道MySQL锁没关系,图解+实操,一文带你了解清清楚楚

Java循环语句之while

Linux实操篇—— Shell 编程入门变量运算符条件判断流程控制