C语言复习题1

C语言复习题

(1) 设有 int x=11; 则表达式 (x++ * 1/3) 的值是

A) 3 B) 4 C) 11 D) 12 (2) 下列程序的输出结果是

A) 3 B) 3.2 C) 0 D) 3.07 main()

{ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(\ }

(3) 下列程序执行后的输出结果是(小数点后只写一位)

A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 main()

{ double d; float f; long l; int i; i=f=1=d=20/3;

printf(\ }

(4) 下列变量定义中合法的是

A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3; (5) 设 int x=1, y=1; 表达式(!x||y--)的值是

A) 0 B) 1 C) 2 D) -1 (6) 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是 A) if (x>0) y=1; B) if(x)

else if(x<0)y=-1; if(x>0)y=1;

else y=0; else if(x<0)y=-1; else y=0; C) y=-1 D) y=0; if(x) if(x>=0)

if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1;

(7) 以下循环体的执行次数是

A) 3 B) 2 C) 1 D) 0 main() { int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--)printf(\ }

(8) 下列程序执行后的输出结果是

A) G B) H C) I D) J main()

{ int x='f'; printf(\

(9) 执行下面的程序段后,变量k中的值为

A) 不定值 B) 33 C) 30 D) 10 int k=3, s[2]; s[0]=k; k=s[1]*10;

(10) 若已定义:

int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用上

A) a[p-a] B) *(&a[i]) C) p[i] D) a[10] (11) 下列程序执行后的输出结果是

A) 6 B) 7 C) 8 D) 9 void func(int *a,int b[]) { b[0]=*a+6; } main()

{ int a,b[5];

a=0; b[0]=3;

func(&a,b); printf(\ }

(12) 下列程序的运行结果是

A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d #include main()

{ int a=2,c=5;

printf(\

(13) 下列程序执行后的输出结果是

A) 3 B) 6 C) 9 D) 随机数 main()

{ int a[3][3], *p,i; p=&a[0][0];

for(i=0; i<9; i++) p[i]=i+1; printf(\ }

(14) 设有数组定义: char array [ ]=\则数组 array所占的空间为 A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 (15) 下列程序的输出结果是

A) 4 B) 6 C) 8 D) 10 int b=2;

int func(int *a)

{ b += *a; return(b);}

main()

{ int a=2, res=2; res += func(&a); printf(\ }

(16) 下列程序的输出结果是

A) 4 B) 2 C)1 D) 0 main()

{ int i, j, m=0, n=0; for(i=0; i<2; i++) for(j=0; j<2; j++) if(j>=i) m=1; n++; printf(\ }

(19) 若有定义: float w; int a, b; 则合法的switch语句是 A) switch(w) B) switch(a);

{ case a: printf(\ case 2.0: printf(\ } }

C) switch(b) D) switch(a+b);

{ case 1: printf(\ default: printf(\ case 1+2: printf(\ } } (20) 以下程序段的执行结果是

A) a=12 y=12 B) a=12 y=12 a=14 y=16 a=16 y=28 a=16 y=20 a=18 y=24

C) a=12 y=12 D) a=12 y=12 a=14 y=26 a=14 y=44 int a, y; a=10; y=0; do

{ a+=2; y+=a;

printf(\ if(y>20) break; { while(a=14); .

(21) 若有以下调用语句,则不正确的fun函数的首部是

A) void fun(int m, int x[]) B) void fun(int s, int h[41])

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