《C语言循环结构练习题8》由会员分享,可在线阅读,更多相关《C语言循环结构练习题8(6页珍藏版)》请在金锄头文库上搜索。
1、第5章循环结构程序设计5.1 基本知识点?while语句的使用格式和注意事项?do-while语句的使用格式和注意事项?for语句的使用格式和注意事项?break和continue语句在循环语句中的应用?循环结构的嵌套?使用goto语句实现循环结构?穷举法程序设计方法?迭代程序设计方法5.2 练习题51 .单项选择题(1)语句while(!e);中的条件!e等价于。A. e=0B.e!=1C.e!=0D.e(2)下面有关for循环的正确描述是。A.for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C.在for循环中,不能用break语句跳出循环体D.for
2、循环体语句中,可以包含多条语句,但要用花括号括起来(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的循环体不能是复合语句(
3、5)以下程序段。intx=-1;dox=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)if(!b)c;循环执行二次 有语法错误B. while (c) if (!b) break; c; D. while (a) if (
4、b) break; c; C.while(c)if(b)c;(8)以下程序的输出结果是。#includemain()inti;for(i=4;i=10;i+)if(i%3=0)continue;printf(%d,i);A. 45B. 457810C.69D. 678910(9)以下程序的输出结果是#includemain()intnum=0;while(num=2)num+;printf(%dn,num);A. 1B. 1C. 1D. 12223342.填空题(1)以下程序的运行结果是#includemain()ints=0,k;for(k=7;k=0;k-)switch(k)case1:c
5、ase4:case7:s+;break;case 2:case 3:case6:break;case0:case5:s+=2;break;printf(s=%dn,s);(2)以下程序的运行结果是#includemain()inti=1,s=3;dos+=i+;if(s%7=0)continue;else+i;while(s15);printf(%dn,i);(3)以下程序的运行结果是。#includemain()inti,j;for(i=4;i=1;i-)printf(*);for(j=1;j=4-i;j+)printf(*);printf(n);(4)以下程序的运行结果是。#include
6、main()inti,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)以下程序的运行结果是#includemain()inti,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);printf(n);(6)以下程序的运行结果是#includemain()inti,j,k;for(i=1;i=4;i+)for(j=1;j=20-3*i;j+)printf();for(
7、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)编写一个程序,求1212,之值。23499100(2)编写一个程序,求s=1+(1+2)+(1+2+3)+(1+2+3+n)的值。(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。11!12!(6)编写一个程序,求e的值。1n!(7)编写一个程序,求满足如下条件的最大的n:122232n21000(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。