完整版广州大学C语言程序设计期末考试试卷含答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
院、系领A 审批并签名
参考答案
广州大学2009-2010 学年第 1 学期考试卷
课程程序设计1 考试形式(闭卷,考试)姓名_ 班级学号学院数学与信息系
一、单项选择题(每小题 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,下面程序的输出是( A )
int main()
{
char c='c';
printf (%d,%c\n,c+2,c+3);
}
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、z均为int型变量,x 的值为1, 则求值表达式z=x--, ++x 后,x, z的值分别为( C )
A) 0, 1 B) 1, 0 C) 1,1 D) 0, 0
6.设x、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(“%d\n”, x);
}
A) 1 1 B) 1 2 D) 2 2
B) 2 1
(A)
9.下列程序的输出为:main() int{
, *q; ”hello”char *p= (q=p; *q; q++);
for
(q-p)); int)printf (“%d\n”, (
}
不是一个确定的值D) C) 6 B) 4 A) 5
,下面哪条语句xS 整除,则把的值加既不能被10.想要表示若x 3 整除,又不能被5 ( B ) 是错的?
((x%3)*(x%5)) S+=x;
ifA)
((x%3==0)+(x%5==0)-(x==0)) S+=x; ifB)
S+=x; else ((x%3)==0||!(x%5)); C) if ((x%5)!=0) S+=x; ifD) ((x%3)!=0) if
)
( C 下列程序段的输出结果是11.
* y) int void fun( * x, int {
printf(%d %d , *x, *y);
*x=3, *y=4;
}
main()
int
{
int x=1,y=2;
fun(&x,&y);
printf(%d %d\n,x, y);
}
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(*\n); case 1,2:printf(*\n);
case 2.0:printf(**\n); case 3:printf(**\n);
} }
C) D)
switch (a+b) switch (a+b);
{ {
case 1:printf(\
); case 1:printf(*\n);
case 1+2:printf(**\n); case (int)x: printf(**\n); }}
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(%d,,x[2-i][i]);
}
A) 9,5,3 B) 7,4,3 C) 7,5,3 D)9,6,1
14.以下程序输出的结果是(D )
int main()
{
char w[][5]={ABCD,EFGH,IJKL,MNOP};
int k;
for (k=1; k<3; k++)
printf(%s\n, w[k]+k);
}
A) B) C) D)
ABCD JKL EFG FGH
FGH OP JK KL
15.以下程序的输出结果是(B )
Zero(X) X-X
#define
int main()
{
printf(%d\n,2*Zero(2-3));
}
A) -6 B) -4 C) -2 D) -0
16.若有代码
struct point {int x; int y;} pt, *p;
p = & pt;
现要输出pt 的成员x,错误的语句为: ( D )
A) printf (“%d\n”, p->x); B) printf (“%d\n”, p[0].x);
C) printf (“%d\n”, *p.x); D) printf (“%d\n”, *p->x);
17.下列代码的输出为:(D)
printf (“%s\n”, “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 (“%d\n”, int);
}
横线出不可填入的关键词为( C )
A) auto B) register
C) extern D) static