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

2016年河南大学教育科学学院C程序设计(同等学力加试)考研复试题库

  摘要

一、选择题

1. 有如下程序:

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

【解析】在输出函数中,调用了

函数。

函数作用是定义一个静态变量

变量init 进行叠加形参data 的值,并将结果作为函数的返回值。在main ( )函数中,实参i=l传递给sum ( )函数的形参data ,因此输出为2。

2. 有以下程序:

程序的运行结果是( )。 A.1 B.10 C.0 D.4 答:A

【解析】程序的执行过程为:a=l时,条件不成立,执行语句b+=a; 得到b=l; a=2时,

a%2=0条件成立,执行语句break ; 跳出循环。输出b=l, 故A 项正确。

3. 有以下程序:

执行时如输入为:则输出结果是( )。 A.abcdefg

B.

c. D.bcdefgh 答:D

【解析】题目中for 语句含义是,每次将函数getchar ( )的输入值赋给变量c ,如果不等于‘#’,则执行putcbar (++c), 即将当前变量c 值的ASCII 码+1后,再输出改变后的变量c 的值。当变量c 的值等于‘#’,则终止循环,所以输出应该是bcdefgh ,答案为D 选项。

4. 有以下程序:

程序的运行结果是( )。 A.21,18 B.81,81 C.21,21 D.18,18

答:A

,替换过程是,用宏调用提供的实参字符串,【解析】带参数的宏的调用格式:宏名(实参表)S 直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。(k+j+2•被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21; S (j+k+2.被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是21,18,故A 选项正确。

5. 有以下定义则以下选项中正确的表达式是( )。

答:A

【解析】%运算是取两整数相除后余数的运算符,它只适用于整数的运算。A 项正确,果为double 型, 但是通过强制类型转换将其转换为int 型;B 项错误,个优先级的,

先运行为左值。

6. 若有定义

答:C

【解析】C 项错误,在C 语言的算术运算符中,取余运算符必须是整数。

A 项,赋值运算符的优先级高于“,”运算法,先进行赋值;B 项,将的计算结果赋给变量

7. 有以下程序:

程序运行后的输出结果是( )。 A.1, 4, 8 B.4, 4, 4 C.1, 2, 4 D.1, 1, 4 答:B

才是正确的;C 项错误,

b 中的

中==和!=是同一

不能作

而因为double 是占8位的,不能自动转换,必须要强制类型转换

为double 型;D 项错误,

则不符合C 语言规定的赋值语句是( )。

的左右两侧的两个运算分量

右边的逻辑表达式

D 项,首先对变量a 求逻辑非操作,然后将结果赋值给变量i

【解析】sizeof ( )函数表示求该变量所占字节空间,同时一个指针变量占用4字节长度[在Win32系统中], 因此输出为4。

8. 若有以下程序