期末试题 二级c语言
………………………………装………………………………订…………………………………线………………………………安徽工业大学题纸(一)
2009~2010学年第一学期期末考试《C程序设计(2)》试卷 A
考试时间:120分钟满分:100分(作题答案一律写在答题纸上,答案写在试卷无效)一、单项选择题(每题 1.5分,共 16题)24% 1、以下叙述正确的是___________。 A) main函数不可以有返回值 B) main函数不可以有参数 C) main函数只能有整型返回值 D) main函数可以有任意个参数 2、以下叙述正确的是__________。 A)void类型的函数体中不可以有 return语句 C)函数体中不可以有多个 return语句 B)函数体中既可以没有也可以有多个 return语句 D) return后表达式值的类型必须与函数的返回值类型相同
3、以下叙述正确的是___________。 A)一个文件中定义的函数,如果未指定存储方式,则其他文件可以调用它 B)内部函数是指在函数体中定义的那个函数 C)不同文件中定义的内部函数可以有相同的名称 D)函数的返回值可以是函数指针 4、在由多个文件构成的 C程序中,以下叙述正确的是________。 A)局部变量可以为静态存储方式 B)不同文件中可以定义相同名称的外部变量 C)只能把外部变量指定为静态存储方式 D)外部变量与局部变量不能同名 5、在 C语言中,引用数组元素时,其数组下标必须是_____________。 A)整型常量 B)实型表达式 C)整型常量或整型表达式 6、设有语句:int A[20];则对数组元素的正确引用是_____________。 A)A[20] B)A(12) C)A[-1] D)A[10-10] 7、设有语句:int A[4][ 3],i=3,j=1;则对数组元素的不正确引用是______。 A) *(*A+i*3+j) B) (*(A+3))[1] C) *(A+i*3+j) D) *(A[0]+i*3+j) 8、设有语句:int x=5,a,p1=x,*p2=&x;,以下能正确赋值的语句是__________。 A) a=p1+*p2; B) a=*p1*(*p2); C)p1=p2; D)p1=&x; 9、设有语句 struct student{int Idnum;char *Name;} StdV,*p=& StdV;则以下引用正确的是________。 A) StdV->Idnum B)p.Idnum C) p->Idnum D) (*StdV).Idnum 10、TurboC环境下的定义 struct{int x;char y[8];union{int u;double d;}un;float z;}su;则 su在内存中占用的字节数是______。 A) 20 B)22 C) 18 D) 24 11、C语言可以处理的文件类型是___________。 A)文本文件和数据文件 B)数据文件和非数据文件 C)数据文件和二进制文件 D)文本文件和二进制文件 12、书写 C语言程序必须遵守的规则是___________。 A)采用缩进书写格式 B)程序语句独占一行 C)每行只能书写一条编译预处理命令 13、下列函数的功能是___________。 void swap(int *x,int *y){*x=*x^*y;*y=*x^*y;*x=*x^*y;} A)交换 x和 y的值 B)交换*x和*y的地址 D)每行用分号结束 D)任意类型的表达式
C)交换 x和 y的地址 D)交换 x和 y
所指向的目标变量的值 D)char str,*pstr=str=“ABCDE”;
14、以下正确的是______。 A)char *str;str=“ABCDE”; B) char str[5];str=”ABC”;C) char str[5]=”ABCDE”;
15、设有 float x[5],k=3;接收键盘输入数据给 x[3]的正确语句是___________。 A)scanf(“%d”,x[3]); B) scanf(“%d”,x[k]); C) scanf(“%d”,x+k); D) scanf(“%d”,&x+3); 16、设 x,y,z为整型变量,利用函数调用语句 scanf(“%d:%d:%d”,&x,&y,&z);输入数据 10,20,30给 x,y,z的则正确的输入形式是___________。 A)10□20□30 B) 10 20 30 C) 10 Tab 20 Tab 30 D)10:20:30 (说明:代表 Enter键,Tab代表 Tab键,□代表空格)二、判断题(正确用√错误用×标记)(每题 1分,共 10题) 10% 1、若有宏定义#define R(X) X*X和宏调用 Yr=R(3+2);则 Yr的值是 25。 ( ( ( ( ( ( ) ) ) ) ) )
2、typedef用来定义新的数据类型。 3、如果有定义:int Array[2][3];则在编译阶段就会使数组 Array各个元素的值为 0。 4、在 C语言中,若有定义:int *Pointer;则语句 Pointer=0;是合法的。 5、C语言程序:main(){char x[]="ABCDE";printf("%c\n",x[3]);}的输出结果是 D。 6、在 C语言中,枚举元素表中的元素值,可以任意指定。 7、在 C语言中,函数不可以嵌套定义,但宏可以嵌套定义。 8、在 C语言中,共用体(联合体)变量的地址和其中各成员的地址都是相同的。 9、调用 fopen函数后,如果文件打开成功,则函数的返回值是 0
( ) ( ( ) ) )
10、在 C语言中,把计算机内存中的数据写入文件之前,要调用函数 fopen打开该文件。 (