c语言程序设计(第四版)考试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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