- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
博学谷——让IT教学更简单,让IT学习更有效
第一章 题目
填空题
1、C++是一种 的语言。
2、C++作为一门面向对象语言,它的三大特性分别是 、 、 。
3、C++有 、 、 、 、 等优点,但C++语言本身过度复杂,并且C++编译器受到C++复杂性的影响,非常难于编写,即使能够使用的编译器也存在大量问题,而且这些问题大多难于发现。
4、观察程序,在下面括号内填入“相等” 或 “不相等”。
#include iostream
using namespace std;
int main(void)
{
int a ,b;
cin a b;
bool c = (a == b);
if(c)
couta 与 b ( ) endl;
else
couta 与 b ( ) endl;
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、引用一旦初始化,其值就不能再更改
三、判断题
9、语句using namespace std;是对标准命名空间的引用。
10、如果定义string s(5, ‘a’); 则s.length()和s.size()的值是相等的。
11、引用实际上是隐式的指针,和指针是同一种数据类型。
一个函数一旦定义成了内联函数,则在调用时就会将函数代码插入到调用处。
四、简答题
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 iostream
using namespace std;
void add(int x, int y)
{
cout x + y endl;
}
void add(char ch1, char ch2)
{
cout ch1 + ch2 en
文档评论(0)