第一章概述
一、选择题
1. 关于C++与C语言的关系描述中,错误的是( )
A. C语言与C++是兼容的 B. C语言是C++的一个子集 C. C++和C语言都是面向对象的 D. C++对C语言进行了一些改进
2. 不可以作为C++用户标识符的是( )
A. Printf B. _123 C. While D. case
3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( ) A. cpp B. obj C. lib D. exe
4. 关于C和C++的描述中,正确的是( )
A. C是面向过程,C++是纯面向对象 B. C++是C的超集 C. C++是对C的错误的修改 D. C++和C没有关系
5. C++对C作了很多改进,从面向过程成为面向对象的主要原因是( )
A. 增加了一些新的运算符 B. 允许函数重载,并允许设置参数默认值 C. 规定函数必须用原型 D. 引进了类和对象的概念
6. 将高级语言编写的源程序翻译成目标程序的是( )
A. 解释程序 B. 编译程序 C. 汇编程序 D. 调试程序
7. C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的
最大改进是( )
A. 面向过程 B. 面向对象 C. 安全性 D. 复用性
8. C++语言支持过程程序设计方法和( )设计方法。
A. 面向对象 B. 面向函数 C. 面向用户 D. 面向问题
9. 关于C++和C的关系中,使C发生了质的变化,即从面向过程变成为面向对象的是( ) A. 增加了新的运算符 B. 允许函数重载,并允许缺省参数 C. 规定函数有原型 D. 引进了类和对象的概念
10. C++语言最有意义的方面是支持( )
A. 面向事件 B. 面向程序 C. 面向对象 D. 面向用户
11.下列说法中,正确的是( )
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从主函数开始执行
C. C++函数必须有返回值,否则不能调用此函数
D. C++程序中有调用关系的所有函数必须放在同一个源程序文件中
12. 下列描述中,正确的是( )
A. 程序就是软件 B. 软件开发不受计算机系统的限制
C. 软件既是逻辑实体,又是物理实体 D. 软件就是程序、数据与相关文档的集合
13. 为了使模块尽可能独立,要求( )
A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
14. 下列说法中正确的是( )
A. 数据流图详细描述了系统中对象数据是如何计算的 B. 数据流图详细描述了操作和约束的含义 C. 数据流图中不能有过程 D. 数据流图定义了对象的操作
15. 在C++语言中,自定义的标识符( )
A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写 C. 能使用关键字并且区分大小写 D. 不能使用关键字并且区分大小写
16. 不能用于组成C++程序标识符的是( )
A. 连接符 B. 下划线 C. 大小写字母 D. 数字字符
17. 下列标识符中都是合法的是( )
A. _key, example, a_b B. 5ap, test1, _3a C. bcp, @mail, _c_d D. INL, _paper, union
18. 下列符号中,不可作为分隔符的是( )
A. 逗号 B. 分号 C. 问号 D. 英文句号
19. 下列变量名中,合法的是( )
A. CHINA B. byte-size C. double D. A+a
20. 在C++语言中,自定义的标识符( )
A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写 C. 能使用关键字并且区分大小写 D. 不能使用关键字并且区分大小写
21. C++程序的基本单位是( )
A. 字符 B. 程序行 C. 语句 D. 函数
22. 注释的目的主要是用来提高( )
A. 可读性 B. 可移植性 C. 运行效率 D. 编码效率 23. 程序中的注释部分( )
A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中
24. 在一个C++程序中( )
A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现 C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置
25. C++语言可执行程序的开始执行点是( )
A. 程序中第一条可执行语言 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的函数
26. 以下关于C++语言的叙述中,错误的是( ) A. 大写字母和小写字符的意义相同
B. 有些不同类型的变量可以在一个表达式中运算
C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D. 同一个运算符号在不同的场合可以有不同的含义
二、填空题
1. 判断一种计算机语言是否为面向对象程序设计语言的三个基本特征是封装性 、继承性和 多态性 。
2. 在面向对象语言中 可扩充性 是关键。 3. 在C++语言中,“/*?*/”主要用于多行 行注释,“//”用于单 行注释。 4. C++程序的实现经过编辑 、编译 和运行 步骤。
5. 在一个好的程序中,注释可提高程序的 程序的可读性。 6. C++源程序文件的默认扩展名为.cpp 。
7. C++程序在编译中会出现的两类错误分别是致命错误和警告 错误。
8. C++编译器进行编译的过程可详细地分为三个子过程,它们分别是预处理过程、编译过程和连接过程。
第二章数据类型与表达式
一、选择题
1. 常量3.14的数据类型是( )
A. double B. float C. void D. 字符串
2. 设有定义:char ch;,以下赋值语句正确的是( )
A. ch='123'; B. ch='\\xff'; C. ch='\\08'; D. ch='\\\\';
3. 英文大写字母B的ASCII码为42H,英文小写字母b的ASCII码为( ) A. 43H B. 62H C. 74H D. 84H 4. unsigned不能修饰的类型是( )
A. int B. char C. float D. long int
5. 下列字符常量表示中,错误的是( )
A. .\\105. B. .*. C. .\\4f. D. .\\a.
6. signed不能修饰的类型是( )
A. int B. char C.double D. long int
7. 下列字符串常量表示中,错误的是( ) A. ”\\”Yes\\” or \\”No\\”” B. ”\\.OK!\\.” C. ”abcd\\n” D. ”AB\\C”
8. 下列十六进制的整型常量表示中,错误的是( ) A. 0xaf B. 0X1b C. 2fx D. 0xAE
9. 下列double型常量表示中,错误的是( )
A. E15 B. .25 C. 3E5 D. 3E05
10. 设有定义char ch;,正确的赋值语句是( )
A. ch=.123.; B. ch=.\\xff.; C. ch=.\\08. D. ch=.\\\\.
11在C++语言中,080是( )
A. 八进制数 B. 十进制数 C. 十六进制数 D. 非法数
12. 关于字符'\\0'的下列描述中不正确的是( )
A. 常用来作为字符串的结束标志 B. 在计算机中存储时占一个字节的内存 C. 是空格字符的转义表示形式 D. 作为逻辑值使用时等价于逻辑“假”
13. 在32位机器环境下,若有int a[10];,则表达式sizeof(a)/sizeof(int)的值是( ) A. 10 B. 4 C. 40 D. 2
14. 在C++语言中,char型数据在内存中的存储形式是( ) A. ASCII码 B. 补码 C. 反码 D. 原码
15. 字符串”\\\\\\”ABC\\”\\\\”的长度是( ) A. 11 B. 7 C. 8 D. 6
16. 设:int a=2, b=2;,则a++ +b的结果是( ) A. 2 B. 3 C. 4 D. 5
17. 若有定义:int x=2;,则表达式x<<2的结果为( )
A. 2 B. 4 C. 8 D. 16
18. 已知:int a=5,b=6;,则下列表达式中,有二义性的是( ) A. a+b>>3 B. ++a+b++ C. b+(a=3) D. (a=3)-a++
19. 下列运算符中优先级最高的是( )
A. = B. && C. >= D. +
20. 下列运算符中优先级最低的是( )
A. % B. %= C. & D. >>
21. 表达式(-17)%5的值( )表达式(-17)%(-5)的值。
A. 大于 B. 等于 C. 小于 D. 不确定
22. 下列运算符中,结合性从左向右的是( )
A. -> B. >> C. != D. ~
23. 若int a=2,b=3;,则表达式a++ +b++的值为( ) A. 11 B. 9 C. 7 D. 5
24. 设有定义int a; float f; double i;,表达式10+.a.+i*f的结果类型是( ) A. int B. float C. double D. 不确定
25. sizeof(double)是一个( )
A. 整型表达式 B. 双精度表达式 C. 函数调用 D. 不合法
26. 下列关于类型转换的描述中错误的是( )
A.在不同类型操作数组成的表达式中,表达式类型一定是最高类型double型 B. 逗号表达式的类型是最后一个子表达式的类型 C. 赋值表达式的类型是左值的类型 D. 在由低向高的类型转换中是保值映射
27. 下列说法中正确的是( )
A. 隐含类型转换可能会损失数据精度 B. 显式类型转换可能会损失数据精度 C. 隐含类型转换一定会损失数据精度 D. 显式类型转换一定会损失数据精度
28. 在隐含类型转换中,long、int、double三种类型之间的转换顺序为( ) A. long->int->double B. long->double->int C. int->double->long D. int->long->double
29. 下列说法正确的是( )
A. 隐含类型转换可以从高类型转换为低类型 B. 显式类型转换不可以从低类型转换为高类型 C. 隐含类型转换可以在任何类型之间转换