C语言复习题1

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

《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]={,"Beijing","中国石油大学"},*p=str;

则printf("%d\n",strlen(p+20)); 输出结果是

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 ); D) void fun( 10 , 12.5 );

8. 以下选项中不能正确赋值的是

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

B) char b[10];b="Hello!";

C) char b[10]= "Hello!";

D) char *str="Hello!";

9. 若有以下定义:char s[20]= "programming",*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]= "test"; int i;则下面的输出函数调用中错误的是

A) printf("%s",c); B) for(i=0;i<8;i++) printf("%c",c[i]);

C) puts(c) D) for(i=0;i<8;i++) puts(c[i]);

21. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是

A) ps+3 B) s[3] C) ps[3] D) ps+=3,*ps

22. 以下选项中不能正确赋值的是

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

B) char b[10];b="Hello!";

C) char b[10]= "Hello!";

D) char *str="Hello!";

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 );

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);

printf(“%d\n”,s);

}

2. #include

char fun(char *s)

{ if( *s >= 'a' && *s <= 'z' )

*s=*s-32;

return *s;

}

void main()

{ char a[20]="Welcome",*p,ch;

相关文档
最新文档