当前位置:首页 > 工业技术
C++答疑解惑与典型题解
C++答疑解惑与典型题解

C++答疑解惑与典型题解PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:汪名杰,尹静,郝立编著
  • 出 版 社:北京:北京邮电大学出版社
  • 出版年份:2010
  • ISBN:9787563522903
  • 页数:329 页
图书介绍:本书以知识结构图-常见疑惑解答-实践解题编程-考验真题讲解为主线组织编写,每一章的题型归纳都进行了详细分析评注,以便于帮助读者掌握本章的重点及提迅速回忆本章的内容。本书结构清晰、易教易学、实例丰富、学以致用、注重能力,对易混淆和历年考题中较为关注的内容进行了重点提示和讲解。本书既可以作为复习考研的练习册,也可以作为C++语言编程学习的参考书,更可以各类培训班的培训教程。此外,本书也非常适于教师的C++语言教学以及各种编程自学人员参考阅读。
《C++答疑解惑与典型题解》目录

第1章 C++基本概念和入门 1

1.1 答疑解惑 2

1.1.1 C++程序是如何构成的? 2

1.1.2 在C++程序中,主函数、标准库函数和用户自定义函数之间有何区别? 2

1.1.3 在C++程序中,函数是如何构成的? 2

1.1.4 如何将C++源程序生成可执行的程序? 2

1.1.5 为什么要在程序中使用注释,C++中有何注释方法? 3

1.1.6 C语言和C++有什么关系? 3

1.1.7 为什么编译系统要提供标准库函数,如何使用标准库函数? 3

1.1.8 C++程序的构成和书写形式是什么? 4

1.1.9 如何理解程序设计的目标在正确的前提下,其重要性排列次序依次为:可读、可维护、可移植和高效率? 5

1.1.10 什么是数值溢出?整数溢出与浮点数溢出有何不同? 5

1.2 典型题解 6

题型1 基础知识 6

考研真题汇总 7

第2章 基本数据类型与自定义数据类型 10

2.1 答疑解惑 10

2.1.1 基本数据类型和非基本数据类型(自定义数据类型)有何区别? 10

2.1.2 为什么在定义变量时要指定变量的类型,如何确定一个变量的类型? 11

2.1.3 C++中有哪几种指定常量的方法,为何要定义常变量? 11

2.1.4 C++中字符型常量与字符串常量的主要区别是什么? 12

2.1.5 什么是匈牙利命名法,如何使用它? 12

2.1.6 如何确定一个类型变量所占的内存字节数,某个基本数据类型的变量占用的内存字节数都是固定的吗? 13

2.1.7 保留字与标准标识符之间有何区别? 13

2.1.8 “0”、‘0’、‘\0’和“\0”之间有何区别? 13

2.2 典型题解 14

题型1 基础知识 14

题型2 程序理解 18

题型3 编程实践 19

考研真题汇总 23

第3章 表达式和编程语句 26

3.1 答疑解惑 26

3.1.1 什么是C++的运算符、表达式和语句? 26

3.1.2 什么是运算符的优先级和结合性? 27

3.1.3 C++中bool类型值有哪些表示方法?关于布尔的运算说明有哪些?请举例说明 28

3.1.4 什么是短路表达式? 28

3.1.5 什么是左值和右值? 29

3.1.6 设有“int a;”,则if(a=3)与if(a==3)有何区别? 30

3.1.7 浮点变量与数字常量之间使用“==”和“!=”进行比较可靠吗? 30

3.1.8 什么是操作数的求值顺序,它有什么副作用? 30

3.1.9 在32位机器中,sizeof(int)为4,为什么cout<<747483647*7/7<<endl;显示的结果不是747483647? 31

3.1.10 switch和if...else...可随意替换么? 31

3.2 典型题解 32

题型1 基础知识 32

题型2 表达式理解 34

题型3 编程实践 36

考研真题汇总 38

第4章 过程化语句 42

4.1 答疑解惑 42

4.1.1 switch语句中必须使用default分支吗? 42

