⑤ COBOL
③ C++ ④ LISP
⑧ ALGOL ⑨ PROLOG ⑩ FOXBASE
第一章 程序设计与 C++语言初步
填空题、选择题
1 程序设计方法大致可分为两类∶ A 和 B ,其中A将复杂的问题分解成许多
小的、简单的问题来求解,而B则将已经求解的小问题组合起来以得到复杂问题的解,然而
许多程序设计方法是这两者的结合。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶自顶向下方法;B∶自底向上方法
2 很早就出现了许多程序设计语言,其中 A 主要用于科学计算领域, B 主要应用
在商业事务处理领域, C 是一种通用的算法语言,而 D 则主要面向初学者。
可选项∶
① PASCAL ② BASIC
⑥ FORTRAN ⑦ ADA
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶⑥;B∶⑤;C∶⑧;D∶②
3 结构化程序是一种单入口/单出口程序,有人证明了只用三种基本控制结构就可实现这
种程序,这三种基本控制结构是∶ A 、 B 、 C 。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶顺序;B∶选择;C∶循环
4 面向对象程序设计建立在结构化程序设计的基础上,它围绕 A 来设计程序,而不是
操作本身,且以 B 为构造程序的基本单位,具有 C 、 D 、 E 、 F 等特点。
难易程度∶ B∶中等
认知程度∶ Ⅰ∶识记
预计答题时间∶ 1 分钟
参考答案∶ A∶被操作的数据;B∶类;C∶封装;D∶数据抽象;E∶继承;F∶多态性
5 定义一种程序设计语言必须描述它的 A 和 B 。其中A刻划什么样的符号串是有
效的程序,而B描述的是用这种语言编写的程序的含义。其中A较常用的定义方法包括∶C
和 D 两种。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶语法;B∶语义;C∶BNF;D∶语法图
6 我们在微机上使用的C++语言是建立在 A 字符集之上的,而当前流行的还有IBM
1
提出的 B 字符集,APL语言就使用这种字符集。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶ASCII 编码;B∶EBCDIC 编码;
7 一个用C++语言编写的程序是由若干 A 再加上一个主函数组成,必须经过 B 、
C 、 D 等过程才能运行。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶类或函数;B∶编辑;C∶编译;D∶链接
8 C++程序在编译时可能出现两种类型的错误∶ A 和 B ,如果出现前一类错误
则无法生成目标代码。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶严重错误;B∶警告错误
问答题
9 试说明算法、实体与程序之间的关系。
难易程度∶ C∶较难
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶
10 类与对象之间有什么关系,两者又有何区别?
难易程度∶ B∶中等
认知程度∶ Ⅱ∶理解
预计答题时间∶ 2 分钟
参考答案∶对象是现实世界中的实体在计算机中的表示,对象具有属性和行为。类是具有共
同属性和行为的对象的抽象描述,将对象划分成类依赖于问题领域的知识。类刻划一组对象
的共同属性和行为,对象是类的具体实例。
11 给出十进制数 496 的二进制、八进制和十六进制的表示。
难易程度∶ B∶中等
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 3 分钟
参考答案∶49610=(111110000)2=(760)8=(1F0)16
12 我们可将仓库中存储的商品看成实体,试描述该实体。
难易程度∶ B∶中等
认知程度∶ Ⅱ∶理解
2
输入∶ 入库数量 in_qty、入库单价 in_price
输出∶ 无
步骤 1∶令 qty=qty+in_qty,cost=cost+in_qty*in_price 并终止
2)出库
输入∶ 出库数量 out_qty
输出∶ 实际出库数量 out_qty、实际出库金额 out_cost
步骤 1∶如果 out_qty>qty 则令 out_qty=0 并转向步骤 2;
否则令 out_cost = out_qty * (cost / qty),
并终止;
步骤 2∶提示库存数量不足并终止
out_qty = out_qty, qty = qty - out_qty
cost = cost - out_cost
实体∶ 库存商品
属性∶ 商品品号、名称、规格型号、库存数量 qty、库存金额 cost、入库时间
行为∶ 1)入库
预计答题时间∶ 10 分钟
参考答案∶库存商品实体可如下描述∶
13 给定字母表∑={0, 1}。串 S 由 1 开头,中间有零个或多个 0 或 1,最后由 1 结束,试用
BNF 描述串 S 的语法。
难易程度∶ A∶较易
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 0.5 分钟
参考答案∶S ::= 1 { 0 | 1 } 1
14 给定下述 BNF∶
试判断下列句子是否符合以上描述的语法∶
难易程度∶ B∶中等难度
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 2 分钟
句子 ::= 主语 谓语
主语 ::= 冠词 形容词 名词
冠词 ::=
形容词 ::=
谓语 ::= 动词 直接宾语
动词 ::= 助动词 动词原形
助动词 ::=
动词原形 ::=
直接宾语 ::= 冠词 名词
(1) the gray wolf will eat the wolf
(2) an black goat will eat the wolf
(3) an gray wolf can eat a black goat
the | a | an
black | gray
can | will
eat
名词 ::=
wolf | goat
3
bexpr ::= bexpr or bterm | bterm
bterm ::= bterm and bfactor | bfactor
bfactor ::= not bfactor | ( bexpr ) | true | false
参考答案∶①、②符合题中 BNF 所描述的语法,而③不符合。
15 给定下述 BNF 所描述的语法∶
试给出符合上述语法几个句子实例。
难易程度∶ B∶中等难度
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 2 分钟
参考答案∶下面给出几个实例∶
① true and false or (not true)
② false or true and not false
③ true and false and (not false and (true or false))
16 质数是指该数除了 1 之外没有其他因子。试给出一个算法,判断一个整数是否为质数。
难易程度∶ C∶较难
认知程度∶ Ⅳ∶综合运用
预计答题时间∶ 10 分钟
参考答案∶
17 完全数是指该数的所有因子之和等于它自身的数。例如 6 是完全数(1+2+3),28 也是完
全数(1+2+4+7+14)。试给出一个算法,判断一个整数是否为完全数。
难易程度∶ D∶难度较大
认知程度∶ Ⅳ∶综合运用
预计答题时间∶ 15 分钟
参考答案∶判断一个数 m 是否是完全数的算法如下∶
步骤 1∶令 sum = 1,a=2(初始化)。
步骤 2∶如果 a 能整除 m,则令 sum 等于 sum 加上 a,否则直接转步骤 3。
步骤 3∶令 a 等于 a 加 1,如果 a 等于 m 转步骤 4,否则转步骤 2。
步骤 4∶如果 sum 等于 m,输出 m 是完全数,否则输出 m 不是完全数。
4
第二章 基本数据类型
填空题、选择题
1 如果编译程序在语法分析阶段严格检查数据上的操作是否满足数据所属类型的要求,这
种程序设计语言称为 A ,否则称为 B 。Ada和Pascal等语言都是 C ,而
Smalltalk、BASIC等语言则是 D 。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶强类型的;B∶弱类型的;C∶强类型语言;D∶弱类型语言
2 组成C++程序的最小单位是 A ,C++程序中有五种A∶ B 、 C 、 D 、E 、
F 。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶单词;B∶保留字;C∶标识符;D∶常量;E∶运算符;F∶分界符
3 每一种类型的数据都可分为 A 和 B 两类。类型决定了数据的 C 、 D 与
E 。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶变量;B∶常量;C∶表示方式;D∶取值范围;E∶可进行的操作
4 对于常量,其类型由 A 决定;对于变量,其类型由 B 决定。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶书写常量的语法形式;B∶程序员显示声明
5 在C++语言中,有符号字符的取值范围可以从 A 到 B ,而有符号整数的取值
范围可以从 C 到 D 。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶-128;B∶127;C∶-32768;D∶32767
6 对数据进行操作是通过运算完成的, A 与 B 组成表达式。一个表达式有两
个重要内容∶ C 和 D 。其中C不仅取决与运算符的语义,而且还与运算符执行次
序密切相关,而运算符的执行次序由运算符的 E 和 F 决定。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
5
预计答题时间∶ 0.5 分钟
参考答案∶ A∶运算符;B∶操作数;C∶表达式的求值结果;D∶表达式结果的类型;E∶
优先级;F∶结合性
7 变量的值主要通过赋值运算改变。赋值运算由赋值符号“=”将赋值表达式分为左右两
边,左边必须是 A ,不能是 B 、 C 或其他表达式 。能放在赋值号左边的语
法单位又称为 D 。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶变量;B∶常量;C∶符号常量;D∶左值
8 当二元运算的两个操作数类型不一致时,C++编译程序会自动作 A ,注意在赋值
运算的类型转换过程中可能 B 。程序员也可显示地 C 类型转换。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ A∶隐式类型转换;B∶丢失数据;C∶强制
9 下列单词是C++语言中的合法标识符,请选择∶
① begin ② array[i]
⑥
file_name ⑦ struct
难易程度∶ A∶较易
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 0.5 分钟
参考答案∶ ①、④、⑥、⑨
10 下列哪些是 C++语言中的合法常量,请选择∶
① 10*2 ② 100L
'abc'
⑥ "ABC" ⑦ 0237 ⑧ 0xABCD ⑨ 0356L
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 2 分钟
参考答案∶ ②、⑤、⑥、⑦、⑧、⑨、⑩
11 下列哪些是 C++语言中的合法常量,请选择∶
① +.234E5 ② 50.0U
⑥ E+10 ⑦ 35E
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 2 分钟
参考答案∶ ①、④、⑤、⑧、⑩
12 请分别指出下列常量的类型∶
③ new ④ _1first
⑧ OK? ⑨ _while
③ 3.14E0.2 ④
⑧ 0.E-5 ⑨
-4.2E-10f ⑤ 0.1206
.E+5
⑩ 0.0
⑤ 3rd
⑩ number3.5
③ 0238 ④
⑤ "A"
⑩ 0xAL
6
-2
.2L
④ 2L
⑤ 0xFFFF
③ 2u
① 2 ②
⑥ 0x3FFF ⑦ 0xFFFFFFF ⑧01234567
难易程度∶ B∶中等难度
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 5 分钟
参考答案∶
常量 2、-2 所属的类型是整数类型(int)。
常量 2u 所属的类型是无符号整数类型(unsigned int)。
常量 2L 所属的类型是长整数类型(long)。
常量 0xFFFF 0xFFFFFFFF 01234567 所属的类型是长整数类型(long),因为它们都
超过了整数类型(int)的取值范围,整数类型中能表示的最大整数是 0x7FFF,或八进制表示
的 077777。
13 请分别指出下列常量的类型∶
① 2.F ②
难易程度∶ B∶中等难度
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 3 分钟
参考答案∶
③ 0.2E100 ④ 0.0
常量 2.F 所属的类型是浮点类型(float)。
常量 .2L、2E100、0.0 所属的类型是双精度类型(double)。
名词解释
14 标识符
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ 在 C++程序中,标识符是由字母或下划线开头的字母、数字与下划线的序列。
15 常量
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ 在程序执行过程中,其值不能改变的量称为常量。
16 变量
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ 在程序执行过程中,其值可以改变的量称为变量。
17 表达式
难易程度∶ A∶较易
7
认知程度∶ Ⅰ∶识记
预计答题时间∶ 0.5 分钟
参考答案∶ 表达式是由操作数和运算符按一定语法形式组成的符号序列。
问答题
18 试说明程序设计语言中类型的作用。
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶
19 试说明为什么在程序中要使用好的标识符?
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶
20 C++中有哪几种基本的数据类型?
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 2 分钟
参考答案∶
21 请尽可能多地列出 C++中的表达式种类。
难易程度∶ A∶较易
认知程度∶ Ⅰ∶识记
预计答题时间∶ 2 分钟
参考答案∶
22 试说明 C++中隐式类型转换的规则。
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶
23 设 is_ready、is_busy 和 no_paper 的值分别为 1、0 和 0,试计算下列表达式的值∶
①
②
③
④ 5 && ! is_ready && is_busy || !no_paper
难易程度∶ B∶中等难度
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 8 分钟
参考答案∶
!is_ready && !is_busy
is_ready || is_busy && no_paper
(!is_ready || is_busy) && (is_busy || no_paper)
8