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

2018年河南科技大学信息工程院878面向对象程序设计[专硕]之C程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。

A.

B.

C. D. 【答案】B

【解析】调用函数fun ,

输出的是

即输出即

2. 若各选项中所用变量已正确定义,函数fun 中通过return 语句返回一个函数值,以下选项中错误的程序是( )。

【答案】B

【解析】当在所有函数的外部、被调用之前说明函数时,在对函数进行说明的语句后面所有位置上都可以对该函数进行调用。函数说明也可以放在调用函数内的说明部分,如在main 函数内 部进行声明,则只能在main 函数内部才能识别该函数。B 项错误,main 函数不能识别fun 函数。

3. 有以下程序

程序运行后的输出结果是( )。 A.235 B.0235 C.02356 D.2356 【答案】A

【解析】第一次循环k 为5,

执行为3, 第二次循环k 为3,

执行执行

4.

若有定义

【答案】C

【解析】根据优先级规则,II 两边都是括号,则从左至右执行括号中的表达式,将赋值给a ,即a 为5, 不为0,

5. 有以下程序

程序运行后的输出结果是( )。 A.2,3,1 B.2,3,2 C.2,3,3

和输出n 为2, k 的值

输出n 为3, k 的值为2, 第三次循环k 为2,

,输出n 为5, k 的值为1,循环条件不成立,所以输出235。 则执行表达式

后a 、b 、c 的值依次为( )。

的值

右边的括号不需要再执行。

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。

6. 若有函数声明

:以下叙述正确的是( )。

A. 函数参数array ,ptr 都是指针变量

B. 函数参数array 不是指针变量,ptr 是指针变量 C. 调用函数时,实参数组的值将一一复制给array 数组 D. 调用函数时,array 是按值传送,ptr 是按地址传送 【答案】A

【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。

7. 以下程序段中的变量已定义为int 类型,则

程序段的输出结果是( )。 A.6 B.4 C.5 D.7

【答案】D

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自増和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010=8,y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9,故D 选项正确。

8. 有以下程序: