习题五
一.选择题
1.下面程序段
int k=2;
while (k=0) {printf(“%d”,k);k--;}
则下面描述中正确的是 。
??A)while循环执行10次 B)循环是无限循环
??C)循环题语句一次也不执行 D)循环体语句执行一次2.下述程序段中, 与其他程序段的作用不同。
??A) k=1; B) k=1;
while (1) {Repeat :
?? ?s+=k ; s+=k ;
?? ?k=k+1 ; if (++k<=100)
?? ?if (k>100) break ; goto Repeat
} printf(“\n%d”,s) ;
printf(“\n%d”,s) ;
??C)int k,s=0; D) k=1;
for (k=1;k<=100;s+=++k); do
printf(“\n%d”,s) ; s+=k;
while (++k<=100) ;
printf(“\n%d”,s) ;
3.以下程序段的循环次数是 。
??for (i=2; i==0; ) printf(“%d” , i--) ;
??A)无限次 B)0次 C)1次 D)2次4.下面程序的输出结果是 。
????????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
printf (“k=%d”,k) ;
}
??A)k=3B)k=4 C)k=2 D)k=05.下面程序的输出结果是 。
????????main ( )
????????{ int x=9;
???????????for (; x>0; x--) {
if (x%3==0) {
???printf(“%d”,--x);
?? ?continue ;
}
???????????}
????????}
??A)741 B)852 C)963 D)8754216.以下不是死循环的程序段是 。
??A) int i=100; B)for ( ; ; ) ;
?????????while (1) {
i=i%100+1 ;
if (i>100) break ;
?????????}
??C) int k=0; D)int s=36;
do { ++k; } while (k>=0); while (s) ; --s ;
7.下述程序段的运行结果是 。
int a=1,b=2, c=3, t;
while (a
printf(“%d,%d,%d”,a,b,c);
??A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择??填空。
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)9.下述语句执行后,变量k的值是 。
int k=1;
while (k++<10);
??A)10 B)11 C)9 D)无限循环,值不定10.下面程序的输出结果是 。
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=511.下面for循环语句 。
???