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

2016年浙江理工大学理学院C语言程序设计复试笔试仿真模拟题

  摘要

一、选择题

1. 若有以下程序:

以下叙述中正确的是( )。 A. 可用S 定义结构体变量 B. 可用T 定义结构体变量 C.S 是struct 类型的变量 D.T 是structS 类型的变量 答:B

【解析】S 为结构体类型名,而T 为结构体变量名表。

2. 有以下程序:

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

A. B. C. D. 答:D

while 函数判断p 指针指向地址的内容是否和a 指针指向地址的内容相等,【解析】如果不是,则移动指针p+1, 当p 指向*b字符串中的

时,和首地址元素相等,退出while 语句后,p 再向

输出

及剩余的字符串,D 项正确。

库函数strcpy 的功能

右移动a 字符串长度+1个单位地址,此时p 指向

3. 若有定义语句:

是复制字符串,以下选项中错误的函数调用是( )。

A. B.

C. D. 答:A

【解析】题目中字符指针str3, 没有为指针开辟内存,能作为函数参数。

4. 有以下程序:

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

【解析】程序中定义了一个3含有三个结构体node 元素的数组,数组中的元素的next 指针分别指向后一个元素,最后一个元素的next 指针置为NULL 。p 指针最初指向x 数组中的第一行元素的第一个元素,即为2; 即第一次输出2,第二次输出的是x 数组中的第二行元素的第一个元素,为4。

5. 有以下程序:

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

【解析】在C 语言中,函数参数的传递是“传值”的,即形参和实参是两个没有关系的变量,本题函数的形参虽然为指针变量,但是函数内部交换的是地址值,并没有交换主函数中变量x 与y 的值。函数内对地址值的交换不会传递给实参,因此,交换函数并没有交换p 、q 所指向的值。

6. 有如下程序:

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

答:A

【解析】A 项正确,room 表示数组首地址,首地址+1,指向room 数组中第二个元素,并将该元素的name 信息进行输出,同理,对第一个元素中的age 信息输出。

7. 若有定义:

则与上述定义完全等价的说明语句是( )。 A.int*a[20][10]; B.int*a[20]; C.int*a[10]; D.int*a[10][20]; 答:A

【解析】新定义的类型T 为大小为10的整型数组,定义T 型指针数组*a[20],等价于定义了一个指向整型长度为10的数组的指针数组,这个指针数组大小为20,即为整型指针二维数组,行20列10,A 项正确。

8. 若有定义语句intx=12,y=8,z ;,

其后执行语句

A.1.9 B.1 C.2

则z 的值为。