完整版广州大学C语言程序设计期末考试试卷含答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档