c++清空输入缓冲区_C语言入门教程(八)while循环和缓冲区

最近这几天上班事情比较多,我会抽时间定时发送出来。希望大家多多支持~~谢谢

先来看下教程七里面的作业

作业

1.编写程序从键盘得到一个1到99之间的数字,把这个数字到100之间所有与7无关的数字都打印在屏幕上

582077ada2db8dd507970789cb822bd4.png

一、while关键字也可以用来编写循环,这种循环可以用来实现无法预知次数的循环。while循环格式如下

while (逻辑表达式) {

反复执行的语句

}

只要逻辑表达式结果为真大括号里的语句就反复不停执行

练习:

1.采用while循环实现猜数游戏

5ee185392cac7f3be52824370eaa22a6.png

while循环的逻辑表达式写成1就成为了死循环

while循环里也可以使用break;和continue;语句

while循环中逻辑表达式的判断和语句的执行是交替进行的,永远先判断逻辑表达式

while循环有可能不会执行任何语句

do...while格式也可以用来实现循环,do...while格式看成while格式的变体

do...while格式里必须在小括号后面加;

do...while循环中逻辑表达式的判断也是和语句的执行交替进行,只不过永远后

判断逻辑表达式

do...while循环中语句至少会执行一次

28d3afd0c75ad30df1db05163da05f77.png

二、在不同速度的设备之间传递数据需要使用缓冲区

scanf函数工作时需要使用一个叫做输入缓冲区的缓冲区

用户在键盘上输入的内容首先进入输入缓冲区,程序从输入缓冲区里获得数字,先进入输入缓冲区的数字必须首先被处理

如果用户输入的格式和程序要求的格式不一致,则会导致从这个数据开始的所有数据都无法处理了

可以使用如下两条语句把输入缓冲区里错误的数据丢弃

scanf("%*[^]"); //把输入缓冲区里第一个换行字符前的所有内容丢弃

scanf("%*c"); //把换行字符丢弃

e9d1d115b6ea0dc1ce9e8009ec92e562.png

printf函数使用了输出缓冲区

输出缓冲区里的内容在如下四种情况下才会显示在屏幕上

1.如果输出缓冲区里有''换行字符则它前面的所有内容显示在屏幕上

2.程序结束后所打印的内容会显示在屏幕上

3.当输出缓冲区被充满的时候里面的内容会显示在屏幕上

4.在程序中使用fflush(stdout);语句可以把输出缓冲区里的内容显示在屏幕上

2a663ae725582733698896c8a3492477.png

好了,今天的内容就到这了。内容不多,如果前面的内容理解了今天的内容就相对好理解一些。消化吸收即可,没有作业~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值