安徽大学
C
语言程序设计期末试题
一
.
单项选择题:
(每?/p>
2
分,?/p>
20
分)
1.执行程序
: int a; printf("%d \n", (a=3*5, a*4, a+5) );
后,
a
的值是
______
?/p>
A)
60
B)
20
C)
15
D)
10
2.程序段:
int x=023;
printf("%d \n", --x );
的输出是
______
?/p>
A)
19
B)
18
C)
23
D)
22
3
?/p>
程序段:
static char s[10]={'C','h','i','n','a'}; printf("%d\n",strlen(s));
?/p>
输出
?/p>
______
?/p>
A)
6
B)
5
C)
11
D)
10
4
.若
fun( int x) { printf(?d
\
n?x);},
?/p>
fun_______
?/p>
A)返回值为
void
类型
B)返回值类型无法确?/p>
C)返回值为
int
类型
D)没有返回?/p>
5.
有宏定义?/p>
#define MULT1(a,b) a*b
#define MULT2(a,b) (a)*(b)
且引用宏?/p>
y=MULT1(3+2,5+8); z=MULT2(3+2,5+8);
?/p>
y
?/p>
z
的值是
______
?/p>
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)
的值是
______
?/p>
A)
'o'
B)
'\0'
C)
'o'
的地址
D)不确定的?/p>
7.
程序段:
char *s=”ABCD? *p;
for( p=s; *p ; p++) printf("%s\n", p);
的输出是
______
?/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______
?/p>
A)定义不合法?/p>
B)是一个指针数组名,每个元素是一个指向整型变量的指针?/p>
C)是一个指针,它指向一个具有三个元素的一维数组?/p>
D)是一个指向整型变量的指针?/p>
9.
定义
: struct sk {int a; float b;} data,*p;
?/p>
p=&data;
则正确引用成?/p>
a
的方式是
______
?/p>
A) p.data.a
B) (*p).a
C) p->data.a
D) (*p).data.a
10.
以二进制只读方式打开一个已有的文本文件
file1
?/p>
正确调用
fopen
函数的方式是
______
?/p>
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+");