第1章 习题解答 1
1.1 习题1及参考答案 1
1.2 习题2及参考答案 1
1.3 习题3及参考答案 3
1.4 习题4及参考答案 6
1.5 习题5及参考答案 33
1.6 习题6及参考答案 44
1.7 习题7及参考答案 61
1.8 习题8及参考答案 76
1.9 习题9及参考答案 82
第2章 上机实验指导 88
2.1 程序调试技术 88
2.1.1 调试的“七种武器” 88
2.1.2 Visual C++ 6.0的使用与调试 91
2.1.3 Code::Blocks的使用与调试 97
2.1.4 集成开发环境操作总结 103
2.1.5 用fprintf()调试程序 103
2.1.6 常见编译错误信息英汉对照表 104
2.2 课内上机实验题目 106
2.2.1 实验1:熟悉上机环境和顺序结构编程练习 106
2.2.2 实验2:选择结构编程练习 107
2.2.3 实验3:循环结构编程练习 108
2.2.4 实验4:函数编程练习 109
2.2.5 实验5:数组编程练习 110
2.2.6 实验6:递归程序设计练习 111
2.2.7 实验7:一维数组和函数综合编程练习 112
2.2.8 实验8:二维数组和函数综合编程练习 112
2.2.9 实验9:结构体编程练习 113
2.2.10 实验10:文件编程练习 115
2.3 课外上机实验题目 115
2.3.1 实验1:计算到期存款本息之和 115
2.3.2 实验2:存款预算 116
2.3.3 实验3:寻找最佳存款方案 116
2.3.4 实验4:抓交通肇事犯 117
2.3.5 实验5:求解不等式 117
2.3.6 实验6:计算礼炮声响次数 117
2.3.7 实验7:产值翻番计算 118
2.3.8 实验8:简单的口令检查程序 118
2.3.9 实验9:大奖赛现场统分 118
2.3.10 实验10:数组、指针和函数综合编程练习 119
2.3.11 实验11:合并有序数列 120
2.3.12 实验12:最牛微信 120
2.3.13 实验13:英雄卡 120
2.3.14 实验14:数数的手指 121
2.3.15 实验15:计算个人所得税 121
2.3.16 实验16:单词接龙 121
2.3.17 实验17:猜神童年龄 121
2.3.18 实验18:猴子吃桃 121
2.3.19 实验19:数字黑洞 122
2.3.20 实验20:火柴游戏 122
2.4 课内上机实验题目参考答案 125
2.4.1 实验1:熟悉上机环境和顺序结构编程练习 125
2.4.2 实验2:选择结构编程练习 127
2.4.3 实验3:循环结构编程练习 132
2.4.4 实验4:函数编程练习 137
2.4.5 实验5:数组编程练习 148
2.4.6 实验6:递归程序设计练习 161
2.4.7 实验7:一维数组和函数综合编程练习 165
2.4.8 实验8:二维数组和函数综合编程练习 168
2.4.9 实验9:结构体编程练习 172
2.4.10 实验10:文件编程练习 173
2.5 课外上机实验题目参考答案 181
2.5.1 实验1:计算到期存款本息之和 181
2.5.2 实验2:存款预算 182
2.5.3 实验3:寻找最佳存款方案 182
2.5.4 实验4:抓交通肇事犯 183
2.5.5 实验5:求解不等式 184
2.5.6 实验6:计算礼炮声响次数 185
2.5.7 实验7:产值翻番计算 186
2.5.8 实验8:简单的口令检查程序 186
2.5.9 实验9:大奖赛现场统分 188
2.5.10 实验10:数组、指针和函数综合编程练习 192
2.5.11 实验11:合并有序数列 197
2.5.12 实验12:最牛微信 199
2.5.13 实验13:英雄卡 200
2.5.14 实验14:数数的手指 201
2.5.15 实验15:计算个人所得税 202
2.5.16 实验16:单词接龙 203
2.5.17 实验17:猜神童年龄 204
2.5.18 实验18:猴子吃桃 205
2.5.19 实验19:数字黑洞 206
2.5.20 实验20:火柴游戏 207
2.6 课程设计――菜单驱动的学生成绩管理系统 209
2.7 Online Judge――在线评判 229
2.7.1 什么是Online Judge 229
2.7.2 Online Judge的使用 230
2.8 利用Online Judge编程的注意事项 234
2.9 基于C/S架构的C语言编程题考试自动评分系统简介 236
2.10 基于B/S架构的C语言编程题考试自动评分系统简介 237
2.11 面向学生自主学习的作业和实验在线测试系统简介 237
第3章 案例分析 239
3.1 错误案例分析 239
3.1.1 变量初始化错误 239
3.1.2 死循环与死语句 245
3.1.3 与0比较问题 248
3.1.4 复杂情形的关系判断问题 249
3.1.5 遗漏边界条件测试 252
3.1.6 非所有控制分支都有返回值错误 253
3.1.7 数值溢出错误 255
3.1.8 类型匹配错误 256
3.1.9 越界访存错误 258
3.1.10 缓冲区溢出问题 265
3.1.11 内存泄漏问题 267
3.1.12 使用野指针的问题 270
3.1.13 参数非法问题 277
3.1.14 不良代码风格问题 278
3.2 趣味经典实例分析 281
3.2.1 骑士游历问题 281
3.2.2 八皇后问题 283
3.3 程序优化及解决方案 287
3.4 C99简介 293
参考文献 298