C语言程序设计案例教程

2010年人民邮电出版社出版的图书
《C语言程序设计案例教程》是2010年人民邮电出版社出版的图书，作者是廖湖生、叶乃文、周珺。
内容简介
本书试图从解决实际问题的角度出发，通过大量的典型实例，强化算法设计的基本方法，并由此阐述C语言为实现算法而提供的各种技术支持，即沿着由问题带出算法，由算法带出程序设计语言的思路讲述C语言程序设计中的各个知识点。全书内容分为两部分：第一部分包括第1章至第6章，主要阐述C语言程序设计的基础知识及计算机算法的初步内容；第二部分包括第7章至第9章，主要列举一些综合性较强的实例，讲述一些与实践环节有关的内容。
为了便于考查学习效果，本书在主要章的后面都给出大量的习题和一套自测题。这些题目基本上覆盖了各章中讲述的大部分知识点。在主要章的后面提供两道涉及本章知识内容的上机练习题目，并在第9章给出具有一定综合效果的实践性题目。
本书为教师提供配套的电子教案及书中实例的源代码，可从人民邮电出版社的教学服务与资源网上直接下载。
本书可作为各类高等院校计算机专业及理工科类非计算机专业的学生学习C语言程序设计的教材，也可作为有关工程技术人员和计算机爱好者学习C语言程序设计的参考书。
图书目录
第1章　C语言基础知识　1
1.1　计算机与程序设计语言　1
1.1.1　计算机系统的基本组成　1
1.1.2　程序设计语言　3
1.1.3　C语言发展过程及特点　4
1.2　C程序的基本结构和运行过程　4
1.2.1　几个简单的C程序　4
1.2.2　运行C程序的基本过程　7
1.2.3　利用Visual C++ 6.0 集成环境开发C程序　8
1.2.4　利用Turbo C++ 3.0集成环境开发C程序　13
1.3　数据类型、常量、变量、输入/输出与基本运算　15
1.3.1　基本数据类型与数据的表示　15
1.3.2　常量　16
1.3.3　变量、变量的存储与变量的赋值　18
1.3.4　基本的输入/输出　20
1.3.5算术运算符和算术表达式　26
1.3.6　数学标准函数　30
1.3.7　位运算　31
1.4　本章语法小结　33
习题　34
上机练习题　35
自测题　36
第2章　C语言的基本控制结构　38
2.1　顺序结构　38
2.2　选择结构　39
2.2.1　关系运算与逻辑运算　39
2.2.2　if语句　41
2.2.3　多路选择和switch语句　44
2.2.4　选择结构的应用实例：复数四则运算　46
2.3　循环结构　48
2.3.1　while语句　48
2.3.2　for语句　49
2.3.3　do while语句　51
2.3.4　循环语句的应用实例　52
2.4　程序调试的基本方法　54
2.4.1　错误分类和解决方法　55
2.4.2　静态程序调试　55
2.4.3　动态程序跟踪　56
2.5　本章语法小结　57
习题　58
上机练习题　59
自测题　60
第3章　计算机算法初步　62
3.1　算法的概念　62
3.1.1　利用计算机求解问题的一般过程　62
3.1.2　数据对象与算法描述　63
3.1.3　利用流程图描述算法的应用实例　64
3.2　穷举法　67
3.2.1　概述　67
3.2.2　穷举法应用实例1：素数的判断　67
3.2.3　穷举法应用实例2：百钱买百鸡　69
3.3　递推与迭代法　71
3.3.1　概述　71
3.3.2　递推与迭代法应用实例1：等比数列求和　71
3.3.3　递推与迭代法应用实例2：求圆周率π　73
3.3.4　递推与迭代法应用实例3：按位分解整数　74
3.4　本章语法小结　76
习题　77
上机练习题　77
自测题　78
第4章　数据的组织结构(一)　80
4.1　数组类型　80
4.1.1　数组类型的应用背景　80
4.1.2　一维数组类型的定义　81
4.1.3　一维数组的初始化　82
4.1.4　一维数组元素的引用及基本操作　83
4.2　利用一维数组组织数据的应用实例　85
4.2.1　按照条件对数据进行筛选　85
4.2.2　根据需求对数据进行统计　87
4.2.3　查找问题　91
4.2.4　排序问题　96
4.3　字符串的组织　98
4.3.1　字符串的组织形式　98
4.3.2　字符串的初始化　99
4.3.3　字符串的输入/输出　99
4.4　常用的字符串标准函数及应用实例　101
4.4.1　字符串标准函数　101
4.4.2　文本加密　108
4.5　二维数组　109
4.5.1　二维数组的定义　109
4.5.2　二维数组的应用实例　112
4.6　本章语法小结　118
习题　119
上机练习题　122
自测题　123
第5章　程序的组织结构　125
5.1　函数概述　125
5.2　标准函数　126
5.2.1　函数原型　126
5.2.2　随机数的产生及应用实例　128
5.3　自定义函数　130
5.3.1　函数的定义　131
5.3.2　函数的调用、函数的返回值及参数的传递　132
5.3.3　自定义函数的应用实例　136
5.4　函数与数组的应用实例　140
5.4.1　计算最长文本行　140
5.4.2　冒泡排序　142
5.5　递归算法与递归函数　145
5.5.1　递归算法与递归函数概述　145
5.5.2　递归函数的调用过程　147
5.5.3　全排列　148
5.5.4　用递归函数实现二分查找　149
5.6　变量的生存期与作用域　151
5.6.1　全局变量和局部变量　152
5.6.2　自动变量和静态变量　155
5.7　本章语法小结　156
习题　158
上机练习题　160
自测题　161
第6章　数据的组织结构(二)　163
6.1结构体类型163
6.1.1　结构体类型的概念　163
6.1.2　学生基本信息的组织方式　168
6.1.3　结构体类型应用实例　171
6.2　指针类型　177
6.2.1　指针类型的概念　178
6.2.2　指针与数组　182
6.2.3　字符串与指针数组　187
6.2.4　指针型函数参数及函数返回值　194
6.2.5　指针类型的应用实例——链表　199
6.3　文件　207
6.3.1　文件的概念　207
6.3.2　文件的基本操作　209
6.4　联合体与枚举类型　220
6.4.1　联合体　220
6.4.2　枚举类型　222
6.5　本章语法小结　223
习题　226
上机练习题　229
自测题　230
第7章　C程序应用实例　232
7.1　实例1　字符串处理　232
7.2　实例2　歌曲排行榜　237
7.3　实例3　集合运算　241
7.4　实例4　通讯录管理应用程序　246
第8章　软件开发基础知识　253
8.1　软件与软件产品特征　253
8.2　软件开发的基本过程　254
8.2.1软件生命周期255
8.2.2　软件开发过程模型　256
8.2.3　软件开发方法学　257
8.3　程序设计风格　258
8.4　程序调试的基本方法　258
8.5　软件测试的基本方法　259
8.6　软件文档的编写要求　260
第9章　C语言课程设计指导　261
9.1　课程设计教学环节的主要目的　261
9.2　C语言课程设计的考核内容　261
9.3　课程设计报告的书写规范　262
9.3.1　课程设计报告的内容要求　262
9.3.2　课程设计报告的质量要求　263
9.4　课程设计题目　263
9.4.1　第1题　学生证管理程序　263
9.4.2　第2题　学分管理程序　264
9.4.3　第3题　图书登记管理程序　264
9.4.4　第4题　学生作业完成情况管理程序　265
附录A　ASCⅡ字符集　267
附录B　运算符的优先级和结合性　268
附录C　Visual C++ 6.0使用指南　269
附录D　Turbo C++ 3.0使用指南　275
附录E　C语言常用标准函数　284
参考文献　287