当前位置:问答库>考研试题

2016年浙江工商大学计算机科学与技术C语言程序设计复试笔试最后押题五套卷

  摘要

一、选择题

1. 若有以下程序段:

输出结果是( )。

A.16

B.8

C.4

D.2

答:C

【解析】c 语言中是对二进制的右移运算符,右移相当于将原数做除二操作,它将原数右移相应位数,并将移出的位信息舍去,在高位补0, 将所得的结果再赋值给变量。本题中8的二进制为00001000, 右移一位得 到00000100,所以是4。

2. 以下程序:

程序运行后的结果是( )。

A.1 3 7

B.7 3 1

C.7 3

D.3 7

答:D

【解析】函数fun 是递归函数,递归终止条件是x 小于等于4, 当大于等于4是递归调用第一次循环调用跳出if 循环,执行输出x=3, 然后回到第一次循环,执行if 循环的语句,输出x=7。

3. C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是 ( )。

A. 预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义

B. 用户标识符可以由字母和数字任意顺序组成

C. 在标识符中大写字母和小写字母被认为是相同的字符

D. 关键字可用作用户标识符,但失去原有含义

答:A

【解析】C 语言允许把预定义标识符重新定义另作他用,但这将失去预先定义的原意。B 项,标识符的第一个字符必须为字母或下划线;C 项,标识符中,大写字母和小写字母被认为是两个不同的字符;D 项,关键字不能另作他用。

4. 有以下程序:

程序的运行结果是( )。

A.7, 4, 2

B.8, 7, 5, 2

C.9, 7, 6,4

D.8,5, 4,2

答:D

【解析】题目中的for 循环等价于:

第一次循环,x=8, for 循环条件为真,8%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值8, 然后将x 的值减1, 此时x=7。然后执行continue 语句结束本次循环,执行x--表达式,得x=6

第二次循环,x=6, for 循环条件为真,6%3=0, 则if 条件表达式为假,执行第二个输出语句,先将x 的值减1得x=5, 然后输出x 的值5, 执行x —表达式,得x=4。

第三次循环,x=4, for 循环条件为真,4%3=1,不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值4,然后将x 的值减1,此时x=3,然后执行continue 语句结束本次循环,执行x —表达式,得x=2。

第四次循环,x=2, for 循环条件为真,2%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值2, 然后将x 的值减1,此时x=l, 执行X-表达式,得x=0, for 循环条件为假,循环结束。

5. 有以下程序

程序输出( )。

A.0, 0, 0, 3

B. 编译有错

C.1, 1, 2, 0

D.0, 1, 2, 0

答:B

【解析】c=2不属于if 子句,它是在if 和else 之间的语句,如果该if 子句含有多个语句(两

,则必须使用复合语句,即用花括号把一组语句括起来。在程序中else 必须与if 配对,个以上)

共同组成一条if-else 语句,中间不能出现其他语句。

6. avg 函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10, 则下列函数说明语句错误的是( )。

A. B. C. D.

答:C

【解析】C 项中函数的两个参数均为整型变量,不能满足题干的要求,声明不正确。

7. 以下叙述中错误的是( )。

A. 可以用typedef 说明的新类型名来定义变量

B.typedef 说明的新类型名必须使用大写字母,否则会出编译错误

C. 用typedef 可以为基本数据类型说明一个新名称

D. 用typedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名

答:B

【解析】typedef 说明的新类型名习惯上用大写字母,但不是必须用大写。

8. 有以下程序: