【C语言】day9. while语句

while 语法结构

while(判断式)

{

       循环结构体;

}

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

while结构中的break 与continue:

break 为永久的终止循环;

continue为跳过本次循环continue后面的代码,直接去判断部分看是否进行下次循环。

例题分析:

105行,当i值等于5时,满足条件触发break,跳出循环,所以结果为打印1,2,3,4.

117行,当i等于5时,触发continue,跳过剩下的循环语句,回到判断条件,5<10,继续往下走,然后来到118行,又触发continue回到判断条件,因此结果为打印1,2,3,4以后进入死循环。(注意此时光标的位置,表明程序正在不断运行)

一个比较常见的while句子。

int ch=0;

while((ch=getchar())!=EOF){  putchar(ch);}

EOF: end of file。文件结束标志。

整个句子的作用为输入一个字符,然后输出一个字符。

注意:当你输入一个无法显示的字符时,系统也会接收并同样输出该字符。比如中间输入了空格键,系统也输出了空格键。特殊字符也可以接收与输出。想要退出该打印程序时按Ctrl+z;不然系统会一直要求你打印下去。

ctrl+z--------getchar读取结束

一个关于getchar()函数的实例:

如上图,程序的本义是想让用户输入密码以后,按Y/N来确认是否输入正确,结果用户在输入完密码再按回车以后,系统就判定用户输入的是非Y,直接跳过了用户输入字符的过程。

这是因为用户从键盘输入的数据会先储存在缓冲区,然后程序中的函数按顺序从缓冲区拿走自己能拿走的数据。

此实例中,用户输入了123456与回车键,scanf函数能接收特殊字符前的字符串,然后缓冲区仍然剩下‘\n’回车键,当getchar函数来读取缓冲区时,它并不会期待用户来输入判断字符,而是直接在缓冲区拿走了回车键作为它的数据。

如果想要正确实现程序需求,我们可以在里面加入一个getchar()函数来消耗掉缓冲区的回车键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值