《C语言循环结构练习题.pdf》由会员分享,可在线阅读,更多相关《C语言循环结构练习题.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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 循环的正确描述是 。A.for 循环只能用于循环次数已经确定的情况 B.for 循环是先执行循环体语句,后判定表达式 C.在
2、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
3、 的循环控制条件严格 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.
4、while(a)B.while(c)if(!b)c;if(!b)break;c;C.while(c)D.while(a)if(b)c;if(b)break;c;(8)以下程序的输出结果是_。#include main()int i;for(i=4;i=10;i+)if(i%3=0)continue;printf(%d,i);A.45 B.457810 C.69 D.678910 (9)以下程序的输出结果是_。#include main()int num=0;while(num=2)num+;printf(%dn,num);A.1 B.1 C.1 D.1 2 2 2 3 3 4 2.填空题(1)
5、以下程序的运行结果是_。#include 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;printf(s=%dn,s);(2)以下程序的运行结果是 。#include main()int i=1,s=3;do s+=i+;if(s%7=0)continue;else +i;while(s15);printf(%dn,i);(3)以下程序的运行结果是_。#include main()int i,j;f
6、or(i=4;i=1;i-)printf(*);for(j=1;j=4-i;j+)printf(*);printf(n);(4)以下程序的运行结果是_。#include main()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,i);printf(n);(5)以下程序的运行结果是_。#include main()int i,j,k;for(i=1;i=6;i+)for(j=1;j=20-3*i;j+)printf();for(k=1;k0;k-)printf(%3d,k);prin
7、tf(n);(6)以下程序的运行结果是_。#include main()int i,j,k;for(i=1;i=4;i+)for(j=1;j=20-3*i;j+)printf();for(k=1;k0;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)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。