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循环的正确描述是 。
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循环的主要区别是 。 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%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) C. while (c)
B. while (c)
{ if (!b) break; c; }
{ if (!b) c; } { if (b) c; }
D. while (a)
{ if (b) break; c; }
〔8〕以下程序的输出结果是____。
页脚下载后可删除,如有侵权请告知删除!
#include int i; for (i=4;i<=10;i++) { if (i%3==0) continue; printf(\"%d\ } } A. 45 B. 457810 C. 69 〔9〕以下程序的输出结果是____。 #include int num=0; while (num<=2) { num++; printf(\"%d\\n\ } } A. 1 B. 1 C. 1 2 2 3 2. 填空题 〔1〕以下程序的运行结果是____。 #include 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; 页脚下载后可删除,如有侵权请告知删除!D. 678910 D. 1 2 3 4 case 0: case 5: s+=2; break; } } printf(\"s=%d\\n\} 〔2〕以下程序的运行结果是 。 #include 〔3〕以下程序的运行结果是____。 #include int i,j; for (i=4;i>=1;i--) { printf(\"*\"); for (j=1;j<=4-i;j++) printf(\"*\"); printf(\"\\n\"); } } 〔4〕以下程序的运行结果是____。 #include int i,j,k; for (i=1;i<=6;i++) { for (j=1;j<=20-2*i;j++) printf(\" \"); 页脚下载后可删除,如有侵权请告知删除! for (k=1;k<=i;k++) printf(\"%4d\ printf(\"\\n\"); } } 〔5〕以下程序的运行结果是____。 #include int i,j,k; for (i=1;i<=6;i++) { for (j=1;j<=20-3*i;j++) printf(\" \"); for (k=1;k<=i;k++) printf(\"%3d\ for (k=i-1;k>0;k--) printf(\"%3d\ printf(\"\\n\"); } } 〔6〕以下程序的运行结果是____。 #include int i,j,k; for (i=1;i<=4;i++) { for (j=1;j<=20-3*i;j++) printf(\" \"); for (k=1;k<=2*i-1;k++) printf(\"%3s\ 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〕编写一个程序,求111111之值。 23499100〔2〕编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。 〔3〕编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠 倒后的结果。 〔4〕编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。 〔5〕编写一个程序,求出满足以下条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。 〔6〕编写一个程序,求e的值。 e1111 1!2!n!〔7〕编写一个程序,求满足如下条件的最大的n: 122232n21000 〔8〕某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一 只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。 【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】 页脚下载后可删除,如有侵权请告知删除! 因篇幅问题不能全部显示,请点此查看更多更全内容