C语言程序设计习题集第4章循环结构答案_第1页
C语言程序设计习题集第4章循环结构答案_第2页
C语言程序设计习题集第4章循环结构答案_第3页
C语言程序设计习题集第4章循环结构答案_第4页
C语言程序设计习题集第4章循环结构答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章 循环结构一、 选择题1、有以下程序段int k=0;while(k=1)k+;while 循环执行的次数是 ( A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行 1 次2、 t为int类型,进入下面的循环之前,t的值为0 while( t=1) 则以下叙述中正确的是 ( B)A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对(B )3、在 C 程序中,与 while(m) 中表达式 m 完全等价的是A) m=0 B) m!=0 C) m=1 D) m!=1 4、有以下程序,程序运行后的输出结果是 (C )。 mai

2、n()int i=1,sum=0;while(i=4)sum=sum+i;i=i+1;printf(“%n”d ,sum);A) 4B)5C)10D)死循环5、有以下程序,程序运行后的输出结果是 (D )。main() int i=1,sum=0;while(i6)n- ;printf(“%d”,n);该程序段的输出结果是 (B)A) 987B) 876 C) 8765D) 98767、以下程序的输出结果是 main() int num= 0; while(num1.0)x=y;y=z; z=x/y; elsebreak;printf(“n%”f ,y);A)1.500000 B)1.6000

3、00 9、执行以下程序段时x=-1;do x=x*x; while(! x);则下面描述正确的是 (A )A) 循环体将执行一次C) 循环体将执行无限次10 、有以下程序段其输出结果是 int x=3;do printf(%d,x-=2); while (!(-x);A) 1 B) 30 C) 1- 2 D)1 1 、有如下程序 main() int x=23;C)1D) l23.6 2.4,则输出的结果是C)2.000000D)2.400000B) 循环体将执行两次D) 系统将提示有语法错误(C )死循环do( B)。printf( “ %d”,x);x-; while(!x); 该程序的执

4、行结果是 (B )A) 321B) 23 C) 不输出任何内容 D) 陷入死循环12 、有以下程序段int n=0,p;doscanf( “ %d” ,&p);n+;while(p!=12345 &n3); 此处 do while 循环的结束条件是 ( D) A) P 的值不等于 12345 并且 n 的值小于 3B) P 的值等于 12345 并且 n 的值大于等于 3C) P 的值不等于 12345 或者 n 的值小于 3 D) P 的值等于 12345 或者 n 的值大于等于 3 13 、以下不构成无限循环的语句或语句组是 (A) A) n=0;do +n;while(n0);B) n=

5、0;while(1)n+;C) n=10;while(n);n-;D) for(n=0,i=1; ;i+)n+=i;14、若 i 为整型变量,则以下循环执行的次数是 (B) for(i=2 ; i= =0 ; ) printf( “ %-d-”); ,iA) 无限次 B)0 次 C)1 次 D)2 次15 、执行语句 for(i=1;i+0 ; y-) if(y%3=0 )printf(%d , -y) ; 程序的运行结果是 (C) A) 741B)963 C)852 D)87542117 、以下程序执行后 sum 的值是 ( C)A)15 B)14 C) 不确定 D)0 main() int

6、 i , sum;for(i=1;i6;i+) sum+=i; printf( “ n%”d ,sum);18 、有如下程序main() int i,sum=0; for(i=1;i0;i-);i-; 后,变量 i 的值是 (C ) A)0 B)10 C)-1 D)120 、执行下面程序片段的结果是 (A )。int x;for(x=3;x6;x+)printf(x%2) ?( “*%d”):( ”#n#”%d),x);A)*3#4 B)#3*5 *4#5C)#3*4*5D) *3#4#521 、有以下程序,执行后输出的结果是 (A )。 main() int i;for(i=0;i3;i+)

7、 switch(i) case 1: printf(%d,i); case 2: printf(%d,i); default: printf(%d,i);A) 011122 B) 012 C) 012020 D) 12022 、有以下程序,程序运行后的输出结果是(C )。main() int k=4,n=0;for( ; nk ; ) n+;if(n%3!=0) continue;k-;printf(%d,%dn,k,n);A)1,1 B)2,2 C)3,3 D)4,423 、设变量已正确定义,则以下能正确计算 f = n! 的程序段是 (D ) A) f=0 ;for(i=1;i=n;i+)

8、 f*=i;B) f=1;for(i=1;i1;i+) f*=i;D) f=1;for(i=n;i=2;i-) f*=i;24 、执行下面程序片段的结果是 (B )。 main()int a,b;for(a=1,b=1;a=20) break;if(b%3= =1)b+=3;continue;b-=5;printf( “ %n”d ,a);A)7 B)8 C)9 D)1025 、以下程序的输出结果是 ( B )。 main() int i=0,a=0;while(i20) for(;) if(i%10)=0) break;else i-;i+=11; a+=i;printf(%dn,a);A)

