当前位置:文档之家› 循环结构程序设计练习题内含答案

循环结构程序设计练习题内含答案

第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。

main( ){ int i,s=0; for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}A.自然数 1~9的累加和B.自然数 1~10 的累加和C.自然数 1~9中的奇数之和D.自然数 1~10 中的偶数之和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,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2 -i][i]);}A.753B.357C.369D.7515、以下程序运行后的输出结果是( 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.dB.goC.godD.good6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。

A)循环控制表达式的值为 0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while (!x!=0 ) s+=++x;printf ( "%d",s );则A)运行程序段后输出0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设 i ,j ,k 均为 int型变量,则执行完下面的 for 语句后, k 的值为( C)。

for ( i=0, j=10; i<=j; i++, j- -) k=i+j;A.6B.9C.10D.119、C语言中, break;语句可以用于循环语句和 ( B )语句中。

A.ifB.switchC.forD.while10、for(i=0; i<=15;i++) printf("%d",i ); 循环结束后, i 的值为( C)。

A.14B.15C.16D.1711.有以下程序 ( B )main(){ char b,c; int i; b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是()A. ABCDEFB. AbCdEfC. aBcDeFD. 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 <stdio.h>void main( ){int i=0;while(i<10) { if(i<1) continue; if(i= =5)break; i++;}}A. 1B.死循环,不能确定次数C. 6D. 1015.下面程序段int k=2;while (k=0) {printf(“%d”,k);k--;}则下面描述中正确的是A ) while 循环执行 10 次C )循环题语句一次也不执行16. 以下程序段的循环次数是。

B)循环是无限循环D)循环体语句执行一次B。

for (i=2; i==0; )printf(“%d”, i--) ;A )无限次B)0次17. 下面程序的输出结果是B C )1 次。

D)2 次main ( ){ char c='A’;int k=0;do {switch (c++) {case ‘A’case ‘B’case ‘C’case ‘D’case ‘E’default : k/=3 ;: k++ ; break ;: k-- ;: k+=2 ; break ;: k%=2 ; continue ; : k*=10 ; break ;}k++;} while (c<’G’) ;printf (“k=%d”,k) ;}A ) k=3 B)k=4C)k=2D)k=019.下面程序的输出结果是。

Bmain ( ){ int x=9;for (; x>0; x--) {if (x%3==0) {printf( “%d”,--x);continue ;} } }A )741B)852C)963D)87542120. int i=100;以下不是死循环的程序段是。

AA ) while (1) {i=i%100+1 ;if (i>100) 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 (a<b<c) {t=a; a=b; b=t; c--;}printf(“%d,%d,%d”,a,b,c);A ) 1,2,0B)2,1,0C)1,2,1D)2,1,122.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择 A 填空。

main ( ){ int m=0,n=0;char c;while ((【】) !’ n’){if (c>= ’A’ && c<= ’Z’) m++;if (c>= ’a’ && c<= ’z’) n++;} }A ) c=getchar()B) getchar()C) c==getchar()D)scanf( “%c”,&c)23. 下述语句执行后,变量k 的值是。

Awhile (k++<10) int k=1; ;A )10B)1124. 下面程序的输出结果是C)9D。

------B------ ()无限循环,值不定太麻烦不做了哎,还是作罢!! )main ( ){ int k=0,m=0,i,j;for (i=0; i<2; i++) {for (j=0; j<3; j++)k++ ;k-=j ;}m = i+j ;printf( “k=%d,m=%d”,k,m) ;}A ) k=0,m=3B )k=0,m=5C ) k=1,m=3D )k=1,m=525.下面 for 循环语句。

Bint i,k;for (i=0, k=-1; k=1; i++, k++)printf(“***”);A )判断循环结束的条件非法B)是无限循环C )只循环一次D)一次也不循环26. 语句 while (!E);括号中的表达式!E等价于AA ) E==0B )E!=1 C)E!=0D)E==1。

27.以下是死循环的程序段是。

A A )for (i=1; ; ) {if (i++%2==0) continue ;if (i++%3==0) break ;}B) i=32767; do { if (i<0) break ; } while (++i) ;C) for (i=1 ; ;) if (++I<10) continue ;D. i=1 ; while (i--);28. 执行语句 for (i=1;i++<4;) ;后变量i的值是A)3 B)4C)5D)不定B。

29.以下程序段。

Ax=-1;do{ x=x*x; }while (!x);A )是死循环B )循环执行 2 次C )循环执行 1 次30. 下面程序的功能是在输入的一批正数中求最大者,输入D )有语法错误0 结束循环,选择填空。

C main ( ){ int a,max=0;scanf(“%d”,&a);while ( printf(【】) { if (max<a) max=a ;“%d”,max);}scanf (“%d”,&a);}A ) a==0 B)a C)!a==1D)!a31.以下不是死循环的语句是。

A A )for (y=9,x=1;x>++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 (x<15) y++,x+=++y ;printf(“%d,%d”,y,x);A ) 20,7 B)6,12C)20,8D)8,2033. 以下 for循环的执行次数是C。

for (x=0,y=0; (y=123) && (x<4) ; 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 ) 668977B )668966C )66778777D ) 6688766读程题:1. 以下程序的输出结果是357。

相关主题