大学毕业月薪-大学毕业月薪
院、系领导
审批并签名
A
卷
参考答案
广州大学
2009-2010
学年第
1
学期考试卷
课程
程序设计
1
考试形式(闭卷,考试)
学院
数学与信息
系
专业
信安,计
题次
分数
评分
班级
学号
姓名
_
八
九
十
总分
评卷人
100
一
40
二
20
三
20
四
20
五
六
七
一、单项选择题(每小题
2
分,共
40
分)
1.
十六进制数
CDE
转换成八制数是(
A
)
A) 6336
B) 6363
C) 7337
D) 7373
2.
以下所列的
C
语言常量中,错误的是
( B )
A) 1UL
B) e0.5
C)
“A”
D) 'b'
3.
已知字母
c
的
ASCII
码为十进制的
99,
< p>下面程序的输出是( A )
int
main()
{
char
c=
’
c
’
;
printf (
}
A) 101, f
B
) 99, f
C) 101, e
D) 101, 102
4.
表达式
5-3
/
2-1
的值是(
B
)
A) 0
B) 3
C) 2.5
D) 2
5.
设
x
、
< p>z均为
int
型变量,
x
的值为
1,
则求值表达式
z=x--, ++x
后,
x, z
的值分别为
( C )
A) 0,
1
B) 1, 0
C) 1,1
D) 0, 0
6.
设
x
、
< p>z均为
int
型变量,
x
的值为
1,
则求值表达式
z=x--||x++
后,
x, z
的值分别为
( A )
A) 0,
1
B) 1, 0
C) 1,1
D) 0, 0
7.
若函数
f
为
int
f (
int
x)
{
return -(x<0)+(x>0);
}
则
f(2009), f(-2008)
和
f(0)
的值分别为
( C )
A) 0 1 2
B) 1 1 0
C) 1 -1 0
D) -1 1 0
8.
下面函数的输出为:
(B)
int
x=1;
int
main()
{
int
x=2;
{
extern
int
x;
printf (
“
%d
”
, x);
}
printf(
“
%dn
”
, x);
}
A) 1 1
B) 1 2
9.
下列程序的输出为:
(A)
int
main()
{
char
*p=
”
hello
”
, *q;
for
(q=p; *q; q++);
printf (
“
%dn
”
,
(
int
)
(q-p));
}
A) 5
10.
想要表示若
x
既不能被
3
整除,又不能被
5
整除,则把
S
的值加
x
,下面哪条语句
是错的?
( B )
A)
if
((x%3)*(x%5)) S+=x;
B)
if
((x%3==0)+(x%5==0)-(x%15==0)) S+=x;
C)
if
((x%3)==0||!(x%5));
else
S+=x;
D)
if
((x%3)!=0)
if
((x%5)!=0) S+=x;
11.
下列程序段的输出结果是
( C
)
void
fun(
int
* x,
int
* y)
{
printf(
*x=3, *y=4;
}
int
main()
B) 4
C) 6
D)
不是一个确定的值
B) 2 1
D) 2 2
{
int
x=1,y=2;
fun(&x,&y);
printf(
}
A) 2 1 4 3
B) 1 2 1 2
C) 1 2 3 4
D) 2 1 1 2
12.
若有定义
: float x;int a,b;
则正确的
switch
语句是
( C )
A)
B)
switch
(x)
switch
(x)
{
{
case
1.0:printf(
case
1,2:printf(
case
2.0:printf(
case
3:printf(
}
}
C)
D)
switch
(a+b)
switch
(a+b);
{
{
case
1:printf(
case
1:printf(
case
1+2:printf(
case
(int)x: printf(
}
}
13.
以下程序的输出结果是
( C )
int
main()
{
int
i, x[3][3]={1,2,3,4,5,6,7,8,9};
for
(i=0;i<3;i++)
printf(
}
A)
9,5,3
B) 7,4,3
C) 7,5,3
D
)
9,6,1
14.
以下程序输出的结果是(
D
)
int
main()
{
char
w[][5]={
int
k;
for
(k=1; k<3; k++)
printf(
}
A)
B)
C)
D)
ABCD
JKL
EFG
FGH
FGH
OP
JK
KL
15.
以下程序的输出结果是(
B
)
#define
Zero(X) X-X
int
main()
{
printf(
}
A) -6
B) -4
C) -2
D) -0
16.
若有代码
struct
point {int x; int y;} pt, *p;
p = & pt;
现要输出
pt
的成员
x
,错误的语句为
: ( D )
A)
printf (
“
%dn
”
, p->x);
B) printf (
“
%dn
”
, p[0].x);
C) printf
(
“
%dn
”
, *p.x);
D) printf (
“
%dn
”
, *p->x);
17.
下列代码的输出为:
(D)
printf
(
“
%sn
”
,
“
HelloWorld
”
+4);
A) Hello
B) HelloWorld C) World
D) oWorld
18.
下列语句的输出结果是
( B )
putchar (putchar
(
‘
a
’
))
A) a
B) aa
C) A
D) ab
19.
下面代码的输出是
( B )
char
foo[]=
“
Hello World
”
;
printf (
“
%d %d
”
, strlen(foo), sizeof(foo));
A) 11 11
B) 11 12
C) 12 11
D) 12 12
20.
有如下代码
main ()
{
___ int x=1;
printf (
“
%dn
”
, int);
}
横线出不可填入的关键词为
( C )
A) auto
B) register
C) extern
D) static
二、填空题(每空
2
分,共
20
分)
1.
若想通过以下输入语句给
a
赋于
1,
给
b
赋于
2,
int a,b;
scanf(
”
,&a,&b);