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

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

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

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. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是()。

A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、若运行以下程序时,输入2473↙,则程序的运行结果是:()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 ;}pr intf(“\n”);}A)668977 B)668966 C)66778777 D)66887665、以下for循环的执行次数是:()。

for (x=0,y=0; (y=123) && (x<4) ; x++) ;A)无限循环 B)循环次数不定 C)4次 D)3次6、已知 int t=0; while(t=1){...} 则以下叙述正确的是()。

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

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

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

A.14B.15C.16D.1711.有以下程序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. while(x==0)B. while(x!=0)C. while(x==1)D. while(x!=1)13、下面程序段的运行结果是()。

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,2014、以下程序中,while循环的次数是()。

#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.以下程序段的循环次数是()。

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

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.下面程序的输出结果是()。

main ( ){ 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;以下不是死循环的程序段是()。

A)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.下述程序段的运行结果是()。

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.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择()填空。

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的值是() 。

int k=1;while (k++<10);A)10 B)11 C)9 D)无限循环,值不定24.下面程序的输出结果是() 。

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循环语句。

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

A)E==0 B)E!=1 C)E!=0 D)E==127. 以下不是死循环的语句是( ) 。

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 ;28.执行语句for (i=1;i++<4;) ; 后变量i的值是( )。

A)3 B)4 C)5 D)不定29.以下程序段( ) 。

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

( ) main ( ){ 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. 设有程序段 int k=10; while (k<0) k=k-1; 则下面描述中正确的是()A while循环执行10次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次32. 设有以下程序段 int x=0,s=0; while(x!=0)s+=++x;printf("%d",s) ;则()A 运行程序段后输出0B 运行程序段后输出1C 程序段中的控制表达式是非法的D 程序段执行无限次33、下面程序段的运行结果是()int n=0;while (n++<=2); printf("%d",n);A,2 B、3 C、4 D 有语法错误34、设有程序段t=0;while(printf("*")){t++; if(t<3) break;}下面描述正确的是()A、其中循环控制表达式与0等价B、其中循环控制表达式与’0‘等价C 、其中循环表达式是不合法的D、以上说法都不对35、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。

当输入一对相等的数时结束循环,请选择填空。

main(){int a,b,t;scanf(“%d,%d”,&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf(“%d,%d\n”,a,b);}A、!a=bB、a!=bC、a==bD、a=b36、下面程序的功能是从键盘输入的一组字符中统计出大写字母个数m和小写字母个数n,并输出m,n中较大者,请选择填空。

#include<stdio.h>main( ){int m=0,n=0;char c;while((__)!=’\n’){if(c>=’A’&&c<=’Z’) m++;if(c>’a’&&c<=’z’) n++;}printf(“%d\n”,m<n?___);}A. c==getchar()B.getchar()C.c=getchar()D.scanf(“%c”,c)A. n:mB.m:nC.m:mD.n:n37、下面程序的功能是将小写字母变成对应大写字母后的第二个字母。

相关主题