C语言第六章循环结构复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

循环结构程序设计复习题

一.选择题

1.以下while循环中,循环体执行的次数是:()

k=1;

while (--k) k=10;

a) 10次b) 无限次c) 一次也不执行d) 1次

2.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()

x=0;

while (!x!=0) x++;

a) 退出while循环后,x的值为0

b) 退出while循环后,x的值为1

c) while的控制表达式是非法的

d) while循环执行无限次

3. 有以下程序段,其中n为整型变量,执行后输出结果是:()

n=20 ;

while(n--) ; printf(“%d”,n) ;

a) 2 b) 10 c) -1 d) 0

4. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:()

t=1;

while (-1)

{ t--;

if(t) break;}

a) 循环一次也不执行

b) 循环执行一次

c) 循环控制表达式(-1)不合法

d) 循环执行2次

5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()

x=-1;

do

{;}

while (x++);

printf(“x=%d”,x);

a) 该循环没有循环体,程序错误

b) 输出x=1

c) 输出x=0

d) 输出x=-1

6. 有以下程序段,其中x,y为整型变量,程序输出结果是:()

for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ;

printf(“x=%d,y=%d”,x,y);

a) x=2,y=0 b) x=1,y=0

c) x=1,y=1 d) x=0,y=0

解析:在开始时 x=0,y=0;

进入循环判断(x<=1)&&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1;

然后执行 x++,y--,执行之后x=1,y=0;

再进入循环判断(x<=1)&&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1; 然后执行 x++,y--,执行之后x=2,y=0;

再进入循环判断(x<=1)&&(y= 1),条件不成立,跳出循环

输出x=2,y=0 。

7. 有以下程序:

main()

{ int x=0,y=0;

while(x<5&&++y) y--,x++;

printf(“%d,%d”,y,x);

}

程序的输出结果是:()

a) 0,5 b) 1,5 c) 0,4 d) 1,4

8. 有以下程序:

main()

{ int num=0;

do

{ num++ ;printf(“%d\n”,num); }

while(num<=2);

}

程序的输出结果是:()

a) 1 b) 1c) 1 d) 1

2 2 2

3 3

4

9. 有以下程序:

main()

{ int x=3;

do

{ printf(“%d”,x-=2); }

while(!(--x));

}

程序的输出结果是:()

a) 1 b) 3 0 c) 1 -2 d) 死循环

10. 有以下程序:

main()

{ int y=10;

do { y--; } while(--y);

printf(“%d\n”,y--);

}

程序的输出结果是:()

a) 1 b) -1 c) 8 d) 0

11. 有以下程序:

main()

{ int x=3,y;

do

{ y=--x;

if( !y) printf(“x”) ;

else printf(“y”) ;

} while(x);

}

程序的输出结果是:()

a) xyx b) yyx c) yxx d) yxy

12. 有以下程序段,此处do-while循环的结束条件是:()

int n=0,p;

do {scanf(“%d”,&p);n++;} while (p!=12345&&n<3);

a) p的值不等于12345并且n的值小于3

b) p的值等于12345并且n的值大于等于3

c) p的值不等于12345或者n的值小于3

d) p的值等于12345或者n的值大于等于3

13. 有以下程序:

main()

{ int a,b,t;

for(a=3,b=0 ;!a==b ;a--,b++)

if(a>b) { t=a;a=b;b=t;}

printf(“%d,%d\n”,a,b);

}

程序的输出结果是:()

a) 4,1 b) 1,4 c) 4,-1 d) -1,4

14. 有以下程序:

main()

{ int x=3,y=0;

do

{ while( !y) y=-x;

} while(x--);

printf(“%d,%d\n”,x,y);

}

程序的输出结果是:()

a) -1,3 b) -1,-3c) 0,0 d) 1,-3

15. 有以下程序:

main()

{ int m,n;

printf(“Enter m,n:”) ; scanf(“%d%d”,&m,&n);

while(m!=n)

{while(m>n) m-=n;

while(n>m) n-=m;}

printf(“m=%d\n”,m);

}

程序的输出结果是:()

相关文档
最新文档