循环结构程序设计练习题 联系客服

发布时间 : 星期四 文章循环结构程序设计练习题更新完毕开始阅读1d6dde613c1ec5da50e2709a

第三单元 循环结构练习题

选择题:

1、有以下程序执行后的输出结果是( )。 main( )

{ int i,s=0;

for(i=1;i<10;i+=2) s+=i+1; printf(\

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(\下面关于语句执行情况的叙述中正确的是( )。

A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环

4、已知 int t=0; while(t=1){...} 则以下叙述正确的是( )。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 5、设有以下程序段 int x=0,s=0;

while(!x!=0)s+=++x; printf(\); 则 A)运行程序段后输出0 B)运行程序段后输出1

C)程序段中的控制表达式是非法的 D)程序段执行无限次

6、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( )。 for(i=0, j=10; i<=j; i++, j- -) k=i+j;

A.6 B.9 C.10 D.11 7、C语言中,break; 语句可以用于循环语句和( )语句中。 A.if B.switch C.for D.while

8、for(i=0; i<=15; i++) printf(\i ); 循环结束后,i 的值为( )。 A.14 B.15 C.16 D.17 9、与语句“while(!x)”等价的语句是( )。

A. while(x==0) B. while(x!=0) C. while(x==1) D. while(x!=1) 10、下述程序段中,while循环执行次数是( )。 int k=0;

while(k=1) k++;

A.无限次 B. 有语法错误,不能执行 C.一次也不执行 D. 执行一次

11、以下程序中,while循环的次数是( )。 #include void main( ) {int i=0;

while(i<10) { if(i<1) continue; if(i= =5)break; i++;}} A. 1 B. 死循环,不能确定次数 C. 6 D. 10 12.下面程序段 int k=2;

while (k=0) {printf(“%d”,k);k--;} 则下面描述中正确的是 。

A)while循环执行10次 B)循环是无限循环 C)循环题语句一次也不执行 D)循环体语句执行一次 13.以下程序段的循环次数是 。

for (i=2; i==0; ) printf(“%d” , i--) ;

A)无限次 B)0次 C)1次 D)2次 14. int i=100;以下不是死循环的程序段是 。

A)while (1) {i=i0+1 ;if (i>100) break ;} B)for ( ; ; ) ;

C) int k=0; do { ++k; } while (k>=0); D)int s=36;while(s) ;--s ; 15.下述程序段的运行结果是 。 int a=1,b=2, c=3, t;

while (a

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

17.下述语句执行后,变量k的值是 。 int k=1;

while (k++<10);

A)10 B)11 C)9 D)无限循环,值不定 18.下面for循环语句 。 int i,k;

for (i=0, k=-1; k=1; i++, k++)

printf(“***”);

A)判断循环结束的条件非法 B)是无限循环 C)只循环一次 D)一次也不循环 19. 以下for循环的执行次数是 。 for (x=0,y=0; (y=123) && (x<4) ; x++) ;

A)无限循环 B)循环次数不定 C)4次 D)3次 20.以下是死循环的程序段是 。 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--); 21.以下程序段 。 x=-1; do

{ x=x*x; } while (!x);

A)是死循环 B)循环执行2次 C)循环执行1次 D)有语法错误

22.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。

main ( )

{ int a,max=0;

scanf(“%d”,&a);

while (【 】) { if (max

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

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 ;

读程题:

1.以下程序的输出结果是 。 main()

{ int i, a[6]={2,3,4,5,6,7}; for(i=1; i<6; i+=2) printf(\}

2.写出下面程序运行的结果。 main ( ) { int i=5 ;

for (; i<5 ;)

{ i++;

if(i%4==0)

printf(“%-2d”,i); else continue; } }

3.写出下面程序运行的结果。 main ( ) { int a,b;

for (a=1,b=1 ; a<=100 ; a++) { if (b>=20) break;

if (b%3==1) { b+=3 ; continue ; } b-=5; }

printf(“%d\\n”,a);} 4.写出下面程序运行的结果。 main ( )

{ int k=1,n=263 ;

do { k*= n ; n/=10 ; } while (n) ; printf(“%d\\n”,k);}

5.若执行以下程序时从键盘上输入3和4,则输出结果是 main( ) {

int a,b,s;

scanf(\s=a; if(a

printf(\

}

6.写出下面程序运行的结果。 main ( ) { int i ;

for(i=1;i<10;i++) {

if(i%3) i++; ++i ;

printf(“%d ”,i) ; } }

编程题: