广州大学C语言程序设计期末考试试卷含答案
- 格式:doc
- 大小:57.50 KB
- 文档页数:9
参考答案
广州大学 2009-2010 学年第 1 学期考试卷课程程序设计 1 考试形式(闭卷,考试)
一、单项选择题(每小题 2 分,共 40 分)
1.十六进制数 CDE 转换成八制数是(A )
2.A) 6336 B) 6363 C) 7337 D) 7373
3.以下所列的C语言常量中,错误的是( B )
4.A) 1UL B) e0.5 C) “A”D) '\b'
5.已知字母c的ASCII码为十进制的99,下面程序的输出是( A )
6.int main()
7.{
8.char c=’c’;
9. printf ("%d,%c\n",c+2,c+3);
10.}
11.A) 101, f B) 99, f C) 101, e D) 101, 102
12.表达式 5-3/2-1 的值是( B )
13.A) 0 B) 3 C) 2.5 D) 2
14.设x、z均为int型变量,x 的值为 1, 则求值表达式 z=x--, ++x 后,x, z的值分别
为( C )
15.A) 0, 1 B) 1, 0 C) 1,1 D) 0, 0
16.设x、z均为int型变量,x 的值为 1, 则求值表达式 z=x--||x++ 后,x, z的值分别
为( A )
17.A) 0, 1 B) 1, 0 C) 1,1 D) 0, 0
18.若函数 f 为
19.int f (int x)
21. return -(x<0)+(x>0);
22.}
23.则 f(2009), f(-2008) 和 f(0) 的值分别为 ( C )
24.A) 0 1 2 B) 1 1 0 C) 1 -1 0 D) -1 1 0
25.下面函数的输出为:(B)
26.int x=1;
27.int main()
28.{
29.int x=2;
30. {
31. extern int x;
32. printf (“%d ”, x);
33. }
34. printf(“%d\n”, x);
35.}
36.A) 1 1 B) 1 2 B) 2 1 D) 2 2
37.
38.下列程序的输出为:(A)
39.int main()
40.{
41.char *p=”hello”, *q;
42.for (q=p; *q; q++);
43. printf (“%d\n”, (int)(q-p));
44.}
45.
46.A) 5 B) 4 C) 6 D) 不是一个确定的值
47.想要表示若 x 既不能被 3 整除,又不能被 5 整除,则把 S 的值加 x,下面哪条语句
是错的?( B )
48.
49.A) if ((x%3)*(x%5)) S+=x;
50.B) if ((x%3==0)+(x%5==0)-(x%15==0)) S+=x;
51.C) if ((x%3)==0||!(x%5)); else S+=x;
D) if ((x%3)!=0) if ((x%5)!=0) S+=x;
52.下列程序段的输出结果是( C )
53.
54.void fun(int * x, int * y)
55.{
56. printf("%d %d ", *x, *y);
57. *x=3, *y=4;
58.}
60.int main()
61.{
62.int x=1,y=2;
63. fun(&x,&y);
64. printf("%d %d\n",x, y);
65.}
66.A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2
67.若有定义: float x;int a,b; 则正确的switch 语句是( C )
68.A) B)
69.switch(x) switch(x)
70.{ {
71.case 1.0:printf("*\n"); case 1,2:printf("*\n");
72.case 2.0:printf("**\n"); case 3:printf("**\n");
73.} }
74.C) D)
75.switch (a+b) switch (a+b);
76.{ {
77.case 1:printf("\n"); case 1:printf("*\n");
78.case 1+2:printf("**\n"); case (int)x: printf("**\n");
79.} }
80.
81.以下程序的输出结果是 ( C )
82.int main()
83.{
84.int i, x[3][3]={1,2,3,4,5,6,7,8,9};
85.for(i=0;i<3;i++)
86. printf("%d,",x[2-i][i]);
87.}
88.A) 9,5,3 B) 7,4,3 C) 7,5,3 D)9,6,1
89.以下程序输出的结果是( D )
90.int main()
91.{
92.char w[][5]={"ABCD","EFGH","IJKL","MNOP"};
93.int k;
94.for (k=1; k<3; k++)
95. printf("%s\n", w[k]+k);
96.}
97.A) B) C) D)
98.ABCD JKL EFG FGH
99.FGH OP JK KL
100.