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

2018年北京师范大学数学科学院805数据结构(C语言版)之C程序设计考研仿真模拟五套题

  摘要

一、选择题

1. 若有说明

A. 编译后系统为W 分配5个字节

B. 编译后系统为W 分配6个字节

C. 编译后系统为W 分配58个字节

D. 编译后系统不为W 分配存储空间

【答案】D

【解析】结构体类型的说明只是列出了该结构的组成情况,标志着这种类型的结构“模式”已存在,编译程序并没有因此而分配任何存储空间。真正占有存储空间的仍应是具有相应结构体类型的变量、数组以及动态开辟的存储单元。

2. 有如下程序:

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

A.4, 4, 4

B.1, 4, 8

C.0, 0, 0

D.1, 2, 4

【答案】A

【解析】sizeof 函数用来获取类型或数据对象的长度,也即是一个这种数据类型的变量在内存中所占字节数。 由于一个变量的地址也是一个值,因此就可以把这个地址值存放到另一个变量里保存。这种专门用来存放变量地 址的变量,称为“指针变量”。所有类型的指针变量都是地址,所占字节数均为4, 故A 项正确。

3. 设有以下定义:

第 2 页,共 44 页 则以下叙述中正确的是( )。

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

A. 数组s1的长度小于s2的长度

B. 数组s1和s2的长度相同

C. 数组s1的长度大于s2的长度

D. 数组s1和s2完全等价

【答案】C

【解析】为字符数组赋值字符串“0123”时,字符串中字符依次放人数组中后,在最后一个

数组s1长度为5。数组s2只需要4个单元即可放下所有初始字符后要添 加一个结束字符

化值,故数组长度为4。所以数组s1的长度大于S2的长度,C 项正确。两个数组等价是指两个数组长度和类型以及对应每个元素值均相 同,所以s1和82不是完全等价,D 项错误。

4. 有定义语句:若要从终端给s 输入5个字符,错误的输入语句是( )。 A. B. C. D.

【答案】D

【解析】采用

首地址。A 项,

的首地址;D 项

5. 若有以下程序:

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

A. 可用S 定义结构体变量

B. 可用T 定义结构体变量

C.S 是struct 类型的变量

D.T 是structS 类型的变量

【答案】B

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

6. 有以下程序:

第 3 页,共 44 页 函数输入时,输入项为变量的地址。为数组的首地址;B 项,不是地址。【程序有错

,其中输入项为存放字符串的应

为最后一行应

为为数组中第二个元素的地址;C 项,s 也为数组

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

A.AAAA

B.CC

C.BBBCC

D.BBBB

【答案】D

【解析】程序中声明一个3行4列的字符型数组。要求输出

故ch[l]为第二行的BBBB 。

7. 若有以下程序段

不能正确引用字符串的选项是( )。 A. B. C. D.

【答案】D

【解析】strp 是char *类型、长度为4的数组,4个指针分别指向字符串数组str 中的4个字符串。D 项错误,step 是char*的数组,不能引用字符串。A 项正确,引用strp 数组中第一个指针指向的内容,gpaa”; B 项正确,str 是字符串数组,引用数组中的”aa”; C 项正确,

于访问strp 中第四个指针指向的内容,即 ”d”。

8. 有以下程序:

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

A.beijing B. china C. welcome D . tiananmen

【答案】C

【解析】strcmp 用于比较两字符串:当时,返回值当时,返回值=0; 当时,返回值>0。程序主要实现的是先对前两行进行比较,将码值大的调到后面,依次比较,即

即为 “weleome”。等价由于数组下标默认从0开始,“china”、“tiananmen”、“weleome”、“you”,最后的顺序为“beijing”、最后输出

第 4 页,共 44 页