1.以下程序的输出结果是( )。
main()
{
int n=4;
while (n--)
printf("%d",--n);
}
A.20 B.31 C.321 D.210
答案:A;4--(3) ;--3(2);输出一个2;2--(1);--1(0);输出一个0;此时while为假。
2. 执行以下程序后输出的结果是( )。
main()
{
int y = 10;
do
{
y--;
}
while ( --y );
printf( "%d\n", y-- );
}
A.-1 B.1 C.8 D.0
答案:D
3. 下面程序输出结果是:
main()
{
char *s='12134211';
int k,v1=0,v2=0,v3=0,v4=0;
for (k=0;s[k];k++)
switch(s[k]) 0,1,2,1,3,4,2,1,1
{
default:v4++;
case 1:v1++;
case 2:v2++;
case 3:v3++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
A.v1=4,v2=2,v3=1,v4=1 B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1 D.v1=8,v2=8,v3=8,v4=8
答案:D
4. 程序运行结果是:
main()
{
int i=1,sum=0;
while(i<10)
sum=sum+1;
i++;
printf("i=%d,sum=%d",i,sum);
}
A.i=10,sum=9 B.i=9,sum=9 C.i=2,sum=1 D.运行出现错误
答案:D;while后面没有加{ }默认只执行之后的一句 i一直没有变化,死循环
5.有以下语句:
i=1;
for(;i<=100;i++) sum+=i;
与以上语句序列不等价的有( )。
A. for(i=1; ;i++) {sum+=i;if(i==100)break;}
B. for(i=1;i<=100;){sum+=i;i++;}
C. i=1;for(;i<=100;)sum+=i;
D. i=1;for(; ;){sum+=i;if(i==100)break;i++;}
答案:C
6. 下面程序的运行结果是( )。
main()
{
int x,y,z;
x=0;y=z=-1;
x+=-z---y;
printf("x=%d\n",x);
}
A.x=4 B.x=0 C.x=2 D.x=3
答案:C;
7. 有以下程序段,其中n为整型变量,执行后输出结果是:( )
n=20 ;
while(n--) ;
printf(“%d”,n) ;
a) 2 b) 10 c) -1 d) 0
答案:C
8. 有以下程序:
main()
{
int y=10;
do
{
y--;
}while(--y);
printf(“%d\n”,y--);
}
程序的输出结果是:( )
a) 1 b) -1 c) 8 d) 0
答案:D
9. 要求使以下程序段输出10个整数,请填空。
for(i=0;i<=___;printf(“%d\n”,i+=2));
答案:18;
10. 下面程序的输出结果是_____
main()
{
int i,sum;
for(i=1;i<6;i++)
sum+=i;
printf(“%d”,sum);
}
答案:无定值;
11. 下面程序的输出结果是_____
main()
{
int i,j=0,a=0;
for(i=0;i<5;i++)
do
{
if(j%3)
break;
a++;
j++;
}while(j<10);
printf(“%d,%d\n”,j,a);
}
答案:1,1