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

2017年南京大学3303C++程序设计上机考试复试仿真模拟三套题

  摘要

一、选择题

1. 以下关于C 语言数据类型使用的叙述中错误的是( )。

A. 若要准确无误差地表示自然数,应使用整数类型。

B. 若要保存带有多位小数的数据,应使用双精度类型。

C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型。

D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型。

【答案】D

【解析】C 语言的数据类型有:整型、字符型、实型、枚举类型、数组类型、结构体类型、共同体类型、指针类型和空类型。在C 语言中没有逻辑类型,而是借用整型、字符型、实型来描述逻辑数据。

2. 以下合法的转义字符是( )。 A. B. C. D.

【答案】D 【解析】

3. 有如下程序:

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

A.12

B.14

C.20

D.13

【答案】C

【解析】整型常量中,十进制整常量没有前缀,输出格式控制符为

为前缀,输出格式控制符为进制数

十六进制整常量以或表示成十进制数为19,以十进制格式输出八进制整常量以0作十六作为前缀,输出格式控制符为故C 项正确。 表示1到2位十六进制所代表的字符,D 项正确。

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

A. 不能用字符串常量对字符数组名进行整体赋值操作

B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C.

D.

【答案】A

【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串

B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加

最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。

5. 有以下定义:

以下叙述中错误的是( )。

A.x 的内存地址与x.i 的内存地址相同

B.struct data是一个类型名

C. 初始化时,可以对x 的所有成员同时赋初值

D. 成员i 、c 和d 占用的是同一个存储空间

【答案】D

【解析】i 、c 、d 是结构体变量x 中的三个不同的成员,占用不同的存储空间。共用体的各成员占用同一个存储空间。

6. 若有以下程序

则程序的输出结果是( )。

A.11,2

B.25,2

C.11,12

D.25,26

【答案】D

【解析】S (k+j)展开后是(3+2)*(3+2)=25,T (k+j)展开后是(3+2)*(3+2)/(3+2)*(3+2)+1=26。

在语法上是合法的,运行也是安全的 效果是一样的 它共有6个元素;C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它

7. 若有以下程序

则程序的输出结果是( )。

A.5, 1, 2, -1

B.2, 1, 2, -1

C.2, 2, 2, 4

D.1, 2, 3, 4

【答案】A 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;苻号两侧都为假时,结果为假,否则返回真。

题目没有答案,原题可能是

输出a ,b ,c ,d

第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。

8. 以下叙述错误的是( )。

A. 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法

B. 同一程序各模块可由不同人员同时进行编写调试,可提高编写程序的效率

C. 模块化的程序设计是采用自顶向下、逐步细化的原则

D. 程序的每个模块都可通过三种基本结构实现

【答案】A

【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成 各个模块的编写调试后再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A 选项叙述错误,C 选 项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B 选项叙述正确。结构化程序 主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D 选项叙述正确。故选择A 选项。