c语言试题和答案 下载本文

内容发布更新时间 : 2024/5/19 15:48:51星期一 下面是文章的全部内容请认真阅读。

.

《C语言》课程综合复习资料

一、单选题

1. 在C语言中,字符型数据在内存中的存储形式是

A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为

A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为

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

4. 设有定义语句:char str[][20]={,\,\中国石油大学\则printf(\输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p)

{ return *p; }

该函数的返回值是

A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由

A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义:

void fun( int n , double x ) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是

A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b=\!\;

D) void fun( 10 , 12.5 );

.

.

C) char b[10]= \!\; D) char *str=\!\;

9. 若有以下定义:char s[20]= \,*ps=s;则不能代表字符g的表达式是 A) ps+3

B)s[3]

C) ps[3] D) ps+=3,*ps

10. 当对两个字符串进行比较时,应该使用的函数是

A) strcat B) strcmp C) strcpy D) strlen 11. 若i为整型变量,则以下循环的次数是

for(i=2;i==0;)printf(“%d”,i--);

A) 无限次 B) 0次 C) 1次 D) 2次 12. 以下关于数组的描述正确的是

A) 数组大小固定,但是可以有不同类型的数组元素 B) 数组大小可变,但是所有数组元素的类型必须相同 C) 数组大小固定,所有元素的类型必须相同 D) 数组大小可变,可以有不同类型的数组元素 13. 以下能正确定义数组并正确赋初值的语句是

A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}}; C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}}; 14. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是

A)5 11 B)1 9 C)5 9 D)有错误 15. 已知char b[5],*p=b; ,则正确的赋值语句是

A)b=“abcd” ; B)*b=“abcd”; C) p=“abcd”; D)*p=“abcd”; 16. 用数组名作为函数调用时的实参,则实际传递给形参的是

A)数组的第一个元素值 B)数组中全部元素值 C)数组的首地址 D)数组的元素个数 17. 以下叙述中不正确的是

A)在不同的函数中可以使用相同名字的变量 B)函数中的形式参数是局部变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效 18. 当对两个字符串进行比较时,应该使用的函数是

.

.

A) strcat B) strcmp C) strcpy D) strlen

19. 有如下定义:long m;char c;float x;double y;则表达式c+m*x/y的值的类型是

A) long B) char

C) float D) double

20. 假设已定义 char c[8]= \; int i; 则下面的输出函数调用中错误的是 A) printf(\; B) for(i=0;i<8;i++) printf(\; C) puts(c) D) for(i=0;i<8;i++) puts(c[i]);

21. 若有以下定义:char s[20]= \,*ps=s;则不能代表字符g的表达式是 A) ps+3 B) s[3] C) ps[3] 22. 以下选项中不能正确赋值的是

A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b=\!\; C) char b[10]= \!\; D) char *str=\!\; 23. 有以下函数定义:

void fun( int n , double x ) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_________。 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 );

D) void fun( 10 , 12.5 );

D) ps+=3,*ps

24.从变量的作用域来分,可分为全局变量和局部变量,形参是 A)局部变量 B)全局变量 C) 静态变量 D) 动态变量

二、读程序,写出程序的执行结果

1. #include

void main() { int x[]={1,2,3}; int s,i,*p=x; s=1;

for(i=0;i<3;i++) s*=*(p+i);

.