C语言基础知识习题 下载本文

内容发布更新时间 : 2024/4/28 5:39:23星期一 下面是文章的全部内容请认真阅读。

main ( )

{ int a=3, b=4, c; c=F(a+b); printf (″%d\\n″, c); } 11.执行下面程序后的输出结果是____________。 #include main()

{ int x=20; printf(\12.执行下面程序后的输出结果是____________。 #define M 2<3 ? 5:6 main( )

13.执行下面程序后的输出结果是____________。 main()

14.设从键盘输入:420<回车>,执行下面程序后的输出结果是____________。 main( ) { char c;

while ((c=getchar( ) )!=′\\n′) switch(c-′0′) { case 0:

case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; }

printf(″\\n″); }

第三章选择结构 一、选择题

1.以下是if语句的基本形式: if(表达式) 语句; 其中\表达式\A.必须是逻辑表达式 B.必须是关系表达式

C.必须是逻辑表达式或关系表达式 D.可以是任意合法的表达式 2.switch(表达式) 语句中的“表达式”允许的类型是( ) A.float, int B.float, int, char C.int, char D.char, double 3.设int n, p=0;与语句if(n!=0)p=1;等价的是( )

A.if(n)p=1; B.if(n=1)p=l; C.if(n!=1)p=1; D.if(!n)p=l; 4.正确的条件语句为( ) A.if((a=b;)>0)t=a; B.if((a=b)>0)then t=a; C.if(a>b)t=a; D.if(a

{int i=3, j, k; j=i+M; k=i+(M); printf (\

{ float x=3.6; int i; i=x; printf(\,x,i);}

5.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( ) A.if((a>b)&&(b>c)) k=1; B.if((a>b)||(b>c)) k=1; else k=0; else k=0; C.if(a<=b) k=0; D.if(a>b) k=1

else if(b<=c) k=1; else if(b>c) k=1; else k=0;

6.以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是( )

A.switch(a) B.switch(a)

{case 1:a=b;break; {default:a++;break; default : a++;} case 1:a=b; } C.switch(a==1) D.switch(a==1)

{case 0:a=b;break; {case 1:a=b;break; case 1:a++;} case 0:a++;}

7.有如下嵌套的if语句, 以下选项中与上述if语句等价的语句是( ) if(a

if(a

if(b

A.k=(ac)?b:c);

C.k=(a

A.if(a>b) c=a,a=b,b=c; B.if(a>b) {c=a,a=b,b=c;} C.if(a>b) c=a;a=b;b=c; D.if(a>b) {c=a;a=b;b=c;} 9.有以下程序运行后的输出结果是( ) main()

{ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)

if(b!=2||c--!=3) printf(\ else printf(\ else printf(\

A.1,2,3 B.1,3,2 C.1,3,3 D.3,2,1 10.main()

{ int x; scanf(\if(x<=3);

else if(x!=10) printf(\

程序运行时,输入的值在( )范围才会有输出结果。

A.不等于10的整数 B.大于3且不等10的整数 C.大于3或等于10的整数 D.小于3的整数 11.以下程序的运行结果是( )

#include main()

{ int x=1,y=2,z=3; if(x>y)

if(y

A.331 B.41 C.2 D.1 二、填空题

1.语句if(!k)a=3;中!k与__________________等价。

2.在执行循环结构或switch结构时,能够立即退出该结构的语句是__________。 3.以下程序的运行结果是 。 main()

{ int x=1,a=0,b=0; switch(x)

{ case 0: a++; break; case l: b++;

case 2: a++; b++; break; case 3: a++; b++;}

printf(″a=%d,b=%d\\n″,a,b);} 4.以下程序的运行结果是 。 main()

{ int i=11, j; j=i%3; switch (j) { case 1:

case 2: printf(″%d\\n″,j); break; default: printf(″%d\\n″,i);}} 5.以下程序的运行结果是 。 #include main()

{ int a=1,b=2,c=3,d=0; if(a==1)

if(b!=2) if(c==3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf(\

6.以下程序的运行结果是 。 main()

{int a=1,b=2,c=3; if(a<=c)

if(b==c) printf(〞a=%d\\n〞,a); else printf(〞b=%d\\n〞,b); printf(〞c=%d\\n〞,c); }

7.以下程序的运行结果是 。 main ( )

{ int x=15, y=21, z=0; switch (x%3)

{case 0: z++; break; case 1: z++; switch (y%2)

{default: z++; case 0: z++; break; } } printf (″%d\\n″, z);}

8.以下程序的运行结果是 。 main( )

{ int a=10,b=20,c=30;

if(a>b) if(a>c) printf(″a=%d\\n″,a); else printf(″b=%d\\n″,b); print(″c=%d\\n″,c);}

9.以下程序的运行结果是 。

main() { int color=2; switch(color)

{case l:printf(“red\\n”);break; case 2:printf(“yellow\\n”); case 3:printf(“blue\\n”);}}

10.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。 main ( ) { int score;

scanf ("%d",&score); printf ("%d->",score); if(__________________)

switch (___________________)

{case 9:case 10: printf (" Excellent \\ n");break; case 8: printf ("Good \\ n");break; case 7: printf ("Middle \\ n"); break; case 6: printf ("Pass \\ n");_______________; default: printf ("No pass \\ n");} else printf ("Input error! \\ n");}

第四章循环结构 一、选择题

1.下列叙述正确的是( )

A.continue语句的作用是跳出循环体 B.while循环语句的循环体至少执行一次 C.do-while循环语句的循环体至少执行一次

D.switch语句中的每个case语句组必须含有break语句 2.if(表达式)和while(表达式)中的“表达式”( )

A.只能是逻辑的 B.只能是关系的 C.只能是算术的 D.以上三种都可以 3.对循环结构正确的叙述是( )

A.do-while循环体可能被执行0次 B.do-while循环体至少被执行1次 C.while循环体不可能被执行0次 D.for循环体不可能被执行无限次 4.设int i=l, k=2;则错误的循环语句是( ) A.for(i=0,k=-1;i++,k++); B.for(;k-1;i++); C.for(i=1,k=4;k--;i++); D.for(;k--;);