C++模拟题5答案PDF.pdf

上传人:xiang****la438 文档编号:133290098 上传时间:2020-05-26 格式:PDF 页数:16 大小:257.55KB
返回 下载 相关 举报
C++模拟题5答案PDF.pdf_第1页
第1页 / 共16页
C++模拟题5答案PDF.pdf_第2页
第2页 / 共16页
C++模拟题5答案PDF.pdf_第3页
第3页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C++模拟题5答案PDF.pdf》由会员分享,可在线阅读,更多相关《C++模拟题5答案PDF.pdf(16页珍藏版)》请在金锄头文库上搜索。

1、书 山 有 路 1 C 程序设计模拟试卷 五 一 单项选择题 本大题共20小题 每小题1分 共20分 在每小题列 出的四个备选项中 只有一个是符合题目要求的 请将其代码填写在题后的括号内 错选 多选或未选均无 分 1 静态成员函数没有 A 返回值 B this指针 C 指针参数 D 返回类型 答案 B 解析 P107 静态成员函数是普通的函数前加入static 它具有函数的所有的特 征 返回类型 形参 所以使用 P107 静态成员函数 指针可以作为形参 也具有返回值 静态 成员是类具有的 属性 不是对象的特征 而this表示的是隐藏的对象的指针 因此静态成员函数 没有this 指针 静态成员函

2、数当在类外定义时 要注意不能使用static关键字作为前缀 由于 静态成员函数在 类中只有一个拷贝 副本 因此它访问对象的成员时要受到一些限制 静态成 员函数可以直接 访问类中说明的静态成员 但不能直接访问类中说明的非静态成员 若要访问非 静态成员时 必 须通过参数传递的方式得到相应的对象 再通过对象来访问 2 在类的定义中 用于为对象分配内存空间 对类的数据成员进行初始化并执 行其他内部管 理操作的函数是 A 友元函数 B 虚函数 C 构造函数 D 析构函数 答案 C 解析 P75 定义构造函数作用就是初始化对象 而析构函数释放对象空间 虚 函数用于完成多 态性 友元增加访问方便性 3 所有

3、在函数中定义的变量 都是 A 全局变量 B 局部变量 C 静态变量 D 寄存器变量 答案 B 书 山 有 路 2 解析 P136 变量存储类可分为两类 全局变量和局部变量 1 全局变量 在函数外部定义的变量称为全局变量 其作用域为 从定义变 量的位置开始 到源程序结束 全局变量增加了函数之间数据联系的渠道 全局变量作用域内的 函数 均可使用 修改该全局变量的值 但是使用全局变量降低了程序的可理解性 软件工程学 提倡尽量避免使 用全局变量 2 局部变量 在函数内部定义的变量称为局部变量 其作用域为 从定义变 量的位置开始 到函数结束 局部变量包含自动变量 auto 静态变量 static 以及函

4、数参数 auto变量意味着变量的存储空间的分配与释放是自动进行的 说明符auto可以省 略 函数中 的局部变量存放在栈空间 在函数开始运行时 局部变量被分配内存单元 函数 结束时 局部变 量释放内存单元 因此 任两个函数中的局部变量可以同名 因其占有不同的内 存单元而不影响 使用 这有利于实现软件开发的模块化 static变量是定义在函数体内的变量 存放在静态存储区 不用栈空间存储 其 值并不随存 储空间的释放而消失 4 假定AB为一个类 则执行 AB a 2 b 3 p 4 语句时调用该类构 造函数的次数 为 A 3 B 4 C 5 D 9 答案 B 解析 P79 a 2 调用1次带参数的构

5、造函数 b 3 调用3次无参数的构造函数 指针没有给它 分配空间 没有调用构造函数 所以共调用构造函数的次数为4 5 如果表达式 a中的 是作为成员函数重载的运算符 若采用运算符函 数调用格式 则 可表示为 A a operator 1 B operator a C operator a 1 D a operator 答案 D 解析 P186 运算符的重载 前缀先让变量变化 调用 a 等价为 a operator 注意无参 的形式 后缀的话a 等价于a operator 0 带形参 形参名可省 6 已知f1和f2是同一类的两个成员函数 但f1不能直接调用f2 这说明 书 山 有 路 3 A f

6、1和f2都是静态函数 B f1不是静态函数 f2是静态函数 C f1是静态函数 f2不是静态函数 D f1和f2都不是静态函数 答案 C 解析 P107 普通成员函数可以调用静态函数 相反静态函数不能调用普通成员 函数 这与普通 函数与常成员函数相同 因此选择C项 7 一个函数功能不太复杂 但要求被频繁调用 则应把它定义为 A 内联函数 B 重载函数 C 递归函数 D 嵌套函数 答案 A 解析 P59 内联函数特征代码少 频繁调用 执行效率高 重载函数解决统一 接口的问题 递 归是子程序调用 程序调用要耗费很多空间和时间 循环 迭代都比递归有效率 得多 递归只是 从形式上 逻辑比较简洁 嵌套函

7、数即反复调用 速度较慢 所以选择A项 8 解决定义二义性问题的方法有 A 只能使用作用域分辨运算符 B 使用作用域分辨运算符或成员名限定 C 使用作用域分辨运算符或虚基类 D 使用成员名限定或赋值兼容规则 答案 B 解析 P139 解决二义性问题主要要两种方法 1 赋值兼容规则 2 虚基类 9 在main函数中可以用p a的形式访问派生类对象p的基类成员a 其中a是 A 私有继承的公有成员 B 公有继承的私有成员 C 公有继承的保护成员 D 公有继承的公有成员 答案 D 解析 P132 公有成员可以在类外访问 保护类型成员可以在派生类中访问 但 不能在类外访问 在main函数中访问 说明a是公

8、有成员 只有公有继承时a才能是公有的 所以 D项正确 10 在C 中不返回任何类型的函数应该说明为 A int B char C void D double 答案 C 解析 无形参或无返回值都可以用void来声明 int char double分别是整型 书 山 有 路 4 字符型和实型 11 若Sample类中的一个成员函数说明如下 void set Sample B A1 p 5 C A1 p 5 D A1 p 5 答案 C 解析 P118 A中p是指针即地址 错误 B选项中A1不是指针不能使用指向运算 符 错误 比 级别要高 所以D选项 A1 p 5相当于 A1 p 5 错误 另外涉及

9、到指向成员函数 时注意以下几点 指向成员函数的指针必须于其赋值的函数类型匹配的三个方面 1 参数类型 和个数 2 返回 类型 3 它所属的类类型 成员函数指针的声明 指向short型的Screen类的成员的指针定义如下 short Screen ps Screen ps Screen可以用 height的地址初始化如下 short Screen ps Screen 类成员的指针必须总是通过特定的对象或指向改类型的对象的指针来访问 是 通过使用两个指 向成员操作符的指针 针对类对象和引用的 以及针对指向类对象的指针的 18 如果采用动态多态性 要调用虚函数的是 A 基类对象指针 B 对象名 书

10、山 有 路 6 C 基类对象 D 派生类名 答案 A 解析 P171 基类指针或者基类的引用调用虚函数都会产生动态多态性 19 若有以下定义 则说法错误的是 int a 100 p A 声明变量p 其中 表示p是一个指针变量 B 变量p经初始化 获得变量a的地址 C 变量p只可以指向一个整型变量 D 变量p的值为100 答案 D 解析 指针变量如同其他变量一样 在使用之前必须先声明 声明指针变量的格 式为 其中 是指针变量所指向对象的类型 它可以是C 语言预定义的类型 也可以是用户 自定义类型 是用户自定义的标识符 符号 表示是指针变量 而不是普通变量 表示指针 p是变量 p指向一个整型的变量

11、 值为a的地址值 p 100 20 C 语言建立类族是通过 A 类的嵌套 B 类的继承 C 虚函数 D 抽象类 答案 B 解析 P174 类族即同一个类派生出来的类 各个类是兄弟或父子关系 二 填空题 本大题共20小题 每小题1分 共20分 请在每小题的 空格中填上正确答 案 错填 不填均无分 1 假设int a 1 b 2 则表达式 a b b 的值为 答案 2 解析 前缀 或 表示先使变量值变化 再使用 这和后缀恰恰相反 但 是编译 cout a b b 时 先 a b值为1 后1 b 先取b 2 结果为2 再让b 1 2 复制构造函数使用 作为形式参数 答案 P80 对象的引用 解析 复

12、制构造函数使用对象的引用来初始化一个新对象 避免临时产生对象 3 通过C 语言中的 机制 可以从现存类中构建其子类 答案 P127 继承 解析 继承概念 从现有的类生成新类 原有的类称为父类或基类 新类又称 子类或派生类或 衍生类 它是对基类的扩充 书 山 有 路 7 4 静态成员函数 友元函数 构造函数和析构函数中 不属于成员函数的是 答案 P109 友元函数 解析 友元函数不是类成员 但可以访问类成员 类的封装性保证了数据的安 全 但引入友元 虽然访问类是方便了 但确实破坏类访问的安全性 5 在下面的类定义中 私有成员有 class Location int X Y protected i

13、nt zeroX zerxY int SetZero intzeroX intzeroY private int length height public void init int initX int initY int GetX int GetY 答案 P69 X Y length height 6 在C 程序设计中 建立继承关系倒挂的树应使用 继承 答案 P138 单 解析 一个基类可以派生多个子类 一个子类可以再派生出多个子类 这样就 形成了一个倒立 的树 7 C 支持的两种多态性分别是 多态性和运行多态性 答案 P165 静态或编译 解析 多态性包括静态 编译时 的和动态 运行时 的

14、动态性 8 C 中语句const char const p hello 所定义的指针p和它所指的内 容都不能被 答案 P12 修改 解析 使用const修改的内容不能修改 这里同时修饰地址和值 表示地址和 值都不变 9 在C 中 定义虚函数的关键字是 答案 P170 virtual 解析 在普通函数前面用virtual修饰的函数 就称为虚函数 10 采用私有派生方式 基类的public成员在私有派生类中是 成员 答案 P132 私有 11 对赋值运算符进行重载时 应声明为 函数 答案 P183 类成员 解析 运算符重载的方法有友元或者成员函数两种途径 但是赋值运算符只能 使用成员函数的 方法来

15、实现 12 在C 中有两种参数传递方式即值传递和 传递 书 山 有 路 8 答案 P51 引用 解析 函数参数传递有传值和传引用两种 13 预处理命令以 符号开头 答案 P183 operater 解析 文件包含 预处理和编译都是以 开头 14 在构造函数和析构函数中调用虚函数时采用 答案 P167 静态联编 解析 在析构或构造函数调用虚函数发生静态多态性 15 C 是通过引用运算符 来定义一个引用的 答案 P10 解析 声明成员函数作为另外一个类的友元函数时 使用类作用域运算符 17 如果要把PI声明为值为3 14159类型为双精度实数的符号常量 该声明语 句是 答案 P6 const do

16、uble PI 3 14159 或者const double PI 3 14159 解析 使用const声明符号常量 常量和常量值可以用括号也可以赋值号 18 在C 四个流对象中 用于标准屏幕输出 答案 P194 cout 解析 cin cout cerr和clog中cin用于输入 cout用于输出 cerr clog 错误处理 19 执行下列代码 int a 32 double c 32 cout setf ios hex cout hex a a c c endl cout unsetf ios hex 程序的输出结果为 答案 P193 hex a 20 c 32 解析 用十六进制只能输出整型数据 而不能将其它类型数据转换成十六进制 的数据输出 所 以double类型不变仍然是32 double类型 20 已知有20个元素int类型向量V1 若用V1初始化为V2向量 语句是 答案 P151 ector V2 V1 解析 采用向量初始化另一个向量的形式 vector name1 name 三 改错题 本大题共5小题 每小题4分 共20分 1 include class A priva

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号