循环结构选择题
1.以下程序段输出的结果是(A)
? a=-1;
? do
? { a=a*a;}while(!a);
A) 循环一次 B) 循环两次
C) 死循环 D) 有语法错误
2.已知以下程序段,如果运行时逐个输入1,-3, 5, 8,-2,那么输出的结果是( B )
main()
? {int i,x;
? for(i=1; i<=5; i++)
? { scanf(“%d”,&x);
? if( x<=0 ) continue;
? printf(“%d”,x); }}
A)-3 -2 0 B)1 5 8 C)1 –3 5 8 –2 D)-3 -2
3.运行以下程序后输出为( C )
main()
{ int n=0;
? while(n<=2)
? { n++;
? printf(“%d ”,n);}
A) 1 B) 1 2 C) 1 2 3 D) 1 2 3 4
4.以下可以正确计算s=12345的程序段是( C )
A)for(i=1;i<=5;i++) B) for(i=1;i<=5;i++)
{ s=1; { s=0;
s=si;} s=si;}
C)s=1; D) s=0;
for(i=1;i<=5;i++) for(i=1;i<=5;i++)
s=si; s=si;
- 以下程序运行后的输出结果 ( C )
#include "stdio.h"
main()
{int x=2;
do{ printf("%3d",!x-2);
}while(--x);}
A)0 -1 B)0 0 C)-2 -2 D)死循环
? 6.以下程序运行后的输出结果是 ( D )
main()
{ char c1,c2;
for(c1='0',c2='9';c1 ? printf("%c %c",c1,c2); } A)0918245765 B)0893478654 C)0786584763 D)0918273645 ? 7.下面程序的功能是:计算1到10之间奇数之和及偶数之和,空白处应填.( B ) main() {int a,b, c, i; a=c=0; for(i=0;i<=10;i+=2) { a+=i;__________________________ ; ) Printf(“偶数之和=%d\n”,a); printf(”奇数之和=%d\n”,c);} A)c+=i B)c+=i+1 C)b+=i D)b+=i+1 ? 8.设有以下程序段 ( B ) int x=0,s=0; while(!x!=0) {s+=++x;++x;} printf("%d,%d",s,x); A)运行程序段后输出为0 B)运行程序段后输出为1,2 C)程序段中的控制表达式是非法的 D)循环体语句执行一次 ? 9.设x和y均为整型变量,则执行下面的循环后,y的值为 ( C ) for(y=1,x=1;y<=50;y++) { if(x>=10) break; if(x%2==1) {x+=5;continue;} ? x-=3;} A)2 B)4 C)6 D)8 ? 10.以下程序运行后的输出结果是 ( B ) main( ) {int y=18,i=0,j,a[8]; do { a[i]=y%2;i++;y=y/2; }while(y>=1); for(j=i-1;j>=0;j--) printf("%d",a[j]); printf("\n");} A)10000 B)10010 C)00110 D)10100 ? 11.以下程序运行后的输出结果是 ( C ) main( ) {int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) {if(j%2) continue;x++;} printf("x=%d\n",x);} A)x=4 B)x=8 C)x=6 D)x=12 ? 12.有以下程序 ( B ) main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} ? a-=3;} printf("%d\n",b);}程序运行后的输出结果 A)3 B)4 C)5 D)6