c语言程序设计(第四版)考试题

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

C程序设计(第四版)期末考试题

本卷共有4道大题:

一、单项选择题(20道小题,共20分)

1、以下对C语言函数的有关描述中,正确的是( )(1分)

A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B、C函数既可以嵌套定义又可以递归调用

C、函数必须有返回值,否则不能使用函数

D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中

2、strcpy库函数用于复制一个字符串。若有以下定义:char *str1="copy",str2[10],*str3="hijklmn";char *str4,*str5="abcd";则对strcpy库函数的错误调用是( )(1分)

A、strcpy(str2,str1)

B、strcpy(str3,str1)

C、strcpy(str4,str1)

D、strcpy(str5,str1)

3、设有以下语句:char str[4][12]={"aaa","bbb","ccc","ddd"};char *strp[4]; int i;for(i=0;i<4;i++) strp[i]=str[i]; 若0<=k<4,下列选项中对字符串的非法引用是( )(1分)

A、strp

B、str[k]

C、strp[k]

D、*strp

4、以下各选项企图说明一种新的类型名,其中正确的是( )(1分)

A、typedef v1 int;

B、typedef v2=int;

C、typedef v1 int v3;

D、typedef v4: int;

5、若以下定义和语句:int a[]={1,2,3,4,5,6,7,8,9,0}; int *p,i;p=a;0

A、&(a+1)

B、a++

C、&p

D、&p[i]

6、C语言标准库函数"fgets(string,n,fp)"的功能是( )(1分)

A、从文件fp中读取长度为n的字符串存入指针string指向的内存

B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存

C、从文件fp中读取n个字符串存入指针string指向的内存

D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存

7、以下叙述中不正确的是( )(1分)

A、在函数中,通过return语句传回函数值

B、在函数中,可以有多条return语句

C、在C中,main后的一对圆括号中也可以带有形参

D、在C中,调用函数,必需在一条独立的语句中完成

8、若有以下定义:char a;int b; float c;double d; 则表达式a*b+d-c值的类型为( )(1分)

A、float

B、int

C、char

D、double

9、以下叙述中正确的是( )(1分)

A、输入项可以是一个实型常量,如:scanf("%f",3.5);

B、只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d ,b=%d");

C、当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&d);

D、当输入数据时,必须指明变量地址,例如:scanf("%f",&f);

10、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )(1分)

A、INPUT x、y、z;

B、scanf("%d%d%d",&x,&y,&z);

C、scanf("%d%d%d",x,y,z);

D、read("%d%d%d",&x,&y,&z);

11、若变量都已正确定义,a=2;b=3;printf(a>b?"* * *a=%d":"# # #b=%d",a ,b);则程序段( )(1分)

A、没有正确的输出格式控制

B、输出为:* * * a=2

C、输出为:# # # b=2

D、输出为:* * * a=2# # # b=2

12、设有如下的变量定义:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C 语言语法的表达式是( )(1分)

A、a=a-=(b=4)*(a=3)

B、x%(--3);

C、a=a*3=2

D、y=float(i)

13、假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是( )(1分)

A、7

B、8

C、9

D、2

14、以下标识符中,不能作为合法的C用户定义标识符的是( )(1分)

A、For

B、print

C、WORD

D、sizeof

15、以下合法的赋值语句是( )(1分)

A、x=y=100

B、d--;

C、x+y;

D、c=int(a+b);

16、在下列选项中,没有构成死循环的程序是( )(1分)

A、int i=100;whine(1) {i=i%1001;if (i>100)break;}

B、for (;;);

C、int k=1000;do {k;}while(k>=1000);

D、int s=36;while(s);--s;

17、设a=1,b=2,c=3,d=4,则表达式:a

A、4

B、3

C、2

D、1

18、假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4; m=(w

相关文档
最新文档