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

2017年大连理工大学C++程序设计考研复试核心题库

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。 A.aa B.ma C.am D.mm

【答案】A

;,函数的作用是在内存的动态存储区分配一个【解析】malloc 函数的原型为:malloc (size )

长度为size 的连续空间。程序执行过程为:定义两个字符类型指针p1和p2,动态开辟10个字符类型的内存单元,并且使指针p1与P2均指向这10个内存单元的第一个单元。调用strcpy 函数,将字符串“malloc ”赋值给这10个内存单元的前7个单元,存储情况为:malloc\0,此时p1指向10个内存单元的第一个单元。再次调用strcpy 函数,这10个内存单元的第2个单元到第7个单元元素重新赋值给P2指向的内存单元以及以后的5个单元,存储情况为:alloc\0\0,此时p1和p2均指向10个内存单元的第一个单元。输出两个指针指向单元的数据值,结果为:aa ,故A 选项正确。

2. C 语言程序中,运算对象必须是整型数的运算符是( )。

【答案】C 【解析】模运算中不能出现浮点数,运算对象只能是整数。

3. 以下叙述中正确的是( )。

A. 结构体数组名不能作为实参传给函数 B. 结构体变量的地址不能作为实参传给函数

C. 结构体中可以含有指向本结构体的指针成员 D. 即使是同类型的结构体变量,也不能进行整体赋值 【答案】C

【解析】C 项正确,结构体中的成员可以是各种类型的指针变量。当一个结构体中有一个或多个成员的基类型就是本结构体类型时,通常把这种结构体称为可以“引用自身的结构体”。AB 两项错误,结构体的数组名和结构体变量的地址作为实参时,都是传引用形式调用函数;D 项错误,同类型的结构体变量之间可以直接赋值, 实际操作是内存空间拷贝。

4. 有如下程序:

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

【答案】A

【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名>成员名;③(*指针变量名). 成员名。数组名是指向数组首地址,也可以当做指向数组的指

针来使用。

元素

5. 有以下程序:

指向数组第三个元素

运行后的输出结果是

为字符串

A 项正确。

指向数组第一个

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

A.10, 64 B.10, 10 C.64, 10 D.64, 64 【答案】A

【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修

改。所以

算结果是不同的。

6. 有以下函数:

程序运行后的输出结果是( )。 A.xyz B.wxyz C.zyxw D.zyx 【答案】A

【解析】函数fim 是一个递归函数,递归的终止条件是输入的实参字符小于等于字符运行调用

7. 设有定义( ) 。

A. B. C. D.

【答案】C

A 项,【解析】

然后嵌套调用

输出结果为先输出x ,然后输出y ,最后输出z 。

所以有无括号的运

_以下能给数组x 下标为6的元素读入数据的正确语句是

元素类型为double , 所以输入

B 项,,有误:虽然x+6为指针,但*(x+6)

并非地址;D 项,使用p[6]表7K 的不是地址,方式不正确。

8. 以下程序: