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

2018年山西大学数学科学院834程序设计之C程序设计考研基础五套测试题

  摘要

一、选择题

1. 以下程序段中,与其他三个功能不同的程序段是( )。

【答案】A

【解析】B 、C 、D 项都表示对1到10进行累加后赋给s ,而A 项中含break 语句,循环体只执行一次,结束整个循环过程。

2. 以下选项中叙述正确的是( )。

A. 函数体必须由{开始

B.C 程序必须由main 语句开始

C.C 程序中的注释可以嵌套

D.C 程序中的注释必须在一行完成

【答案】A

【解析】函数体是函数首部下面的花括号内的部分,所以函数体必须由{开始,A 选项正确。一个源程序文 件可以包括预处理命令、全局声明、函数定义,程序总是从main 函数开始执行的,不是main 语句,B 选项错误。C 程序中允许两种注释,以开头的单行注释;以开始,以结束的块式注释,D 选项错误。函数可以嵌套,注释不能嵌套,C 选项错误。

3. 设有以下程序段:

则变量y 的取值范围是( )。

【答案】B

【解析】本题考点为求余符号。rand ( )产生随机整数,任何整数对30求余得到

或者说故B 选项正确。 的整数范围为0〜29, 则y 的取值范围为

4. 有以下程序

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

A.2,3,1

B.2,3,2

C.2,3,3

D.2,2,1

【答案】A

【解析】对于表达式“z=x++,y++,++y; ”,赋值运算符的优先级高于逗号运算符的优先级,可改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,因为x++先使用后自増,所以z 的值为1,x 的值为2。再计算逗号表达式第二个表达式y++,此时y 的值为1,y++的值为2。最后计算第三个表达式++y,y 的值为3。

5. 有以下程序:

程序的输出结果是( )。

A.22

B.18

C.20

D.16

【答案】D

【解析】语

退出循环。

6. 在一个C 源程序文件中所定义的全局变量,其作用域为( )。

A. 所在文件的全部范围

相当

于程序执行过程为

B. 所在程序的全部范围

C. 所在函数的全部范围

D. 由具体定义位置和extern 说明来决定范围

【答案】D

【解析】全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。

7. 下面选项中关于位运算的叙述正确的是( )。

A. 位运算符都需要两个操作数

B. 位运算的对象只能是整型或字符型数据

C. 左移运算的结果总是原操作数据2倍

D. 右移fe 算时,尚位总是补0

【答案】B

【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。

8. 下列定义数组的语句中,正确的是( )。

A )

【答案】D

【解析】一维数组定义格式是:类型名数组名[整型常量表达式]。D 项正确,它使用预处理宏定义,N 可以看做是常量。A 项错误,没有指明数组的长度;B 项错误,数组长度不能由变量指明;C 项错误,数组长度应该整型常量表达式。

9. 有如下程序:

B )

C ) D )