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

2018年北京市培养单位中丹院864程序设计之C程序设计考研基础五套测试题

  摘要

一、选择题

1. 有以下程序段

若要求使p 指向一个int 型的动态存储单元,在横线处应填入的是( )。 A.int

B. (int*) C.int*

D. (*int) 【答案】B

C 语言标准规定malloc 函数返回值的类型为void*,malloc ,【解析】函数的调用形式为:(size )size 的类型为unsignedint 。p 是指向int 型的指针,要把void*强制转换成int*。

2. 有以下程序:

程序运行后的输出结果是( )。 A.21 B.11 C.6 D.1

【答案】A

【解析】将十进制数转换为二进制数进行位运算,5转换为二进制数是101, 再做<<2运算,即为10100, 然后100001等于10101,转换为十进制数为21。

3. 执行以下程序段后,w 的值为( )。

A.-1 B.NULL C.1 D.0

【答案】C

【解析】逻辑表达式的运算结果或者为所以都为真,因此xlly=l; 又因为

4. 有以下程序:

程序运行的结果是( )。 A.331 B.41 C.2 D.1

【答案】D

或者为为真,因此

因为x=14, y=15都是非零,

的值为1。

【解析】C 语言规定:else 子句总是与前面最近的不带else 的if 相结合,与书写格式无关。本题中的else 语句与第二个if 语句配对。程序首先判断x>y不成立,直接退出if 语句,

执行

注意,x++是先输出,后做++运算,故首先输出x 的值1,然后将X 的值

加1。

5. 以下四个程序中,完全正确的是( )。

【答案】B

【解析】A 项中,“main ( )”函数后面不能加分号;C 语言中注释语句的注释方法是

或//注释一行,

“indUde”前缺少“#”号。

6. 有以下程序:

和不能嵌套使用,C 项错误; D 选项中预编译命令

程序运行的结果是( )。 A.3456787 B.876543 C.1098765 D.321678 【答案】D

【解析】由于数组名本身是一个地址,所以在用数组名作为实参传递时,对应的形参相当于一个指针变量,在函数中可以通过指针变量来引用数组元素,从而改变元素的值。本题中函数fun 的作用是将数组A 的前n 个元素进 行逆转,变为

7. 有以下程序:

程序运行后的输出结果是( )。 A.3344 B.2050 C.3040 D.0304 【答案】C

【解析】main 函数的主体是一个for 循环语句,for 循环中包含一个switch 语句,如果判断条件为0则进入第二个switch 语句,如果判断语句为1则执行

,最后将数组顺序输出。所

以程序功能是将数组的偶数项设为0, 奇数项如果为奇数则减1,为偶数就加1,最后得到结果。

的结果是数组k 的前五个元素

逆转后,输出数组中第3个至第8个元素。