安徽大学C语言程序设计期末试题
一.单项选择题:(每题2分,共20分)
1.执行程序:int a;printf("%d\n",(a=3*5,a*4,a+5));后,a的值是______。
A)60B)20C)15D)10
2.程序段:int x=023;printf("%d\n",--x);的输出是______。
A)19B)18C)23D)22
3.程序段:static char s[10]={'C','h','i','n','a'};printf("%d\n",strlen(s));的输出是______。
A)6B)5C)11D)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=65B)y=21,z=65C)y=65,z=21D)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)ABCDB)AC)DD)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;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+");