2007级C语言程序设计试卷_1B(2008.6) 下载本文

内容发布更新时间 : 2024/3/29 21:27:30星期一 下面是文章的全部内容请认真阅读。

天津工业大学200 7 ~200 8 学年第 2 学期 C 程 序 设 计 试卷(B)

学院 班级 学号 姓名 注意事项:1、本试卷共 12 页,满分为 100 分,考试时间为 110 分钟。

2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,

不得使用红颜色墨水笔。

题 目 得 分 阅卷人 一 二 三 四 总 分 分数核对

二、阅读程序题答题处: (每空3分,共30分) 1题【41】 4题【44】 6题【46】 8题【48】 2题【42】 5题【45】 7题【47】 9题【49】 10题【50】 3题【43】

三、程序改错题答题处:(每空2分,共12分) 1题 【51】 【52】 【53】 2题 【54】 【55】 【56】 第 1 页 共 12 页

四、完善程序填空题答题处:(每空2分,共18分) 1题 【57】 【58】 【59】 2题 【60】 【61】 【62】 3题 【63】 【64】 【65】 一、单项单选题:(每题 1 分,共 40 分)

(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”) 1.下列标识符中, 【】 都是合法的。

A) _key,example,a3b B) 5ap,test1,ELSE C) bcp,@mail,_c_d D) struct ,paper1,my_var

2.若有说明,char s='\\062'; 则该说明 【】 。 A) 使s的值包含1个字符 B) 使s 的值包含3个字符

C) 使s的值包含4个字符 D) 说明不合法

3.如果a=1,b=2,c=3,d=4; 则条件表达式 a>b?a:c

A) 1 B) 2 C) 3 D) 4

4.判断char型变量ch是否为大写字母的正确表达式为 【】 。

A) (A<=ch) && (ch<=Z) B) ('A'<=ch) && (ch<='Z') C) (A<=ch) || (ch<=Z) D) ('A'<=ch) || (ch<='Z')

5.下列表达式中的值为4的是 【】 。

A) 11/3 B) 11.0/3 C) (float)11/3 D) (int)(11.0/3+0.5) 6.下列do语句的循环次数为 【】 。 int a=10; do { a--;} while (a!=0);

A) 10 B) 9 C) 11 D) 12

第 2 页 共 12 页

7.执行下列程序段后,变量 i 的值是 【】 。

int i=10; switch (i)

{ case 10: i+=1; case 11: i+=1; case 12: i+=1; break; case 9: i+=1; }

A) 11 B) 12 C) 13 D) 14 8.有以下语句,则c 的二进制值是 【】 。

char a=3,b=6,c; c=a^b<<2; A) 00011011 B) 00010100 C) 00011100 D) 00011000 9.下列程序的运行结果是 【】 。

main() { int a; float b;

a=4; b=9.5;

printf(\ }

A) a=%d,b=%f\\n B) a=%d,b=%f C) a=4,b=9.50 D) a=4,b=9.5 10.设有以下语句int x=10; x+=3+x%(-3);则x的值是 【】 。

A) 14 B) 15 C) 11 D) 12

11.当a=4、b=5、c=3、d=1时,执行下面程序段后,x的值是 【】 。

if(a

if(c

A) 1 B) 2 C) 3 D) 6 12.已知int x=10,y=20,z=30,则执行 if(x>y) z=x; x=y; y=z;

语句后,x、y、z的值是 【】 。 A) x=10,y=20,z=30 B) x=20,y=30,z=30 C) x=20,y=30,z=10 D) x=20,y=30,z=20

第 3 页 共 12 页

13.下列运算符中,优先级最高的运算符是 【】 。

A) ?: B) ++ C) && D) +=

14.unsigned修饰 【】 类型是错误的。

A) int

15.下列由代数式

B) char C) float D) long int

3ae改写成的C语言表达式中错误的是 【】 。 bc C) 3*a*e/b*c D) a*e/c/b*3

A) a/b/c*e*3 B) 3*a*e/b/c

16.设己定义 int a[ ]={0,1,2,3,4,5,6,7,8,9},*p= a, i ;

其中0<i<9, 则对a数组元素的引用不正确的是 【】 。

A) a[p – a] B) *(&a[i]) C) p[i] D) *(*(a+i ))

17.以下程序段给数组所有元素输入数据,应在下划线处填入的是 【】 。 main( )

{ int a[10], i=0;

while (i<10) scanf(\ 【】 ); ?? }

A) a+(i++) B) &a[i+1] C) a+i D) &a[ ++i ]

18.下面程序的输出结果是 【】 。 #include main()

{ char p1[]=\ strcpy(str,strcat(p1,p2)); printf(\ }

A) xyzabc B) abcABC C) xyzabcABC D) xyzABC

19.下面程序的输出结果是 【】 。 main()

{ char a[][6]={\ int i;

for (i=0;i<4;i++) printf(\ printf(\ }

【23】A) ABCDEFGHIJKL B) ABCD

C) ABCDEFGHIJKLMNOP D) AEIM

第 4 页 共 12 页

20.以下程序的输出结果是 【】 。 main()

{ int n[2 ], i, j, k=2; for( i=0; i

for( j=0; j

A) 不确定值 B) 3 C) 2 D) l 21.设已定义char c[8]=\和int i,则下面的输出函数调用中错误的是 【】 。

A) printf(\ B) for (i=0;i<8;i++) printf(\C) puts(c); D) for (i=0;i<8;i++) puts(c[i]);

22.若定义 char s[10],*p=s; 以下错误的表达式是 【】 。

A) p=s+5 B) s=p+s C) s[2]=p[4] D) *p=s[0]

23.若定义 int b[]={1,2,3,4} ,y ,*p=b; y=*p++; 执行后,y的值是 【】 。

A) 1 B) 2 C) 3 D) 4

24.已知函数定义如下,该函数的功能 【】 。 void str(char *p1, char *p2) { while(*p2++=*p1++); }

A) 求字符串的长度 B) 串复制

C) 串比较 D) 字符串的逆序存放

25.若定义 int x=65,*fp=&x; 则下面均能表示x地址的一组选项是 【】 。

A) fp,*&x,&*fp B) &*fp,&x,fp C) &fp,fp,&x D) fp,&x,&fp

26.若定义 int a[4][5],*p,*q[4]; 且0≤i<4 则下面错误的赋值 【】 。

A) p=a; B) q[i]=a[i]; C) p[i]=a[i]; D) q[i]=&a[2][0];

27.若定义 char b[5],*p=b; 正确的赋值语句是 【】 。

A) b=\ B) *b=\ C) p=\ D) *p=\

28.若定义 char *sp=\ 则printf(\的输出结果是 【】 。

A) 3 B) 7 C) 1 D) 值不确定

第 5 页 共 12 页