4.1.2 while循环与do...while循环有什么不同? 42

4.1.3 break语句和continue语句的区别是什么? 43

4.1.4 各种循环语句的总体结构是怎样的? 43

4.2 典型题解 44

题型1 基础知识 44

题型2 程序理解 45

题型3 编程实践 49

考研真题汇总 54

第5章 函数 55

5.1 答疑解惑 55

5.1.1 为什么要使用函数? 55

5.1.2 函数的设计规则是什么? 56

5.1.3 C++中函数可以分为哪几类? 56

5.1.4 为什么需要函数原型? 56

5.1.5 如何让主调用函数“找到”被调用函数? 56

5.1.6 如何在全局变量的定义位置之前使用它? 57

5.1.7 递归可以解决什么样的问题? 57

5.1.8 使用内联函数有什么好处,对内联函数有什么要求? 57

5.1.9 使用重载函数有什么好处,系统如何区分被重载的函数? 57

5.2 典型题解 58

题型1 基础知识 58

题型2 程序理解 59

题型3 编程实践 62

考研真题汇总 65

第6章 程序结构 72

6.1 答疑解惑 72

6.1.1 一个大型C++源程序的结构是怎样的?系统如何生成可执行文件? 72

6.1.2 有变量定义“register float f;”该变量定义有何不恰当的地方? 73

6.1.3 什么是预处理? 73

6.1.4 #include〈文件名〉和#include“文件名”有区别吗? 73

6.1.5 头文件中一般包含什么信息? 73

6.1.6 if...else...和#if...#else...有何区别? 74

6.1.7 文件包含命令可以嵌套吗? 74

6.1.8 如何避免多次包含同一个头文件? 75

6.1.9 什么是void函数,它怎么使用? 75

6.1.10 头文件的结构是什么?请举例说明 75

6.2 典型题解 76

题型1 基础知识 76

题型2 程序理解 78

题型3 编程实践 79

考研真题汇总 79

第7章 数组 89

7.1 答疑解惑 89

7.1.1 什么是数组,为什么需要数组? 89

7.1.2 数组在内存中如何存放,一个数组究竟要占用多少内存? 90

7.1.3 若有数组定义语句“int a[5];”,则a代表什么?&a[1]-&a[0]=? 90

7.1.4 为什么数组名必须是常量? 91

7.1.5 传递数组时是将整个数组的内容都传递给函数吗? 91

7.1.6 若有定义“char s1□=“well”;char s2□={‘w’,‘e’,‘1’,‘1’};”,则s1和s2相同吗? 92

7.1.7 数组的下标越界时,编译器并不指示错误,是不是下标越界与否无关紧要? 92

7.1.8 数组名和指针是不是同一回事? 92

7.2 典型题解 94

题型1 基础知识 94

题型2 程序理解 97

题型3 编程实践 98

考研真题汇总 102

第8章 指针 121

8.1 答疑解惑 121

8.1.1 内存单元的地址和内存单元的内容相同吗? 121

8.1.2 基类型不同的指针所占用的内存字节数相同吗?如何取得一个变量的内存地址? 122

8.1.3 指针变量的地址就是指针所存放的地址吗? 122

8.1.4 为什么要对指针变量进行初始化?对指针进行初始化有哪些方法? 122

8.1.5 指针+整数=?指针-指针=? 123

8.1.6 两个指针可以相比较吗? 124

8.1.7 为什么需要动态内存分配?C++程序中动态分配的内存会被自动释放吗? 124

8.1.8 如何通过指针以及数组名来引用一维数组的元素? 125

8.1.9 如何通过指针以及数组名来引用二维数组的元素? 125

8.1.10 使用指针变量操作字符串与字符数组操作字符串的区别是什么? 127

8.1.11 指针函数和函数指针含义相同吗? 127

8.1.12 指针数组和数组指针是否相同? 129

8.1.13 常量指针,指针常量和指向常量的指针常量有何区别? 129

8.2 典型题解 130

题型1 基础知识 130

题型2 程序理解 133

题型3 编程实践 137

