1、模块三 循环程序设计习题及答案一、填空题1、当在数据处理中要重复执行相同的操作时,宜采用 程序结构来实现。2、循环的3要素是 、 、 。3、在循环语句体中包含另一个循环语句的用法称为 。4、执行循环语句体中的break语句后将使用包含它的循环语句 。5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行 语句。6、在for语句中表达式允许省略,但 不能少,语句for( ; ;) ;构成的是 循环。7、在for语句中,省略表达式2时,则循环为 循环。8、执行语句for(i=1;i+=0) k-1; A、无限循环 B、6次 C、5次 D、4次2、与while( ! n) ; 中表达式!d
2、n等价的是( )。 A、dn=0 B 、dn!=0 C、dn = 0 D、dn != 13、以下程序段,while循环执行的次数是( ) int k=0; while( k = 1) k+; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次4、在C语言中,当do while语句中的条件为( )时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是( ) do b-=a; a+; while(b-0);A、10,-1 B、2,8 C、9,0 D、4,-36、以下描述正确的是( ) 、由于do while循环中循环体语句只能是一条可执行语句,所以循环
3、体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b=c;b+) s=s+1;则与上述程序段功能等价的赋值语句是( ) A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c;8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(
4、d=a,b=1;b+y;x=i+) i=x; B、for( ; ;x+) C、while(1) x+; D、for(i=10; ;i-) sum+=i; 三、程序填空题 1、等比数列的第一项a=1,公比q=2,下列程序是求满足前n项和小于100的最大n。 main() int a,q,n,sum=0; a=1;q=2;n=0; do ; n+; a*=q; while( ); ; printf(“%dn”,n); 2、计算1-3+5-7+-99+101的值。 #includestdio.hmain() int i;t=1,s=0; for(i=1;i=101;i+=2) ; ; printf(
5、1-3+5+.-99+101=%d,y); 3、输出100以内个位数为6且能被3整除的数。 #includestdio.hmain() int i,j; for(i=0; ;i+) j=i*10+6; if( ) printf(%d , ); 四、程序运行结果1、#includestdio.hmain() int a,b; for(a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; printf(%dn,a);程序运行结果: 2、#includestdio.h main() int i; for(i=1;i=5;i+) switch(i%5
6、) case 0:printf(*);break; case 1:printf(#);break; case 2:printf(&);break; default:printf(n); 程序运行结果: 3、#includestdio.h main() int i,x; for(i=1,x=1;i=10) break; if(x%2=1) x+=5; continue; x=3; printf(x=%d,i=%d,x,i); 程序运行结果: 4、#includestdio.hmain()int i , j ;for(i=4;i=1;i-) printf(*); for(j=1;j=4-i;j+)
7、 printf(*); printf(n); 程序运行结果: 五、编程题1、 用C语言编程实现任意输入一个十进制数,将其转换为二进制数并输出。 2、输入n的值,编程计算并输出 s(n)=1*1+2*2+3*3+n*n模块三 循环程序设计答案一、填空题1. 循环2. 循环条件 循环体 循环控制变量3. 循环嵌套(嵌套循环)4. 提前结束包含它的循环语句的执行5. continue6. 分号 无限7. 无限8. 59. continue10. 循环体11. 循环变量赋初值 循环测试条件二、填空题1. A2. C3. C4. A5. B6. C7. C8. D9. D10. A三、程序填空题1. s
8、um+=a sum100 n- -2. s+i*t t=-t3. i10 j%3=0 j四、程序阅读1. 82. $&*3. x=3,i=514. * * * *五、编写程序1. #includestdio.hmain()int s,t=1; long e=0; printf(请输入一个十进制数:n);scanf(%d,&s);while(s!=0)e=e+(s%2)*t;s=s/2;t=t*10;printf(该数的二进制数为%dn,e);2.#includestdio.hmain()int i,n,s=0;printf(请输入n的值:n);scanf(%d,&n); for(i=1;i=n;i+) s+=i*i; printf(%d,s); (注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)