1、第5章 循环结构程序设计 5.1 基本知识点 Ø while语句的使用格式和注意事项 Ø do-while语句的使用格式和注意事项 Ø for语句的使用格式和注意事项 Ø break和continue语句在循环语句中的应用 Ø 循环结构的嵌套 Ø 使用goto语句实现循环结构 Ø 穷举法程序设计方法 Ø 迭代程序设计方法 5.2 练习题5 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是 。
2、 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要
3、区别是 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是____。 A. i=100; while (1) { i=i%
4、100+1; if (i==20) break; } B. for (i=1;;i++) sum=sum+1; C. k=0; do { ++k; } while (k<=0); D. s=3379; while (s++%2+3%2) s++; (7)与以下程序段等价的是____。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } {
5、 if (!b) break; c; }
C. while (c) D. while (a)
{ if (b) c; } { if (b) break; c; }
(8)以下程序的输出结果是____。
#include
6、
(9)以下程序的输出结果是____。
#include 7、h>
main()
{
int s=0,k;
for (k=7;k>=0;k--)
{
switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break;
8、 }
}
printf("s=%d\n",s);
}
(2)以下程序的运行结果是 。
#include 9、)
{
printf("*");
for (j=1;j<=4-i;j++)
printf("*");
printf("\n");
}
}
(4)以下程序的运行结果是____。
#include 10、k++)
printf("%4d",i);
printf("\n");
}
}
(5)以下程序的运行结果是____。
#include 11、i-1;k>0;k--)
printf("%3d",k);
printf("\n");
}
}
(6)以下程序的运行结果是____。
#include 12、 printf("\n");
}
for (i=3;i>0;i--)
{
for (j=1;j<=20-3*i;j++)
printf(" ");
for (k=1;k<=2*i-1;k++)
printf("%3s","*");
printf("\n");
}
}
3. 编程题
(1)编写一个程序,求之值。
(2)编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。
(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。
(6)编写一个程序,求e的值。
(7)编写一个程序,求满足如下条件的最大的n:
(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。






