《C++答疑解惑与典型题解》深入浅出、系统全面地介绍了最新各大高校的C++练习题及考研题。全书共分22章,内容包括C++的基本概念,面向对象程序设计、函数、数组、指针、引用、结构、类、拷贝函数等。《C++答疑解惑与典型题解》以知识结构图~常见疑惑解答~实践解题编程~考研真题讲解为主线组织编写,每一章的题型归纳都进行了详细分析评注,以便于帮助读者掌握本章的重点及迅速回忆本章的内容。《C++答疑解惑与典型题解》结构清晰、易教易学、实例丰富、学以致用、注重能力,对易混淆和历年考题中较为关注的内容进行了重点提示和讲解。
《C++答疑解惑与典型题解》既可以作为C++编程学习的参考书,也可以作为复习考研的练习册,更可以作为各类培训班的培训教程。此外,《C++答疑解惑与典型题解》也非常适于教师的C++教学以及各种编程自学人员参考阅读。
《C++答疑解惑与典型题解》(1)结构清晰,模式合理,《C++答疑解惑与典型题解》基本按照正规教学课本(主流教材)的顺序安排,不是对所有知识点详细铺陈,而是对核心知识点和常考题型做重点讲解。每章设计了两个板块,分别是:答疑解惑与典型题解,各内容安排为:答疑解惑:突出核心知识,对重点、难点.易混淆的知识点进行剖析与解释,让学生掌握问题的本质。包括对重要定理、定义和公式的剖析。,典型题解:精选出常考题型与考研真题进行解析,增强学生的解题能力、《C++答疑解惑与典型题解》每一章都列举了大量的题目,并对其进行了详细分析评注,以便于帮助读者掌握本章的重点及迅速回忆本章的内容。,(题目来源:一是主流教材课后难题,二是课程考试试题,三是经典好题,四是考研真题。)(2)针对性强,实用性强,《C++答疑解惑与典型题解》不是按照传统辅导书那种“内容简介-例题分析-习题”的模式编写,而是在听取大量一线教师和学生们建议的基础上,以突出针对性与实用性来安排内容的。学生们最需要的是解决他们学习过程中的“疑惑”以及掌握解题方法。《C++答疑解惑与典型题解》正是以“答疑解惑与典型题解”为中心,因而具有很强的针对性与实用性。(3)《C++答疑解惑与典型题解》重点定位在疑难解惑与解题方法上,开拓解题思路,提高分析问题的能力,不仅授人以“鱼”,更在于授人以“渔”。(4)《C++答疑解惑与典型题解》聘请执教多年且有较高学术造诣的名师编写,质量高,内容清晰。
为适应高等院校人才的考研需求,本书本着厚基础、重能力、求创新的总体思想,着眼于国家发展和培养造就综合能力人才的需要,着力提高大学生的学习能力、实践能力和创新能力。
1.关于C++程序设计
C++是计算机程序设计的重要理论和技术基础,它是一种混合型的面向对象程序设计语言。随着时代的发展,它现在不仅仅是计算机学科的重要课程,而且进一步成为一些其他理工科学习的必备技术。它既具有独特的面向对象特征,又具有传统C语言的向后兼容性,具备结构化程序设计特征。为编程者能编出简单高效的程序打下一个良好的基础,特别为学习掌握VisualC++、Java等软件开发工具提供了坚实的理论基础。
2.本书阅读指南
本书基于C++程序设计的基础,针对C++知识点的常见的问题进行了讲解,同时分析了近几年的考研题目,并给出了翔实的参考答案,读者可以充分地了解各个学校考研题目的难度,查缺补漏,有针对性地提高自己的水平。本书共分22章。
第1章主要讲解C++的基本概念和人门。
第2章主要讲解C++的基本数据类型和自定义数据类型。
第3章主要讲解C++的表达式和编程语句。
第4章主要讲解C++的过程化语句。
第5章主要讲解C++的函数,函数是C++的核心所在,本章对函数的定义用法等进行了详细讲解。
第6章主要讲解C++的程序结构。
第7章主要讲解C++的另一个要点——数组,对数组的用法等进行详细讲述。
第8章主要讲解C++的重点知识——指针,通过例题进行了指针用法等的讲解说明。
第9章主要讲解C++中引用的相关知识。
第10~第18章着重对C++的核心知识进行讲解,包括结构、类、构造函数、面向对象程序设计、堆与拷贝构造函数、静态成员与友元、继承与派生、多重继承、多态性与虚函数等。
第19~第21章主要是对I/O流、模板以及C++工具进行讲解。
第22章提供了两套模拟题,为读者提供一个自我分析解决问题的过程。
本书的重点在中间的5、7、8等几章。
3.本书特色与优点
(1)结构清晰,知识完整。内容翔实、系统性强,依据高校教学大纲组织内容,同时覆盖最新版本的所有知识点,并将实际经验融人基本理论之中。
第1章 C++基本概念和入门
1.1 答疑解惑
1.1.1 C++程序是如何构成的?
1.1.2 在C++程序中,主函数、标准库函数和用户自定义函数之间有何区别?
1.1.3 在C++程序中,函数是如何构成的?
1.1.4 如何将C++源程序生成可执行的程序?
1.1.5 为什么要在程序中使用注释,C++中有何注释方法?
1.1.6 C语言和C++有什么关系?
1.1.7 为什么编译系统要提供标准库函数,如何使用标准库函数?
1.1.8 C++程序的构成和书写形式是什么?
1.1.9 如何理解程序设计的目标在正确的前提下,其重要性排列次序依次为:可读、可维护、可移植和高效率?
1.1.10 什么是数值溢出?整数溢出与浮点数溢出有何不同?
1.2 典型题解
题型1基础知识
考研真题汇总
第2章 基本数据类型与自定义数据类型
2.1 答疑解惑
2.1.1 基本数据类型和非基本数据类型(自定义数据类型)有何区别?
2.1.2 为什么在定义变量时要指定变量的类型,如何确定一个变量的类型?
2.1.3 C++中有哪几种指定常量的方法,为何要定义常变量?
2.1.4 C++中字符型常量与字符串常量的主要区别是什么?
2.1.5 什么是匈牙利命名法,如何使用它?
2.1.6 如何确定一个类型变量所占的内存字节数,某个基本数据类型的变量占用的内存字节数都是固定的吗?
2.1.7 保留字与标准标识符之间有何区别?
2.1.8 “O”、‘O’、‘\O’和“\O”之间有何区别?
2.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
3章 表达式和编程语句
3.1 答疑解惑
3.1.1 什么是C++的运算符、表达式和语句?
3.1.2 什么是运算符的优先级和结合性?
3.1.3 C++中bool类型值有哪些表示方法?关于布尔的运算说明有哪些?请举例说明
3.1.4 什么是短路表达式?
3.1.5 什么是左值和右值?
3.1.6 设有“inta;”,则if(a:3)与if(a——3)有何区别?
3.1.7 浮点变量与数字常量之间使用和“!一”进行比较可靠吗?
3.1.8 什么是操作数的求值顺序,它有什么副作用?
3.1.9 在32位机器中,sizeof(int)为4,为什么cout和#include“文件名”有区别吗?
6.1.5 头文件中一般包含什么信息?
6.1.6 ifelse和#if#else有何区别?
6.1.7 文件包含命令可以嵌套吗?
6.1.8 如何避免多次包含同一个头文件?
6.1.9 什么是void函数,它怎么使用?
6.1.1 0头文件的结构是什么?请举例说明
6.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第7章 数组
7.1 答疑解惑
7.1.1 什么是数组,为什么需要数组?
7.1.2 数组在内存中如何存放,一个数组究竟要占用多少内存?
7.1.3 若有数组定义语I"inta[5];”,则a代表什么?&a[1]一&a[O]一?
7.1.4 为什么数组名必须是常量?
7.1.5 传递数组时是将整个数组的内容都传递给函数吗?
7.1.6 若有定义chars1口=”well";char·s2[]={‘w’,‘e’,‘l’,‘l’);”,则s1和s2相同吗?
7.1.7 数组的下标越界时,编译器并不指示错误,是不是下标越界与否无关紧要?
7.1.8 数组名和指针是不是同回事?
7.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第8章 指针
8.1 答疑解惑
8.1.1 内存单元的地址和内存单元的内容相同吗?
8.1.2 基类型不同的指针所占用的内存字节数相同吗?如何取得一个变量的内存地址?
8.1.3 指针变量的地址就是指针所存放的地址吗?
8.1.4 为什么要对指针变量进行初始化?对指针进行初始化有哪些方法?
8.1.5 指针+整数-?指针-指针-?
8.1.6 两个指针可以相比较吗?
8.1.7 为什么需要动态内存分配?C++程序中动态分配的内存会被自动释放吗?
8.1.8 如何通过指针以及数组名来引用一维数组的元素?
8.1.9 如何通过指针以及数组名来引用二维数组的元素?
8.1.1 0使用指针变量操作字符串与字符数组操作字符串的区别是什么?
8.1.1 l指针函数和函数指针含义相同吗?
8.1.1 2指针数组和数组指针是否相同?
8.1.1 3常量指针,指针常量和指向常量的指针常量有何区别?
8.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第9章 引用
9.1 答疑解惑
9.1.1 什么是引用?
9.1.2 “任何东西都可以定义一个引用这句话对吗?
9.1.3 函数传递参数有哪些方式?
9.1.4 引用和指针之间有何区别?
9.1.5 下面两个引用运算符&的用法是否相同?
9.1.6 “引用没有对应的内存,因此不能对引用运用&运算符来取地址”这句话对否?
9.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第10章 结构
10.1 答疑解惑
10.1.1 结构体与结构体变量有何区别?
10.1.2 在C++中结构体与类有何区别?
10.1.3 为什么在TurboC++3.O中编译
以下程序会出现"Cannotconvert‘B’to ‘A”’的错误提示?
10.1.4 要访问结构体变量的成员,有哪些方法?
10.1.5 在32位机器中,若有定义:structS,U{charc1;inti;charc2}s;则sizeof(s)——6吗?:
10.1.6 结构体和联合体(共用体)的异同点是什么?:
10.2 典型题解:
题型1基础知识
题型2程序理解
题型3编程实践:
考研真题汇总
第11章 类
11.1 答疑解惑
11.1.1 结构体类型和类有什么区别?
11.1.2 一个类的接口和实现有何区别?以及构造函数和析构函数的区别有哪些?
11.1.3 什么是对象,如何定义和使用对象?
11.1.4 类的成员有哪些访问权限?
11.1.5 将类的成员设置成private访问权限可以防止一切非法的访问吗?
11.1.6 类里面的常量都有效吗?
11.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第12章 构造函数
12.1 答疑解惑
12.1.1 构造函数的作用是什么?它有什么特点?
12.1.2 析构函数有什么特点?它的作用是什么?
12.1.3 类的默认构造函数有哪些?
12.1.4 以下代码的输出结果是什么?
12.1.5 为什么下面的代码不能通过编译?
12.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第13章 面向对象程序设计
13.1 答疑解惑
13.1.1 什么是结构化程序设计,它有何缺点?
13.1.2 析构函数有什么特点?它的作用是什么?
13.1.3 为什么使用面向对象编程比面向结构编程更能提高程序员的工作效率?
13.1.4 为什么使用面向对象编程比面向结构编程更能提高程序员的工作效率?
13.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第14章 堆与拷贝构造函数
14.1 答疑解惑
14.1.1 什么是堆?
14.1.2 为何要用new和delete来从堆中动态分配对象,而不使用malloc和free?
14.1.3 如何正确使用rnalloc和free?
14.1.4 若Student是已经定义的类,为什么构造函数Student::Student(Student)是非法的?
14.1.5 构造函数与析构函的数的联系是什么?
14.1.6 构造与析构的次序是什么?
14.2 典型题解
题型1基础知识
题型2程序理解
题型3编程实践
考研真题汇总
第15章 静态成员与友元
15.1 答疑解惑
15.1 I1为什么下面的代码在编译时通不过?
15.1.2 访问静态成员有哪些方式?
15.1.3 为什么下面的代码编译时,通不过编译,提示:voidcdecl Samplel print(void)’:function cannot ccess’Sample:x’,print是Sample的友元函数,应该可以访问类的私有成员啊?
15.1.4 源文件中定义函数或函数中定义静态变量时使用的static和在类中说明静态成员时使用的static有何区别?
15.2 典型题解
……
第16章 继承与派生
第17章 多重继承
第18章 多态性与虚函数
第19章 I/O流
第20章 模板
第21章 C++工具
第22章 课程测试及考研仿真题