![](https://csdnimg.cn/release/download_crawler_static/87710067/bg5.jpg)
第五章 循环结构
一、程序分析题
5-1.变量 j 的初始为 10,循环变量 i 的初始值为 1,根据循环条件( i <=5 )及循环变量修改
表达式 可知 i 的合法取值为 1 、2、 4、 则循环过程如下
( ++i ) 3、 5,
循环次数 循环条件 程序输出 后继操作
i j
1
2
3
4
5
6
1
2
3
4
5
6
10
8
6
4
2
0
V
V
V
V
V
1 10
2 8
3 6
4 4
j -=2; ++i;
j -=2; ++i;
j -=2; ++i;
j -=2; ++i;
j -=2; ++i;5 2
,退出循环
如果循环变量 i 的初始值为 0,则由循环条件可知, i 的合法取值为 0、1、2、3、4、 5, for 循环的
循环体将执行 6 次,输出的 j 值为 10、8、 6、4、2、0。
5- 2.当 n 值为 8 时,程序段输出为: Sum of positive odd number less than 8 is 16. 循环过程如
下:
sum
0
1
4
odd
1
3
5
7
8
循环条件 odd<8
9
16
V
V
V
V
,退出循环
后继操作
sum
sum +odd; odd += 2;
=
sum
sum +odd; odd += 2;
=
sum
sum +odd; odd += 2;
=
sum
sum +odd; odd += 2;
=
5-3.下面的 while 循环在输入 5 时输出什么?输入 6 和 7 呢?对任何数字 n,这个循环结果 是什么?
程序运行输入 5 时,变量 x 值为 5,跟踪 while 循环的执行:
product count
5
0
25
1
125
2
625 3
循环条件 count<4
V
V
V
V
循环体
printf("%d\n",product );/*
输出
5 */
product *= x; count +=1;
printf("%d\n",product );/*
输出
25 */
product *= x; count +=1;
printf("%d\n",product );/*
输出
125 */
product *= x; count +=1;
printf("%d\n",product );/*
输出
625 */
product *= x; count +=1;
3125 4
若输入 6,则输出:
6
36
216
退出循环
若输入 则输
7, 出:
7
49
343
5-
1296 2401
1
n
3
n
4
对任何数字 n ,该循环将输出
n 、
n
2
、
、 。
4.当输入的 i 值为 1 时,
55;2)中 do-while 循环
1)while 循环的循环变量 i 将从 1 以步长为 1 递增到 11,合法 取值为 1~10, while 循环将对 1~10
共 10 个整数求和,输出结果为