C语言学习记录2022.5.19初识for语句

1、getchar()是用来获取字符的,值得注意的是,这里的获取字符是一个一个获取的,比如我想获取ABC,这时getchar()是先获取A再接着B最后是C。在使用getchar()时其获取的是在数据缓冲区里的值,只要数据缓冲区内还有值,那么getchar()就会首先获取缓冲区内的值,这会给我们实际实现功能带来麻烦,因为我们在输入字符时会在键盘上敲入一个回车键使其执行程序,而这个回车键“\n”在输出的时候不参与输出,被保存在了数据缓冲区,这是如果使用getchar()的话就会获取这个“\n”转义字符从而造成误判。因此,我们在使用getchar()时可考虑使用以下的方式来避免出现这样的情况(图片来自比特科技):

这样的话如果把getchar()放在while循环中判断是否为回车“\n”,如果不是则执行空语句,直到执行到为“\n”时才跳出循环,而这时就解决了之前那个问题。

2、for循环的程序流程图(图片来自比特科技):

要注意for是当循环体内的表达式stmt执行结束时才执行表达式expr3。(个人认为图中的expr1所在的框应该画为矩形框)

3、关于for循环的建议:

在for(表达式1; 表达式2; 表达式3)中的表达式2建议写成左闭右开的形式,即:

这样写的话表达式2的“i<10”可以指明我们一共循环了10次,因为0到10而第10次不执行, 实际上是执行0到9次循环,0、1、2、3、4、5、6、7、8、9这样一共有十次。

4、for循环的变式:

(1)语句for(; ; )的意思是三个表达式为空,而当表达式2为空时意思是“恒为真”,那么这个循环就会一直进行下去。

(2)关于下图中这道题循环几次的问题

答案是循环0次,因为在表达式2中的符号为“=”,是赋值符号,将0赋值给了k,那么此时判断为0,不进入循环体,所以循环0次。

5、for循环后跟着的循环体如果只有一条语句的话那么大括号“{}”也可以省略。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值