9、 21B) 32C) 33D) 1126 、以下程序的输出结果是 (A ) main() int i,j,x=0;for(i=1;i2;i+) x+;for(j=0;j=1;i-)for(j=1;j2);printf(“ ” ,j);2、设有以下程序:main ()int n1, n2;scanf( “ d,&n2);while( n2!=0)n仁n 2%10;n2=n2/10;printf(“ d ,n 1);8921程序运行后,如果从键盘上输入1298 ;则输出结果为3、 以下程序的输岀结果是5。main ()int s,i;for(s=0,i=1;i0;i-)printf(” %d ”

10、i);printf(” %c” i);5、阅读下面程序,程序的结果是 14,4。mai n() int i,j,m=0;for(i=2;i=10;i+=4) for(j=3;j=4;j+)m+;i+;printf(%d , %d,i,m);6、阅读下面程序,程序的结果是 1978。main ()int j,a=2 ,n=4;long s=O,t=O;for(j=0;j n;j+)t=t*1O+a;s=t;for(j=1;j n_1;j+)t=t/10;s=s-t;printf( ” %d ,s);7、 以下程序运行后的输出结果是0918273645main ()char c1,c2;for(c

11、仁0,c2=9;c1c2;c1+,c2-)prin tf(%c%c,c1,c2);prin tf(n);8、 以下程序的输出结果是_5_。main ()int s,i;for(s=0,i=1;i3;i+,s+=i);prin tf(%dn,s);9、 执行以下程序后,输出#号的个数是 6。main () int i,j;for(i=1; i5; i+)for(j=2; j=i; j+) putchar(#);10、 以下程序的输出结果是x=4main () int i,j,x=0;for(i=1;i2;i+) x+;for(j=0;j=3;j+ ) if(j%2) con ti nue;x+;

12、x+;printf( “ x=%dn”,x);三、程序填空题1、以下程序的功能是计算:m=1-2+3- 4+9-10 ,并输出结果。请填空。mai n() int m=0,f=1,i, n;scanf( “ %d,&n);for(i=1; i=n; i+) m+=i*f;f= -f ;printf(“m=%d ,m)2、 以下程序的功能是计算s=1+1/2 ! +1/3 !+1/4 ! +1/n!,请填空。mai n()double s=0.0,fac=1.0; int i;int n;scanf( “ %d,&n);for(i=1,i=n ;i+) fac=fac *1.0/i;s=s+fa

13、c;printf( “ s=%lf ” ,s);3、 以下程序的功能是计算:s=1+12+123+1234+12345。请填空。main () int t=0,s=0,i;for( i=1; i=5; i+) t=i+ t*10; s=s+t; prin tf(s=%dn,s);4、 要使以下程序段输出10个整数,请填入一个整数。for(i=0;i=18 ;pri ntf(%”,i+=2);5、 以下函数的功能是:求x的y次方,请填空。double fun( double x, int y) int i;double z;for(i=1, z=x; iy;i+) z=z* y ;return

14、z;6、 以下程序的功能是根据以下近似公式求n值:(n * n )/6=1+1/(2*2)+1/(3*3)+.+1/(n*n)现在请你在下面的函数中填空,完成求 n的功能。mai n()double s=0.0; long i,n;scanf( “ ld”,&n);for(i=1;i=n;i+) s=s+1.0/(i*i) ;printf( “ %lf ” ,sqrt(6*s);7、 以下用来输出两整数M和N之间的所有素数(质数),请填空,使程序能正确运行。#defi ne M 4#defi ne N 30main ()int i, j, k, s=0;for(i=M; i= N ; i+)

15、for(j=2; j=i) prin tf(%5d, i);s=s+1;if( s%5=0 ) pri ntf(n);prin tf(n);8、以下程序实现:从键盘输入一位整数,计算其各位数字之和。比如输入整数31421,则打印结果为11。请填空。mai n()int i,sum=O,a;scan f(%d,&i);while(i0)a= i%10;sum+=a;i= i/10;prin tf(%dn,sum);9、 以下程序实现:计算110之间(不含10)的奇数之和以及偶数之和main ()int a,b,i;a=b=O;for(i=0;i10;i+=2)a= a+i :b= b+i+1:printf(偶数为:%d,奇数和为:%dn,a,b);10、 以下程序的功能是:输出100以内(不含100 )能被3整除且个位数为6的所有整数, 请填空。main ()int i,j;for(i=0; i10;i+) j=i*10+6;if( j%3=0) con ti nue;printf( “ %d ” ,j);四、编程题m,输出1至U m(含m)能被7或11m为50,则程序输出7、11、14

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论