考研复试
安徽大学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.程序段:int x=023; printf("%d \n", --x );的输出是______。
A)19 B)18 C)23 D)22
3.程序段:static char s[10]={'C','h','i','n','a'}; printf("%d\n",strlen(s));的输出是______。
A)6 B)5 C)11 D)10
4.若fun( int x) { printf(“%d\n”,x);}, 则fun_______。
A)返回值为void 类型B)返回值类型无法确定
C)返回值为int类型D)没有返回值
5. 有宏定义:#define MULT1(a,b) a*b
#define MULT2(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. 定义: structsk {int a; float b;} 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+");