c语言试卷一(含答案)

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

试卷1

一、选择题(共20题,每题2分,共40分)

1、设有说明语句:char a= '\72abc';则变量a ( )

A) 包含6个字符B) 包含5个字符 C) 包含4个字符D) 说明不合法

2、在C语言中,数字029是一个()

A)八进制数B)十六进制数C)十进制数D)非法数

3、有如下程序

main( )

{ int y=3,x=3,z=1;

printf("%d %d\n",(++x,y++),z+2);}

运行该程序的输出结果是()

A)3 4 B)4 2 C)4 3 D)3 3

4、有如下程序段

int a=14,b=15,x;

char c='A';

x=(a&&b)&&(c<'B');

执行该程序段后,x的值为()

A)ture B)false C)0 D)1

5、如下程序

main( )

{ int x=1,a=0,b=0;

switch(x)

{ case 0:b++;

case 1:a++;

case 2:a++;b++;

}

printf("a=%d,b=%d\n",a,b);

}

该程序的输出结果是()

A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2

6、

main( )

{ int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--) printf("%d \n",i);

}

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

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

7、设有数组定义:char array [ ]="China";则数组 array所占的空间为()

A)4个字节B)5个字节C)6个字节D)7个字节

8、C语言的编译系统对宏命令是( )

A)在程序运行时进行代换处理的

B)在程序连接时进行代换处理的

C)和源程序中其它C语句同时进行编译的

D)在对源程序中其它成份正式编译之前进行处理的

9、以下说法中正确的是()。

A)C语言程序总是从第一个定义的函数开始执行

B)在C语言程序中,要调用的函数必须在main( )中有定义

C)C语言程序的执行既可以采用解释方式,也可以采用编译方式

D)C语言程序中的main( )函数可以不放在程序的开始部分

10、下面程序的输出是( )

#define SUB(X,Y) (X)*Y

main( )

{int a=3,b=4;

printf("%d\n",SUB(a++,b++));

}

A)12 B)15 C)16 D)20

11、设有如下定义:

char *aa[2]={“abcd”,”ABCD”};则以下说法中正确的是()

A)aa数组元素的值分别是“abcd”,”ABCD”

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符’a’,’A’的地址

12、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()

A) 10<回车> B) 10.0,22.0,33.0<回车>

22<回车>

33<回车>

C) 10.0<回车> D) 10 22<回车>

22.0 33.0<回车> 33<回车>

13、当调用函数时,实参是一个数组名,则向函数传送的是( )

A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值

14、有以下函数

char *fun(char *p)

{ return p; }

该函数的返回值是()

A) 无确切的值 B) 形参p中存放的地址值

B) 一个临时存储单元的地址 D) 形参p自身的地址值

15、若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是( )

A) &t[3][2] B) t[3][2] C) t[1][0] D) t[2]+1

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

A)#*#*# B)##### C)***** D)*#*#*

main( )

{ int i;

for(i=1;i<6;i++)

{ if(i%2) {printf("#");continue;}

printf("*");

}

printf("\n");

}

17、已知有声明语句char s1[10]= "abcde",s3[10];以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是。

A.s3=s1,s1=s2,s2=s3;

B.s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0];

C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]);

D.strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3);

18、若有声明语句int a[10],b[3][3];则以下对数组元素赋值的操作中,不会出现越界访问的是 ___ 。

A.a[-1]=1

B.a[10]=0

C.b[3][0]=0

D.b[0][0]=0

19、以下是一个自定义函数的头部,其中正确的是。

A.int fun(int a[ ],b)

B.int fun(int a[ ],int a)

C.int fun(int *a,int b)

D.int fun(char a[ ][ ],int b)

20、下列4个函数中,()能实现交换变量值的功能。

A) void fun_a(int x,int y) B) void fun_b(int *x,int *y) { int *p; { int *p;

*p=x;x=y;y=*p;} *x=*y;*y=*x;}

C) void fun_c(int *x,int *y) D) void fun_d(int x,int y) { *x=*x+*y; { int p;

*y=*x-*y; p=x;x=y;y=p;

*x=*x-*y;} }

二、填空题(每空2分,共26分)

1、已知:int x=3;则

相关文档
最新文档