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

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

第三单元循环结构练习题选择题: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.7 5 3B. 3 5 7C.3 6 9D.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.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次 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 (c<’G’) ;printf (“k=%d”,k) ;}A)k=3 B)k=4 C)k=2 D)k=019.下面程序的输出结果是。

Bmain ( ){ int x=9;for (; x>0; 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 (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,0 B)2,1,0 C)1,2,1 D)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)10 B)11 C)9 D)无限循环,值不定24.下面程序的输出结果是。

------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=3 B)k=0,m=5 C)k=1,m=3 D)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等价于 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 (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的值是 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结束循环,选择填空。

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

AA)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,12 C)20,8 D)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)668977 B)668966 C)66778777 D)6688766读程题:1.以下程序的输出结果是 357 。

相关主题