循环结构程序设计练习题 内含答案.doc_第1页
循环结构程序设计练习题 内含答案.doc_第2页
循环结构程序设计练习题 内含答案.doc_第3页
循环结构程序设计练习题 内含答案.doc_第4页
循环结构程序设计练习题 内含答案.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

.第三单元 循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(%dn,s); A自然数19的累加和 B自然数110的累加和C自然数19中的奇数之和 D自然数110中的偶数之和2、以下关于for语句的说法不正确的是( A )。A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k+) printf(*n);下面关于语句执行情况的叙述中正确的是( d )。A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环4、 以下程序程序的执行后的输出结果是( c )。main()int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+) printf(“%d”,t2-ii); A.7 5 3 B. 3 5 7 C.3 6 9 D.7 5 15、以下程序运行后的输出结果是( A )。void fun(char*s) while(*s) if(*s%2=0) printf(“%c”,*s); s+;main() char a=“good”;fun(a);printf(“n”);注意:字母a的ASC码值为97A.d B.go C.god D.good6、已知 intt=0; while(t=1). 则以下叙述正确的是( B )。 A)循环控制表达式的值为0B)循环控制表达式的值为1 C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0; while(!x!=0)s+=+x; printf(%d,s); 则 A)运行程序段后输出0B)运行程序段后输出1 C)程序段中的控制表达式是非法的D)程序段执行无限次8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( C )。 for(i=0,j=10;i=j;i+,j-)k=i+j;A.6 B.9 C.10 D.119、C语言中,break; 语句可以用于循环语句和( B )语句中。A.if B.switch C.for D.while10、for(i=0; i=15; i+) printf(%d, i ); 循环结束后,i 的值为( C )。A.14 B.15 C.16 D.1711.有以下程序 ( B )main() char b,c; int i; b=a; c=A;for(i=0;i6;i+) if(i%2) putchar(i+b);else putchar(i+c); printf(n);程序运行后的输出结果是()A. ABCDEF B. AbCdEf C. aBcDeF D. abcdef12、与语句“while(!x)”等价的语句是( A )。A. while(x=0) B. while(x!=0) C. while(x=1) D. while(x!=1)13、下述程序段中,while循环执行次数是( A )。 (分情况这题有问题); int k=0;while(k=1) k+A.无限次 B. 有语法错误,不能执行C.一次也不执行 D. 执行一次14、以下程序中,while循环的次数是( b )。#include void main( )int i=0;while(i10) if(i1) continue; if(i= =5)break; i+;A. 1 B. 死循环,不能确定次数 C. 6 D. 1015.下面程序段int k=2;while (k=0) printf(“%d”,k);k-;则下面描述中正确的是 。A)while循环执行10次 B)循环是无限循环C)循环题语句一次也不执行 D)循环体语句执行一次16.以下程序段的循环次数是 B 。for (i=2; i=0; ) printf(“%d” , i-) ;A)无限次 B)0次 C)1次 D)2次17.下面程序的输出结果是 B 。main ( ) char c=A;int k=0;do switch (c+) case A : k+ ; break ;case B : k- ;case C : k+=2 ; break ;case D : k%=2 ; continue ;case E : k*=10 ; break ;default : k/=3 ;k+; while (c0; x-) if (x%3=0) printf(“%d”,-x);continue ; A)741 B)852 C)963 D)87542120. int i=100;以下不是死循环的程序段是 。 AA)while (1) i=i%100+1 ;if (i100) break ; B)for ( ; ; ) ;C) int k=0; do +k; while (k=0); D)int s=36;while(s) ;-s ;21.下述程序段的运行结果是 C 。int a=1,b=2, c=3, t=4;while (ab=A & c=a & c=z) n+; A)c=getchar( ) B)getchar( ) C)c=getchar( ) D)scanf(“%c”,&c)23.下述语句执行后,变量k的值是 。 A while (k+10) int k=1;A)10 B)11 C)9 D)无限循环,值不定24.下面程序的输出结果是 。 -B- (太麻烦不做了 哎,还是作罢!)main ( ) int k=0,m=0,i,j;for (i=0; i2; i+) for (j=0; j3; j+)k+ ;k-=j ;m = i+j ;printf(“k=%d,m=%d”,k,m) ;A)k=0,m=3 B)k=0,m=5 C)k=1,m=3 D)k=1,m=525.下面for循环语句 。 B int i,k;for (i=0, k=-1; k=1; i+, k+)printf(“*”);A)判断循环结束的条件非法 B)是无限循环C)只循环一次 D)一次也不循环26.语句while (!E); 括号中的表达式!E等价于 A 。A)E=0 B)E!=1 C)E!=0 D)E=127.以下是死循环的程序段是 。 AA) for (i=1; ; ) if (i+%2=0) continue ;if (i+%3=0) break ;B) i=32767; do if (i0) break ; while (+i) ;C) for (i=1 ; ;) if (+I10) continue ;D. i=1 ; while (i-);28.执行语句for (i=1;i+4;) ; 后变量i的值是 B 。A)3 B)4 C)5 D)不定29.以下程序段 。 Ax=-1;do x=x*x; while (!x);A)是死循环 B)循环执行2次 C)循环执行1次 D)有语法错误30.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。 C main ( ) int a,max=0;scanf(“%d”,&a);while (【 】) if (max+y;x=i+) i=x ;B)for ( ; ; x+=i ) ;C)while (1) x+ ; D)for (i=10 ; ; i-) sum+=i ;32.下面程序段的运行结果是 。(自己算算吧不难!)x=y=0;while (x15) y+,x+=+y ;printf(“%d,%d”,y,x);A)20,7 B)6,12 C)20,8 D)8,2033.以下for循环的执行次数是 C 。for (x=0,y=0; (y=123) & (x4) ; x+) ;A)无限循环 B)循环次数不定 C)4次 D)3次34.若运行以下程序时,输入2473,则程序的运行结果是 。 A main ( ) int c;while (c=getchar( ) ! =n)switch (c-2) case 0 :case 1 : putchar (c+4) ;case 2 : putchar (c+4) ; break ;case 3 : putchar (c+3) ;default : putchar (c+2) ; break ;printf(“n”);A)668977 B)668966 C)66778777 D)6688766读程题:1.以下程序的输出结果是 357 。main( ) int i,x33=1,2,3,4,5,6,7,8,9; for(i=0; i3; i+) printf(%d ,xi2-i);2.以下程序的输出结果是 0 。main()int n2,i,j;for(i=0;i2;i+)ni=0;for(i=0;i2;i+)for(j=0;j2;j+)nj=ni1;printf(”dn”,n1);3.以下程序的输出结果是 3 5 7 。main() int i, a6=2,3,4,5,6,7; for(i=1; i6; i+=2) printf(%d , ai);4.以下程序的输出结果是 7 8 0 04 5 62 0 。main() int i, j, a34=0,1,2,3,4,5,6,7,8;for(i=0;i3;i+) for(j=i;j=0&si=9) n+;printf(%dn,n); )6.写出下面程序运行的结果。 20 70 main ( ) int x,i ;for (i=1 ; i=100 ; i+) x=i;if (+x%2=0)if (+x%3=0)if(+x%7=0)printf(“%d ”,x) ; 7.写出下面程序运行的结果。 -3 -1-main ( ) int i,b,k=0 ;for (i=1; i=5 ; i+) b=i%2; while (b-) k+ ; printf(“%d,%d”,k,b);8.写出下面程序运行的结果。 -1-main ( ) int a,b;for (a=1,b=1 ; a=20) break;if (b%3=1) b+=3 ; continue ; b-=5;printf(“%dn”,a);9.写出下面程序运行的结果。 _36_main ( ) int k=1,n=263 ;do k*= n%10 ; n/=10 ; while (n) ;printf(“%dn”,k);10.写出下面程序运行的结果。 - 31-1-main ( ) int i=5 ;do switch (i%2) case 4 : i- ; break ;case 6 : i- ; continue ;i- ; i- ;printf(“%d”,i);while (i0) ;11.写出下面程序运行的结果。-3,1,-1,3,1,-1,-main ( ) int i,j;for (i=0;i=0; j-) if (j+i)%2) j- ;printf(“%d,”,j);continue ; -i ; j- ;printf(“%d,”,j) ; 12.写出下面程序运行的结果。 -a=16 y=60-main ( ) int a=10,y=0 ;do a+=2 ; y+=a ;if (y50) break ; while (a=14) ;printf(“a=%d y=%dn”,a,y) ;13.写出下面程序运行的结果。 -i=6,k=4-main ( ) int i,j,k=19;while (i=k-1) k-=3 ;if (k%5=0) i+ ; continue ; else if (k5) break ; i+;printf(“i=%d,k=%dn”,i,k);14.写出下面程序运行的结果。 -1,-2-main ( ) int y=2,a=1;while (y-!=-1)do a*=y ;a+ ; while (y-) ;printf(“%d,%dn”,a,y);15.写出下面程序运行的结果。 -2,3-main ( ) int i,k=0;for (i=1; ; i+) k+ ;while (ki*i) k+ ; if (k%3=0) goto loop ;loop:printf(“%d,%dn”,i,k);编程题:1.输入两个正整数m和n,求其最大公约数和最小公倍数。2.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。3.求 (即求1!+2!+3!+19!+20!)。4.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。5.编写程序,求s=1+2+3+n,直到累加和大于或等于5000为止,输出s及n的值。6.编写程序输出如下图形。 * * * * * (1)#include stdio.hmain() int a,b,num1,num2,temp; printf(please input two numbers:n); scanf(%d,%d,&num1,&num2); if(num1num2)/*交换两个数,使大数放在num1上*/ temp=num1; num1=num2; num2=temp; a=num1; b=num2; while(b!=0)/*利用辗除法,直到b为0为止*/ temp=a%b; a=b; b=temp; printf(gongyueshu:%dn,a); printf(gongbeishu:%dn,num1*num2/a); (2)#include#include#includeusing namespace std;void main()char c;int letters=0,space=0,digit=0,others=0;coutplease input some characters=a&c=A&c=0

温馨提示

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

评论

0/150

提交评论