《高等学校计算机基础教育教材精选 C/C++常见编程问题及解答》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:夏永祥,史志才编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302281344
  • 页数:250 页
图书介绍:本书针对C/C++和面向对象程序设计中的常见错误,结合大量实例进行解析,以提高实用性,使读者容易理解,快速掌握。

第一部分C语言常见编程问题 3

第1章 初学者常见问题 3

问题1字母大小写混淆 3

问题2容易混淆的字符 4

问题3在代码中使用了中文字符 6

问题4丢失或添加多余的分号 7

问题5丢失或添加多余的大括号 8

问题6混乱的缩进和对齐 11

练习1 13

第2章 基本数据类型 15

问题7整型常量的第一个字符为0引起的误解 19

问题8将字符常量与字符串常量混淆 19

问题9混淆“/”和“” 20

问题10缺少强制类型转换 22

问题11类型转换降低精度 23

练习2 24

第3章 存储类 26

问题12在使用变量前未定义或未初始化 28

问题13错误理解静态变量的作用域 29

问题14全局变量的错误声明 31

问题15滥用全局变量 33

练习3 33

第4章 运算符 35

问题16分母为0 37

问题17对实型变量进行“求余”运算 38

问题18“=”与“==”混淆 39

问题19“&”与“&&.”, “|”与“‖”混淆 40

问题20“+++”、“——”的前置和后置方式 41

问题21运算符优先级错误 42

练习4 43

第5章 流程控制 45

问题22逻辑表达式或关系表达式错误 48

问题23 if-else嵌套不配对 50

问题24分号导致的流程变化 52

问题25 switch语句:case后面缺少break 54

问题26忽视了while和do-while语句在细节上的区别 56

问题27滥用goto语句 57

练习5 59

第6章 函数 61

问题28使用库函数前没有包含头文件 61

问题29使用函数之前未声明 62

问题30函数实参格式不对 63

问题31错误的返回值 65

问题32递归时设置了错误的边界条件 65

练习6 67

第7章C语言预处理程序 69

问题33宏定义格式错误 71

问题34带参数的宏替换错误 72

问题35把宏调用混同于函数调用 73

问题36宏定义中多余的空格 74

练习7 75

第8章 指针和数组 76

问题37数组越界 79

问题38定义数组时误用变量 80

问题39动态分配内存空间不够 82

问题40内存泄漏 83

问题41访问悬空指针 85

练习8 86

第9章 结构和联合 88

问题42结构的嵌套 89

问题43结构与联合混淆 91

练习9 92

第10章 输入和输出 94

问题44 printf和scanf的参数设置 96

问题45错误的文件打开和关闭方式 98

练习10 100

第二部分C++常见编程问题 103

第11章 命名空间 103

问题46 C++标准程序库的命名空间 104

问题47名字冲突 104

练习11 107

第12章C++语言的输入输出 108

问题48“<<”、“>>”混淆 108

问题49 cout运算符优先级错误 109

练习12 110

第13章 动态内存的分配与释放 111

问题50 new/delete与malloc/free混用 111

问题51没有释放动态分配的内存空间 113

问题52一个指针被delete时,没有指向最初的地址 114

问题53重复释放已释放的空间 116

问题54重复delete同一指向的多个指针 117

问题55 delete指向某一普通变量的指针 118

练习13 119

第14章 引用 122

问题56引用的声明和初始化错误 123

问题57引用作为参数的错误用法 124

问题58引用作为返回值的错误用法 126

练习14 127

第15章const修饰符 129

问题59用const定义常量的错误 130

问题60 const参数错误 131

问题61 const成员函数错误 132

练习15 133

第16章 字符串 135

问题62使用string类型未引用名字空间 135

练习16 136

第17章C++语言中函数的新特性 137

问题63内联函数定义错误 138

问题64函数的缺省参数定义错误 139

问题65函数重载错误 140

问题66函数的缺省参数造成的二义性 142

练习17 143

第三部分 面向对象程序设计常见编程问题 147

第18章 类与对象 147

问题67类的定义格式错误 149

问题68对象和类的访问错误 150

问题69在类体中进行数据成员的初始化 152

问题70成员函数实现时缺少作用域运算符 154

问题71缺少引用性说明 156

问题72构造函数/析构函数不应该有返回值 158

问题73多余的析构函数 159

问题74构造函数缺省参数导致的二义性 161

问题75创建对象时缺少相应的构造函数 162

问题76默认的拷贝构造函数导致的内存问题 163

问题77静态数据成员初始化错误 166

问题78静态成员函数引用非静态数据成员 167

问题79局部类定义错误 169

问题80嵌套类定义错误 171

练习18 174

第19章 友元 180

问题81把友元函数当作类的成员 181

问题82在类外定义友元函数时多余的friend关键字 183

问题83友元关系不具有交换性 184

问题84友元关系不具有传递性 186

练习19 188

第20章 继承机制 191

问题85基类成员在派生类中的访问权限 192

问题86派生类中由基类说明的数据成员应由基类的构造函数初始化 196

问题87多继承的二义性问题 198

问题88截切问题 201

练习20 203

第21章 多态和虚函数 207

问题89运算符重载时不可臆造新的运算符 209

问题90运算符重载时不能改变运算符操作数的个数 211

问题91自增、自减运算符的重载:前缀运算和后缀运算的混淆 212

问题92重载了不允许重载的运算符 214

问题93运算符重载为友元函数时的参数个数 215

问题94不能重载为友元函数的运算符 217

问题95左操作数是常数时的运算符重载 219

问题96虚函数不能是静态成员函数 222

问题97虚函数必须是类的成员函数,不能是友元 223

问题98构造函数不能是虚函数 225

问题99将基类析构函数声明为非虚函数 225

问题100在构造函数和析构函数里调用虚函数 227

问题101重载虚函数导致的问题 229

问题102在构造函数和析构函数中调用纯虚函数 231

问题103实例化抽象类 232

问题104派生类必须实现所有纯虚函数才是具体类,否则仍是抽象类 234

练习21 237

附录 练习答案 242

参考文献 250