for语句和嵌套循环

​​​​​​​

你觉得什么时候应该使用 while 语句,什么时候应该使用 for 语句?

答:对于没有预先确定执行次数的循环(比如根据用户的输入内容决定是否进入下一轮循环),应该使用 while 语句;对于指定执行次数的循环,for 语句更加合适。

请问 for 语句是入口条件循环还是出口条件循环。

答:for 语句是入口条件循环,因为循环体开始执行前,会先判断表达式2中的条件是否成立。

请问下边代码总共进行了多少次判断?

……
for (count = 0; count < 10; count++)
{
        printf("FishC!\n");
}
……

答:11 次。版权属于:
mcbE_wtMZ|2O<;,>!0d`x%pLSGf
for 语句首先将 count 赋值为 0 后,进行第一次判断(count 是否小于 10),条件成立,执行循环体的内容;然后 count++(此时 count 的值为 1),进行第二次判断,条件依然成立……直到 count 的值为 9(此时已经进行了 10 次判断);最后 count++,判断 count 是否小于 10(这是最后一次判断),结果为假,退出循环。

请将下边的 for 语句写成 while 语句的表示方式。

for ( ; ; )
    ;

答:for 语句省略三个表达式即表示永远为真的循环,即死循环。

用 while 语句应该这样写:

while (1)
    ;

请将下边的 while 语句写成 for 语句的表示形式

while ((ch = getchar()) != '\n')
{
        printf("%c", ch);
}

答:有没有发现在这种情况下(没有计数的时候),使用 while 语句会更加自然。

for ( ; (ch = getchar()) != '\n'; )
{
        printf("%c", ch);
}

请写一个程序,帮小甲鱼计算 20 公斤内的运费。(顺丰起步价 23 元,每超一公斤加 14 元)

写一个程序,对用户输入的整数进行求和。当用户输入任意字符时,结束程序并打印结果。M dgB]c-sZ
KM^)}9Eh@_4~C+P?wjxHYu
程序实现如下:Powered b
"*}K#fCpHbm]d`>P@RO),Q
 

 写一个程序,对用户输入的整数进行求和。当用户输入任意字符时,结束程序并打印结果。aQSipKHP
72sBS]VDTCY.8;>Z}j{aU+l(
答:因为 scanf 函数()会返回成功接收字符的个数,所以我们只需检查每次调用 scanf 函数的返回值是否为 1 即可。

V^Pd为上一题的数字求和程序写一个 2.0 版本,请实现以下要求:VGx4Q}2
8)u :-,}MGAa*4(dJ"~+k&$K'
A. 用户可以输入整数和浮点数来自:
T#]btx@a%D8s9+VN-~`L,|WS>
B. 用户可以在同一行输入多个数字,数字之间可以是任意一个分隔符(如下图)5=N*JEh?#
a8K~6bG:%;LVpfu2Q)A}-mCET
C. 结果保留两位小数Powered by 
SX]8c9@+:&zn;yQ,hwje|gNOp*
程序实现如下图:Powered by
OU[ancxs$;='YJ7C%r^t5FV8f

​​​​​​​


OU[ancxs$;='YJ7C%r^t5FV8f

……
                do
                {
                        status = scanf("%f", &num);
                        sum = sum + num;
                } while (getchar() != '\n' && status == 1);
……修改后程序的计算结果出错:版权属于:​​​​​​​
bITc=XAn5vV68"OtZHfe!zSEhR~)D


3*!m(wDTL~"$I.O;4bhay`
两个语句顺序一颠倒,结果就出错了!这是为什么呢? 5多循环一次个人看法

Powered by 
OU[ancxs$;='YJ7C%r^t5FV8f
3. 以各种姿势输出完整的九九乘法表。课堂中我们实现的是“左下”三角形的形式打印,现在要求大家分别以“左上”、“右下”和“右上“三角形的形式打印。Look,各种姿势如下 

 <5^S_u`r+
=%u`,E}HMmnKcNp-CU]:kF
左下(这是课堂中演示的):Powered b
gTy+(Zc3]#^8|QCi5s 1,!`
 


{J6jswz0aVBr)fRTlDSyxe"i
左上:

版权属
7v#2WtEwVM_|}s*:aq~{YdN
 


6} Dr9dT7m@-[nHPUw4pVG8c
右下:

Powered 
a9:%1#)&P*f@hC=i>_^onsU;}L
 


e5~a(j=VF]Uz%1yc;YEC4?>JN
右上:

Powered b
PtMDb`+IHXn8e~c^uWUV
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倦504

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值