考研真题汇总 141

第9章 引用 149

9.1 答疑解惑 149

9.1.1 什么是引用? 149

9.1.2 “任何东西都可以定义一个引用”这句话对吗? 150

9.1.3 函数传递参数有哪些方式? 150

9.1.4 引用和指针之间有何区别? 152

9.1.5 下面两个引用运算符&的用法是否相同? 153

9.1.6 “引用没有对应的内存,因此不能对引用运用&运算符来取地址”这句话对否? 153

9.2 典型题解 153

题型1 基础知识 153

题型2 程序理解 154

题型3 编程实践 155

考研真题汇总 157

第10章 结构 162

10.1 答疑解惑 162

10.1.1 结构体与结构体变量有何区别? 162

10.1.2 在C++中结构体与类有何区别? 163

10.1.3 为什么在Turbo C++3.0中编译以下程序会出现“Cannot convert‘B’to‘A”’的错误提示? 163

10.1.4 要访问结构体变量的成员,有哪些方法? 163

10.1.5 在32位机器中,若有定义:struct STU{char c1;int i;char c2}s;则sizeof(s)==6吗? 164

10.1.6 结构体和联合体(共用体)的异同点是什么? 164

10.2 典型题解 165

题型1 基础知识 165

题型2 程序理解 167

题型3 编程实践 170

考研真题汇总 173

第11章 类 183

11.1 答疑解惑 183

11.1.1 结构体类型和类有什么区别? 183

11.1.2 一个类的接口和实现有何区别?以及构造函数和析构函数的区别有哪些? 184

11.1.3 什么是对象,如何定义和使用对象? 184

11.1.4 类的成员有哪些访问权限? 184

11.1.5 将类的成员设置成private访问权限可以防止一切非法的访问吗? 184

11.1.6 类里面的常量都有效吗? 185

11.2 典型题解 186

题型1 基础知识 186

题型2 程序理解 187

题型3 编程实践 192

考研真题汇总 195

第12章 构造函数 204

12.1 答疑解惑 204

12.1.1 构造函数的作用是什么?它有什么特点? 204

12.1.2 析构函数有什么特点?它的作用是什么? 205

12.1.3 类的默认构造函数有哪些? 206

12.1.4 以下代码的输出结果是什么? 206

12.1.5 为什么下面的代码不能通过编译? 207

12.2 典型题解 208

题型1 基础知识 208

题型2 程序理解 208

题型3 编程实践 214

考研真题汇总 217

第13章 面向对象程序设计 219

13.1 答疑解惑 219

13.1.1 什么是结构化程序设计,它有何缺点? 219

13.1.2 析构函数有什么特点?它的作用是什么? 220

13.1.3 为什么使用面向对象编程比面向结构编程更能提高程序员的工作效率? 220

13.1.4 为什么使用面向对象编程比面向结构编程更能提高程序员的工作效率? 221

13.2 典型题解 224

题型1 基础知识 224

题型2 程序理解 224

题型3 编程实践 225

考研真题汇总 229

第14章 堆与拷贝构造函数 233

14.1 答疑解惑 233

14.1.1 什么是堆? 233

14.1.2 为何要用new和delete来从堆中动态分配对象,而不使用malloc和free? 234

14.1.3 如何正确使用malloc和free? 234

14.1.4 若Student是已经定义的类,为什么构造函数Student::Student(Student)是非法的? 236

14.1.5 构造函数与析构函的数的联系是什么? 237

14.1.6 构造与析构的次序是什么? 237

14.2 典型题解 237

题型1 基础知识 237

题型2 程序理解 238

题型3 编程实践 242

考研真题汇总 243

第15章 静态成员与友元 245

15.1 答疑解惑 245

15.1.1 为什么下面的代码在编译时通不过? 245

15.1.2 访问静态成员有哪些方式? 246

15.1.3 为什么下面的代码编译时,通不过编译,提示:void_cdecl Sample::print(void)':function cannot access'Sample::x',print是Sample的友元函数,应该可以访问类的私有成员啊? 246

