C语言基础练习题含答案

C.a=2, b=3, c=1 D.a=2, b=3, c=2 17.请阅读以下程序:该程序(C)。

#include ”stdio.h” main()

{ int x=-10, y=5, z=0;

if (x=y+z) printf(”***\\n” ); else printf(”$$$\\n”); }

A.有语法错不能通过编译 B.可以通过编译但不能通过连接 C.输出*** D.输出$$$

18.以下程序的运行结果是(C)。

#include ”stdio.h” main() { int a=1;

if (a++>1) printf(”%d\\n”, a); else printf(”%d\\n”, a--); }

A.0 B.1 C.2 D.3

19.当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是(B)。 if (a

if (c

if (a

if (b

A.1 B.2 C.3 D.4

20.执行以下程序段后,变量x,y,z的值分别为(B)。 int a=1,b=0, x, y, z;

x=(--a==b++)--a:++b; y=a++; z=b;

A.x=0,y=0,z=0 B.x= -1,y= -1,z= 1 C.x=0,y=1,z=0 D.x= -1,y= 2, z= 1 21.若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是(A)。

a=1;b=2;c=3;d=4; w=(a

A.1 B.2 C.3 D.4

22.以下程序的输出结果是(C)。

#include ”stdio.h” main() {

int a=5, b=4, c=6, d;

printf(”%d\\n”, d=a>b a>ca:c :b); }

A.5 B.4 C.6 D.不确定

23.若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是

(D)。

A.switch (a+b); B.switch a

{ case 1: y=a+b; break; { case c1: y=a-b;

break;

case 0: y=a-b; case c2:

x=a*d; break;

break; default: x=a+b; } }

C.switch (a*a+b*b) D.switch(a-b)

{ case 3: { default: y=a*b;

break;

case 1: y=a+b; break; break;

case 3: y=b-a; break; y=a-b; break;

} 24.执行下列程序,输入为3的数出结果是(#include ”stdio.h” main() {

int k;

scanf(”%d”, &k); switch(k)

{ case 1: printf(”%d\\n”, k++);

case 2: printf(”%d\\n”, k++); case 3: printf(”%d\\n”, k++); case 4: printf(”%d\\n”, k++);

break;

default: printf(”Full!\\n”);

} }

A.3 B.4 D.4

case 3: x=a+b;

case 10: case 11:

}

C)。

C.3 5

4

25.假定等级和分数有以下对应关系:

等级:A 分数:85——100 等级:B 分数:60——84 等级:C 分数:60以下 对于等级grade输出相应的分数区间,能够完成该功能的程序段是(D)。

A.switch (grade)

{ case ’A’ :printf(”85——100\\n”);

case ’B’ :printf(”60——84\\n”); case ’C’ :printf(”<60\\n”);

default: printf(”grade is error!\\n”); }

B.switch (grade)

{ case ’A’ :printf(”85——100\\n”); break;

case ’B’ :printf(”60——84\\n”); case ’C’ :printf(”<60\\n”);

default: printf(”grade is error!\\n”); }

C.switch (grade)

{ case ’A’ :printf(”85——100\\n”); break;

case ’B’ :printf(”60——84\\n”); break;

case ’C’ :printf(”<60\\n”);

default: printf(”grade is error!\\n”); }

D.switch (grade)

{ case ’C’ :printf(”<60\\n”);

break;

case ’B’ :printf(”60——84\\n”); break;

default: printf(”grade is error!\\n”);

break;

case ’A’ :printf(”85——100\\n”);

}

26.有如下程序,写出该执行结果(C)。

#include ”stdio.h” main() {

float x=2.0, y; if (x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0;

printf(”%f\\n”,y); }

A.0.000000 B.0.250000 D.1.000000

27.以下程序的运行结果是(C)。

#include ”stdio.h” main() {

int a=2,b= -1,c=2; if (a

c=0; else c++;

printf(”%d\\n”,c); }

C.0.500000

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4