C语言基础练习题含答案 下载本文

A.* * * * B.% % % % C.% % % % c D.有错,执行不正确

22.下列程序的输出是( )。

#include main()

{ int i;char c; for(i=0;i<=5;i++)

{c=getchar();putchar(c); } }

程序执行时从第一列开始输入以下数据,代表换行符。

u w xsta

A.uwxsta B.u C.u D.u

w w w

x xs

xsta

23.下列程序的输出为( )。

#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 main()

{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 main()

{ 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'); 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 main()

{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.死循环 3.2 填空题:

1. 当输入19,2,21时下列程序运行的结果是_________。

main()

{int a,b,c,max;

printf(\scanf(\max=a;

if(max

printf(\} 2. 若输入字母C,程序输出结果为【1】;若输入字符*,程序将【2】。

#include main()

{char c1,c2; c1=getchar();

while(c1<97||c1>122)c1=getchar(); c2=c1-32;

printf(\}

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.以下程序运行的结果 sum=55 。

main()

{int i=1,sum=0;