C语言复习题1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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("%d \n", d*y);

}

(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("%d %ld %f %f \n", i,l,f,d);

}

(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("%d \n",i);

}

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

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

main()

{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }

(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("%d \n,b[0]);

}

(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("a=%d,b=%d\n",a,c); }

(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("%d \n",a[1][2]);

}

(14) 设有数组定义: char array [ ]="China"; 则数组 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("%d \n",res);

}

(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("%d \n",n);

}

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

A) switch(w) B) switch(a);

{ case a: printf("*\n"); { case 1 printf("*\n");

case 2.0: printf("**\n"); case 2 printf("**\n"); } }

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

{ case 1: printf("*\n"); { case 1: printf("*\n"); default: printf("\n"); case 2: printf("**\n"); case 1+2: printf("**\n"); default: printf("\n"); } }

(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("a=%d y=%d\n",a,y);

if(y>20) break;

{ while(a=14);

.

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

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

相关文档
最新文档