1.下面程序段n的最后运行结果是( C )
int n=0;
while(n++<=2); printf(“%d”,n); // 当n=3时条件不成立,然后加1,退出。
A) 2 B) 3 C) 4 D) 有语法错
2. 下面程序的运行结果是( B )
#include
main( )
{int a=1,b=10;
do {b-=a; a++; } while (b - - <0); // b=b-a=10-1=9; a++,a=2; 9<0?=F; 退出循环b--,b=8;
printf(“a=%d,b=%d\n”,a,b); }
A) a=3,b=11 B) a=2,b=8 C) a=1,b= -1 D) a=4,b=9
3. 下面程序的运行结果是( D )
#include
main( )
{ int i,b,k=0; // i=1时,b=1%2=1;
for(i=1;i<=5;i++) // 1>0? T; b--,b=0; k++;k=1; 0>=0? T; b--,b= -1; k++;k=2; -1>=0? F; b--,b=-2
{ b=i%2; // i=2时,b=2%2=0
while(b- - >=0) k++; } // 0>=0? T; b--,b= -1; k++;k=3; -1>=0? F; b--,b=-2
printf(“%d,%d”,k,b); } // i为奇偶数时均有b= -2,i为奇数是k+2,i为偶数时k+1;
A) 3,-1 B) 8,-1 C) 3,0 D) 8,-2
4. 下面程序的运行结果是( B )
#include
main( )
{ int k=0; char c=‘A’;
do { switch(c++) /*从A开始执行*/
{ case ‘A’: k++;break;
case ‘B’: k- -;
case ‘C’: k+=2;break;
case ‘D’: k=k%2;continue; /*跳到switch,执行k++,即提前进入下一次循环*/
case ‘E’: k=k*10;break;
default: k=k/3; }
k++; }
while (c
A) k=3 B) k=4 C) k=2 D) k=0
5. 下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环,请选择填空。
#include
main( )
{ long int num;
scanf(“%ld”,&num);
do { if( (1)B ) printf(“%ld”,num);
scanf(“%ld”,&num);
} while( (2)C ); }
(1)A) num%100/10==3 B) num/100%10==3 C) num%10/10==3 D) num/10%10==3
(2) A) !num B) num>0 C) !num==0 D) !num!=0
6. 下面程序的运行结果是( B )
#include
main( )
{ int i,j,x=0;
for(i=0;i<2;i++) // i=0; i=1
{ x++; // x=1; x=5
for(j=0;j<=3;j++) // j=0; j=1; j=2; j=3
{ if(j%2) continue; // 0%2=0,F; 1%2=1,T; continue; 2%2=0,F; 3%2=1,T;
x++; } // x=2;