15.1.4 源文件中定义函数或函数中定义静态变量时使用的static和在类中说明静态成员时使用的static有何区别? 247

15.2 典型题解 247

题型1 基础知识 247

题型2 程序理解 247

题型3 编程实践 252

考研真题汇总 253

第16章 继承与派生 254

16.1 答疑解惑 254

16.1.1 什么是继承,继承有何作用? 254

16.1.2 组合和继承的区别是什么?在一个继承的层次结构中,默认的构造函数和析构函数是如何区分的? 255

16.1.3 派生类的对象是如何被构造和析构的? 255

16.1.4 继承和组合创建新类有何区别? 255

16.1.5 什么是多态,如何理解动态联编和静态联编? 256

16.1.6 为什么下面的代码通不过编译,提示:cannot convert parameter 1 from'const int'to'int*',derive类中不是继承base类中的int add(int,int);了吗? 257

16.1.7 为什么下面的代码没有实现我们所需要的多态? 257

16.2 典型题解 258

题型1 程序理解 258

题型2 编程实践 267

考研真题汇总 270

第17章 多重继承 271

17.1 答疑解惑 271

17.1.1 不同的继承方式对从基类中继承来的成员的访问权限有何影响? 271

17.1.2 下面的代码,为何函数调用disp(&d2);会出错? 272

17.1.3 为什么下面的代码不能通过编译?提示:’base::base':no appropriate defaultconstructor available 273

17.2 典型题解 273

题型1 基础知识 273

题型2 程序理解 274

题型3 编程实践 278

第18章 多态性与虚函数 281

18.1 答疑解惑 281

18.1.1 多态性的概念是什么? 281

18.1.2 在C++中关键字operator有何作用? 281

18.1.3 运算符作为成员函数重载和作为友元函数重载有何区别? 282

18.1.4 为什么流运算符“<<”和“>>”重载时必须作为友元函数出现? 282

18.1.5 前置的自增运算符和后置的自增运算符在重载时有何区别? 283

18.1.6 以下程序运行结果是什么? 285

18.1.7 在C++中虚函数有何作用?在什么情况下应该声明虚函数? 285

18.2 典型题解 286

题型1 基础知识 286

题型2 程序理解 286

题型3 编程实践 292

考研真题汇总 294

第19章 I/O流 296

19.1 答疑解惑 296

19.1.1 在C++中如何使用流类? 296

19.1.2 输入/输出的含义是什么?在C++中输入/输出包括哪些内容? 296

19.1.3 printf()与scanf()函数有什么缺陷? 297

19.1.4 C++如何简化字符串、外部文件和内部文件的处理? 297

19.1.5 有序访问与直接访问的区别是什么? 297

19.1.6 I/O标准流类、文件流类和串流类的头文件和关联的关系如何? 297

19.2 典型题解 298

题型1 基础知识 298

题型2 程序理解 298

题型3 编程实践 299

考研真题汇总 300

第20章 模板 302

20.1 答疑解惑 302

20.1.1 如何区分以下概念:函数模板与模板函数、类模板与模板类? 302

20.1.2 与宏定义相比,采用函数模板有什么好处? 302

20.1.3 以下程序的运行结果是什么? 303

20.2 典型题解 303

题型1 基础知识 303

题型2 程序理解 303

题型3 编程实践 304

第21章 C++工具 305

21.1 答疑解惑 305

21.1.1 在C++中为什么要引入异常处理? 305

21.1.2 C++中异常是如何被捕获的? 305

21.1.3 异常处理族系的构成有哪两种办法? 306

21.1.4 C++中为什么需要命名空间? 308

21.1.5 命名空间的概念是什么?如何使用? 308

21.2 典型题解 309

题型1 基础知识 309

题型2 程序理解 310

题型3 编程实践 311

第22章 课程测试及考研仿真题 312

22.1 课程测试 312

22.2 课程测试参考答案 319

22.3 考研仿真题 320

22.4 考研仿真题参考答案 326

参考文献 329

相关图书
作者其它书籍
返回顶部