·31·
#include\main() { int i,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j-0;j<=3;j++)
{if(j%2)continue;x++; } x++; }
printf(\}
A.x=4 B.x=8 C.x=6 D.x=12 24.下列程序的输出为( )。
#include
{int i,j,k=0,m=0; for(i=0;i<2;i++)
{ for(j=0;j<3;j++)k++;k-=j;} m=i+j;
printf(\}
A.k=0,m=3 B.k=0,m=5 C.k=1,m=3 D.k=1,m=5
25.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为
( )。
A.0 B.1 C.true D.非0
26. 在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的
值应为( )。
A.0 B.1 C.true D.非0 27.下列程序的输出为( )。
#include
{ int k=0;char c='A'; do
{switch(c++)
{ case'A':k++;break; case'B':k--;
case'C':k+=2;break;
case'D':k=k%2;continue; case'E':k=k*10;break; default:k=k/3; } k++; }
while(c<'G');
·32·
printf(\}
A.k=3 B.k=4 C.k=2 D.k=0 28.C语言的if语句嵌套时,if与else的配对关系是( )。
A. 每个else总是与它上面的最近的if配对 B. 每个else总是与最外的if配对 C. 每个else与if的配对是任意的 D. 每个else总是与它上面的if配对 29.下列程序的输出为( )。
#include
{int i=0,j=0,a=6;
if((++i>0)||(++j>0))a++;
printf(\}
A.i=0,j=0,a=6 B.i=1,j=1,a=7 C.i=1,j=0,a=7 D.i=0,j=1,a=7 30.下列程序段的输出结果为( )。
main() {int x=3; do
{ printf(\while(!(--x));}
A.1 B.3 0 C.1 -2 D.死循环
2 填空题:
1. 当输入19,2,21时下列程序运行的结果是_________。
main()
{int a,b,c,max;
printf(\scanf(\max=a;
if(max
printf(\}
2. 若输入字母C,程序输出结果为【1】;若输入字符*,程序将【2】。
#include
{char c1,c2; c1=getchar();
while(c1<97||c1>122)c1=getchar(); c2=c1-32;
printf(\
·33·
}
3. 以下程序运行的结果为________。
main()
{ int a,b,c,x,y,z; a=10;b=2;
c=!(a%b);x=!(a/b); y=(a=0); z=(a=0);
printf(\}
4. 若输入4,程序运行结果为【 1 】,若输入-4,运行结果为【 2 】,若输入10,运行结果为
【 3 】. main() { int x,y;
scanf(\if(x<1) { y=x;
printf(\}
else if(x<10) { y=2*x-1;
printf(\} else
{ y=3*x-11;
printf(\} }
5.以下程序运行的结果________。
main()
{int i=1,sum=0; loop:if(i<=10) {sum+=i; i++;
goto loop; }
printf(\}
6.以下程序运行的结果________。
main()
{ int x=2,y,z;
x*=3+1;
printf(\x+=y=z=5;
·34·
printf(\x=y==z;
printf(\
}
7.以下程序运行的结果________。
#include
{int i,k,m,n=0;
for(m=1;m<=10;m+=2) { if(n==0)printf(\k=sqrt(m);
for(i=2;i<=k;i++) if(m%i==0)break; if(i>k)
{printf(\n++; } } }
8.如果输入‘1’,‘2’,‘3’,‘4’,程序运行输出的是________。
#include
for(i=0;i<4;i++) {while(1)
{ c=getchar();if(c>='0'&&c<='9')break;} k=k*10+c-'0'; }
printf(\}
9.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为________。
#include
{int v1=0,v2=0; char ch;
while ((ch=getchar())!='#') switch(ch) {case 'a': case 'h':
default: v1++; case '0':v2++;
·35·
}
printf(\ }
10.程序运行结果是_________。
#include
for(i=1;i+1;i++)
{ if(i>4){printf(\printf(\} }
11. 以下程序运行的结果是_________。
#include
for(a=1,b=1;a<=100;a++) { if(b>=20)break; if(b%3==1) { b+=3; continue; } b-=5; }
printf(\}
12.以下程序运行的结果是________。
main() {int i=1;
while(i<10)
if(++i%3!=1)continue; else printf(\}
13.程序运行的结果是________。
main() {int n=0;
while(n++<=1) printf(\printf(\}
14.此程序运行时,输入qwert?程序的运行结果是_________。
#include