C++课后习题

2018-12-04 15:39

博学谷——让IT教学更简单,让IT学习更有效

第一章题目

一、填空题

1、C++是一种的语言。

2、C++作为一门面向对象语言,它的三大特性分别是、、。 3、C++有、、、、等优点,但C++语言本身过度复杂,并且C++编译器受到C++复杂性的影响,非常难于编写,即使能够使用的编译器也存在大量问题,而且这些问题大多难于发现。 4、观察程序,在下面括号内填入“相等”或“不相等”。 #include using namespace std; int main(void) { int a ,b; cin>> a >> b; bool c = (a == b); if(c) cout<<\与 b ( )\ else cout<<\与 b ( )\ return 0; }

二、选择题

5、下列关于iostream的描述中,错误的是()。 A、它是标准的C++头文件

B、它与iostream.h是两个不同文件 C、C++标准不再支持iostream.h文件

D、iostream与iostream.h文件形式不同,但其内容实现是一样的 6、下列关于C++中的类型转换的说法中,错误的是()。 A、static_cast<>可用于基本数据类型之间的转换

B、const_cast<>在进行类型转换时用来修改类型的const或volatile属性

C、dynamic_cast<>主要用于类层次间的上行和下行转换,以及类之间的交叉转换

D、reinterpret_cast<>在进行类型转换时可以对数据类型进行检查,以确保转换的安全性 7、下列关于string的描述中,正确的是() A、string是C++中的基本数据类型 B、string包含在头文件iostream中

C、用C++ string类来定义字符串,不必担心字符串长度、内存不足等情况 D、C++中无法用字符数组来处理字符串 8、下列关于引用的说法中,错误的是() A、引用在定义时必须初始化 B、引用就是指针

C、引用在初始化时只能绑定左值,不能绑定常量值 D、引用一旦初始化,其值就不能再更改 三、判断题

博学谷——让IT教学更简单,让IT学习更有效

9、语句using namespace std;是对标准命名空间的引用。

10、如果定义string s(5, ‘a’); 则s.length()和s.size()的值是相等的。 11、引用实际上是隐式的指针,和指针是同一种数据类型。 12、 一个函数一旦定义成了内联函数,则在调用时就会将函数代码插入到调用处。 四、简答题

13、请简述一下引用与指针的区别。

14、请简述一下new与malloc在分配内存时的区别。

15、定义一组重载函数,实现int、float、char类型数据的相加。

第一章答案

1、面向对象

2、封装 继承多态。

3、保持与C兼容 支持面向对象的机制可重用性、可扩充性、可靠性和可维护性 代码性能高多种设计风格 4、相等 不相等 5、D 6、D 7、C 8、B 9、对 10、对 11、错 12、错

13、引用是隐式的指针,但使用引用与使用指针却有着本质的区别:

(1)使用引用类型就不必在swap()函数中声明形参是指针变量。指针变量要另外开辟内存单元,其内容是地址。而引用变量不是一个独立的变量,不单独占内存单元。

(2)在main()函数中调用swap()函数时,实参不必用变量的地址(在变量名的前面加&),而直接用变量名。系统向形参传送的是实参的地址而不是实参的值。 14、

(1)new创建对象时返回的是直接带类型信息的指针,而malloc()返回的都是void*类型的指针.

(2)两者在创建对象时都可能造成内存泄露,但new可以定位到哪个文件的哪一行,而malloc()没有这些信息。

(3)对于非内置类型对象而言,new/delete在创建对象时不止是分配内存,还会自动执行构造函数进行初始化,对象消亡之前自动执行析构函数,而malloc()/free()只能简单的分配释放内存。

(4)new与malloc()申请内存位置不同,new从自由存储区(free store)分配,而malloc()从堆区(heap)分配。(这一点依据编绎器不同而不同)。 15、

#include using namespace std;

void add(int x, int y)

博学谷——让IT教学更简单,让IT学习更有效 { cout << x + y << endl; }

void add(char ch1, char ch2) { cout << ch1 + ch2 << endl; }

void add(double f1, double f2) { cout << f1 + f2 << endl; }

int main() { add(1, 2); add('a', 'b'); add(1.2, 2.3); system(\ return 0; }

第二章题目

一、填空题

1、类的默认访问权限是。

2、C++作为类的每个成员函数都有一个隐含定义的指针,称为指针,它的类型是成员函数所属类的类型。

3、若类A中包含成员对象x,则创建A类对象时,先执行的构造函数,再执行的构造函数。 4、已知如下程序的输出结果是23,请将画线处缺失的部分补充完整。 #include using namespace std; class MyClass{ public:

void Print() const { cout << 23;} };

int main() {

MyClass *p = new MyClass(); Print(); return 0; }

二、选择题

博学谷——让IT教学更简单,让IT学习更有效

5、下列关于结构化程序设计方法的说法中,错误的是()。 A、在数据处理过程中,采用的是自顶向下、分而治之的方法 B、将整个程序按功能划分为几个可独立编程的子模块 C、以“对象”和“数据”为中心

D、数据和处理数据的过程代码是分离的、相互独立的实体 6、有如下程序: #include using namespace std;

class MyClass{ public: MyClass(){ cout << 'A'; } MyClass(char c){ cout << c; } ~MyClass(){ cout << 'B'; } };

int main() { MyClass p1, *p2; p2 = new MyClass('X'); delete p2; system(\ return 0; }

执行这个程序,屏幕上将显示输出()。 A、 ABX B、 ABXB C、 AXB D、 AXBB

7、下列情况下,不会调用拷贝构造函数的是()。 A、 用一个对象去初始化同一类的另一个对象时 B、 将类的一个对象赋予该类的另一个对象时

C、 函数的形参是类的对象,调用函数进行形参和实参结合时 D、 函数的返回值是类的对象,函数执行返回调用时 8、下列关于静态成员的描述中,错误的是() A、静态成员不属于对象,是类的共享成员 B、静态数据成员要在类外定义和初始化

C、调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针 D、非静态成员函数也可以操作静态数据成员 三、判断题

9、定义对象引用时,可以对其引用进行初始化,也可以不进行初始化。 10、创建对象时会为每个对象的数据成员和成员函数都分配空间。

11、使用class定义的类,其默认的访问权限是公有的,使用struct定义的类,其默认的访

问权限是私有的。 12、如果一个类拥有资源,比如开辟空间,当这个类的对象发生复制的时候,资源重新分配,

博学谷——让IT教学更简单,让IT学习更有效

需要进行深拷贝,反之,没有重新分配资源,只进行浅拷贝。 四、简答题

13、请简述一下构造函数的定义语法。

14、请简述一下友元的概念以及友元的副作用。 15、设计一个Bank类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。 要求: 1)Bank类包括私有数据成员top(当前账指针),date(日期),money(金额),rest(余额)和sum(累

计余额)。

2)另有一个构造函数和三个成员函数bankin()(处理存入账),bankout()处理取出账)和disp()

(输出明细账)

第二章答案

1、private 2、this

3、成员对象类A 4、(*p). 5、C 6、D 7、B 8、C 9、错 10、错 11、对 12、对 13、

(1)、构造函数名与类名相同。

(2)、构造函数名前没有返回值类型声明。

(3)、构造函数中不能通过return语句返回一个值。 (4)、通常构造函数具有public属性。

14、友元可以是一个函数,该函数被称为友元函数,友元也可以是一个类,称为友元类。 当一个函数或类是一个类的友元时,那么这个友元函数或友元类就可以直接访问类中的所有成员,这样就提高了程序运行效率,也使操作比较方便。但它的不足之处在于破坏了类的封装性,类的出现主要就是为了封装数据,使信息更安全,而友元的出现恰恰破坏了这一初衷,因些在使用友元时要谨慎,如果可以,尽量避免使用。 15、

#define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; #define Max 100 class Bank { int top;


C++课后习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:国际会展中心PPP项目实施方案(编制大纲)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: