安徽大学 C语言程序设计期末试题
一. 单项选择题:(每题2 分,共20 分)
1.执行程序:int a;printf("%d\n",(a 3*5,a*4,a+5));后,a 的值是______。
A)60 B)20 C)15 D)10
2.程序段:intx 023; printf("%d\n",--x );的输出是______。
A)19 B)18 C)23 D)22
3.程序段:staticchar s[10] {'C','h','i','n','a'};printf("%d\n",strlen(s));的输出是______。
A)6 B)5 C)11 D)10
4.若fun(intx) {printf(“%d\n”,x);}, 则fun_______。
A)返回值为 void 类型 B)返回值类型无法确定
C)返回值为 int 类型 D)没有返回值
5. 有宏定义:#defineMULT1(a,b)a*b
#defineMULT2(a,b) (a)*(b)
且引用宏:y MULT1(3+2,5+8);z MULT2(3+2,5+8); 则y 和z 的值是______。
A)y 65,z 65 B)y 21,z 65 C)y 65,z 21 D)y 21,z 21
6.程序段char s[] "Hello", *p; p s;执行后,*(p+5)的值是______。
A)'o' B)'\0' C)'o'的地址 D)不确定的值
7. 程序段:char *s ”ABCD”, *p;for(p s;*p ;p++)printf("%s\n",p);的输出是______。
A)ABCD B)A C)D D)ABCD
BCD B C ABC
CD C B AB
D D A A
8. 若定义:int (*p)[3]; 则标识符p______。
A)定义不合法。
B)是一个指针数组名,每个元素是一个指向整型变量的指针。
C)是一个指针,它指向一个具有三个元素的一维数组。
D)是一个指向整型变量的指针。
9. 定义:struct sk {int a;floatb;}data,*p; 且 p &data; 则正确引用成员a 的方式是 ______。
A)p.data.a B) (*p).a C)p->data.a D) (*p).data.a
10. 以二进制只读方式打开一个已有的文本文件file1,正确调用fopen 函数的方式是______。
A)FILE *fp; B)FILE *fp;
fp fopen("file1","rb"); fp fopen("file1","r+");
C)FILE *fp; D)FILE *fp;
fp fopen("file1","r"); fp fopen("file1","rb+");
二. 填空题:(每空1分,共20 分) 得 分
请将正确答案填在答题卡相应题目的横线上。答在试卷上不
得分。
1.C程序一个函数的定义由__________和____________两部分组成。
2.C语言的整型变量可分为基本型、短整型、________和________。
3.C语言在判断一个量是否为“真”时,以____代表“假”,以____代表“真”。
4.