第一部分 C语言常见编程问题
第1章 初学者常见问题
问题1 字母大小写混淆
问题2 容易混淆的字符
问题3 在代码中使用了中文字符
问题4 丢失或添加多余的分号
问题5 丢失或添加多余的大括号
问题6 混乱的缩进和对齐
练习1
第2章 基本数据类型
问题7 整型常量的第一个字符为0引起的误解
问题8 将字符常量与字符串常量混淆
问题9 混淆“/”和“\
问题10 缺少强制类型转换
问题11 类型转换降低精度
练习2
第3章 存储类
问题12 在使用变量前未定义或未初始化
问题13 错误理解静态变量的作用域
问题14全局变量的错误声明
问题15 滥用全局变量
练习3
第4章 运算符
问题16 分母为0
问题17 对实型变量进行“求余”运算
问题18“=”与“==”混淆
问题19 “&”与“&&”,“Ⅰ”与“Ⅱ”混淆
问题20“++”、“--”的前置和后置方式
问题21 运算符优先级错误
练习4
第5章 流程控制
问题22 逻辑表达式或关系表达式错误
问题23 if-else嵌套不配对
问题24 分号导致的流程变化
问题25 switch语句: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章 输入和输出
问题44 printf和scanf的参数设置
……
第二部分 C++常见编程问题
第三部分 面向对象程序设计常见编程问题