第一部分c语言常见编程问题
第1章初学者常见问题
问题1字母大小写混淆
问题2容易混淆的字符
问题3在代码中使用了中文字符
问题4丢失或添加多余的分号
问题5丢失或添加多余的大括号
问题6混乱的缩进和对齐
练习1
第2章基本数据类型
问题7整型常量的第一个字符为。引起的误解
问题8将字符常量与字符串常量混淆
问题9混淆“/”和“\”
问题10缺少强制类型转换
问题11类型转换降低精度
练习2
第3章存储类
问题12在使用变量前未定义或末初始化
问题13错误理解静态变量的作用域
.问题14全局变量的错误声明
问题15滥用全局变量
练习3
第4章运算符
问题16分母为0
问题17对实型变量进行“求余”运算
问题18“=”与“==”混淆
问题19“8l”与“&&”,“|与“||”混淆
问题20“++”、“——”的前置和后置方式
问题21运算符优先级错误
练习4
第5章流程控制
问题22逻辑表达式或关系表达式错误
问题23if-else嵌套不配对
问题24分号导致的流程变化
问题25switch语句:case后面缺少break
问题26忽视了while和do-while语句在细节上的区别
问题27滥用goto语句
练习5
第6章函数
问题28使用库函数前没有包含头文件
问题29使用函数之前未声明
问题30函数实参格式不对
问题31错误的返回值
问题32递归时设置了错误的边界条件
练习6
第7章c语言预处理程序
问题33宏定义格式错误
问题34带参数的宏替换错误
问题35把宏调用混同于函数调用
问题36宏定义中多余的空格
练习7
第8章指针和数组
问题37数组越界
问题38定义数组时误用变量
问题39动态分配内存空间不够
问题40内存泄漏
问题41访问悬空指针
练习8
第9章结构和联合
问题42结构的嵌套
问题43结构与联合混淆
练习9
第10章输入和输出
问题44printf和scanf的参数设置
问题45错误的文件打开和关闭方式
练习10
第二部分c++常见编程问题
第11章命名空间
问题46c++标准程序库的命名空间
问题47名字冲突
练习11
第12章c++语言的输入输出
问题48“[[”、“]]”混淆
问题49cout运算符优先级错误
练习12
第13章动态内存的分配与释放
问题50bew/delete与malloc/{ree混用
问题51没有释放动态分配的内存空间
问题52一个指针被delete时,没有指向最初的地址
问题53重复释放已释放的空间
问题54重复delete同一指向的多个指针
问题55delete指向某一普通变量的指针
练习13
第14章引用
问题56引用的声明和初始化错误
问题57引用作为参数的错误用法
问题58引用作为返回值的错误用法
练习14
第15章const修饰符
问题59用const定义常量的错误
问题60eonst参数错误
问题61const成员函数错误
练习15
第16章字符串
问题62使用string类型未引用名字空间
练习16
第17章c++语言中函数的新特性
问题63内联函数定义错误
问题64函数的缺省参数定义错误
问题65函数重载错误
问题66函数的缺省参数造成的二义性
练习17
第三部分面向对象程序设计常见编程问题
第18章类与对象
问题67类的定义格式错误
问题68对象和类的访问错误
问题69在类体中进行数据成员的初始化
问题70成员函数实现时缺少作用域运算符
问题71缺少引用性说明
问题72构造函数/析构函数不应该有返回值
问题73多余的析构函数
问题74构造函数缺省参数导致的二义性
问题75创建对象时缺少相应的构造函数
问题76默认的拷贝构造函数导致的内存问题
问题??静态数据成员初始化错误
问题78静态成员函数引用非静态数据成员
问题?9局部类定义错误
问题80嵌套类定义错误
练习18
第19章友元
问题81把友元函数当作类的成员
问题82在类外定义友元函数时多余的friend关键字
问题83友元关系不具有交换性
问题84友元关系不具有传递性
练习19
第20章继承机制
问题85基类成员在派生类中的访问权限
问题86派生类中由基类说明的数据成员应由基类的构造函数初始化
问题87多继承的二义性问题
问题88截切问题
练习20
第21章多态和虚函数
问题89运算符重载时不可臆造新的运算符
问题90运算符重载时不能改变运算符操作数的个数
问题91自增、自减运算符的重载:前缀运算和后缀运算的混淆
问题92重载了不允许重载的运算符
问题93运算符重载为友元函数时的参数个数
问题94不能重载为友元函数的运算符
问题95左操作数是常数时的运算符重载
问题96虚函数不能是静态成员函数
问题97虚函数必须是类的成员函数,不能是友元
问题98构造函数不能是虚函数
问题99将基类析构函数声明为非虚函数
问题100在构造函数和析构函数里调用虚函数
问题101重载虚函数导致的问题
问题102在构造函数和析构函数中调用纯虚函数
问题103实例化抽象类
问题104派生类必须实现所有纯虚函数才是具体类,否则仍是抽象类
练习21
附录练习答案
参考文献