章用流程图描述业务流程1
1.1用流程图描述高考志愿填报业务流程/1
1.1.1高考志愿填报流程分析/1
1.1.2流程图以及流程图的基本图形符号/2
1.2用流程图描述公式法求一元二次方程解的过程/4
1.3用流程图描述判断任一年份是否为闰年/5
1.3.1判断任一年份是否为闰年的流程分析/6
1.3.2用流程图描述“判断年份year是否为闰年”/6
1.4实践训练:用流程图描述网上火车票购买流程/6
1.5本章小结/7
课后习题/7
第2章项目驱动案例设置8
2.1教学案例:学生班级成绩管理系统/8
2.1.1学生班级成绩管理系统应用背景/8
2.1.2学生班级成绩管理的需求/9
2.1.3学生班级成绩管理系统开发情况/10
2.2班主任管家软件的设计与实现/11
2.2.1班主任管家软件开发目的/12
2.2.2奖学金评定办法/12
2.2.3系统信息规范化/13
2.2.4班主任管家软件功能要求/13
2.2.5性能需求/14
2.3本章小结/14
第3章关键字、标识符及数的进制转换15
3.1关键字/15
3.2标识符/16
3.3数的进制及转换/17
3.3.1十进制/17
3.3.2二进制/18
3.3.3八进制/19
3.3.4十六进制/20
3.4计算机中数的表示/21
3.4.1信息存储的相关概念/21
3.4.2机器数的表示形式/21
3.5本章小结/23
课后习题/24
第4章数据类型25
4.1C语言数据类型/25
4.2整型数据/26
4.2.1整型常量/26
4.2.2整型变量/26
4.2.3整型变量的定义与使用/27
4.3实型数据/28
4.3.1实型常量的表示/28
4.3.2实型变量/28
4.3.3实型数据的舍入误差/29
4.4字符型数据/30
4.4.1字符常量/30
4.4.2字符变量/30
4.5字符串常量/31
4.6格式输入与输出/31
4.6.1格式输出函数printf/31
4.6.2格式输入函数scanf/33
4.7本章小结/34
课后习题/35
第5章运算符、表达式及语句36
5.1算术运算符及算术表达式/36
5.1.1算术运算符/36
5.1.2算术表达式/37
5.1.3负号运算符/37
5.1.4自增、自减运算符/37
5.1.5算术运算中数据类型转换规则/39
5.1.6赋值运算中数据类型转换规则/40
5.2关系运算符及关系表达式/40
5.2.1关系运算符/40
5.2.2关系表达式/41
5.3逻辑运算符及逻辑表达式/41
5.3.1逻辑运算符和逻辑表达式/41
5.3.2逻辑与、逻辑或的“短路”功能/42
5.4赋值运算符及表达式/43
5.4.1赋值运算符/43
5.4.2赋值表达式/43
5.4.3复合赋值运算符/44
5.5位运算符及表达式/45
5.5.1左移运算/45
5.5.2右移运算/45
5.5.3位运算之间的优先级/46
5.6其他运算符及表达式/46
5.6.1逗号运算符及逗号表达式/46
5.6.2容量运算符/47
5.6.3条件运算符/47
5.7C语言语句及基本结构/48
5.7.1表达式语句/48
5.7.2函数调用语句/48
5.7.3空语句/48
5.7.4复合语句/48
5.7.5控制语句/49
5.7.6C语言的基本结构/49
5.8本章小结/49
课后习题/49
第6章选择结构51
6.1生活情景导入/51
6.2if语句/52
6.2.1简单if语句/52
6.2.2两路选择if语句/54
6.2.3多路选择if语句的嵌套/55
6.3switch语句/59
6.4if与switch语句比较/61
6.5本章小结/61
课后习题/62
第7章循环结构64
7.1生活情景导入/64
7.1.1蜗牛爬竿/64
7.1.2长跑比赛/65
7.2while循环/65
7.3do-while循环/68
7.4while和do-while循环比较/69
7.5for循环/70
7.6循环嵌套/72
7.7转移语句/74
7.7.1break语句/74
7.7.2continue语句/78
7.8本章小结/79
课后习题/80
第8章数组83
8.1C语言数组的引入/83
8.1.1为什么要使用数组/83
8.1.2数组的概念/84
8.1.3数组的三要素/84
8.2一维数组/85
8.2.1一维数组的定义/85
8.2.2一维数组的存储/85
8.2.3一维数组的初始化/86
8.2.4一维数组元素的引用/87
8.2.5一维数组的应用/87
8.3二维数组/93
8.3.1二维数组的引入——摘水果竞赛/93
8.3.2二维数组的定义/94
8.3.3二维数组的存储/95
8.3.4二维数组的初始化/95
8.3.5二维数组的引用/96
8.3.6二维数组的应用/96
8.4字符数组与字符串/98
8.4.1字符数组与字符串/98
8.4.2字符数组的输入与输出/100
8.4.3字符串函数/102
8.4.4字符数组的应用/104
8.5本章小结/106
课后习题/106
第9章函数110
9.1函数式多文件程序结构/110
9.1.1为什么采用多函数结构/111
9.1.2为什么采用多文件结构/113
9.2函数的定义、调用及声明/113
9.2.1函数的分类/113
9.2.2函数的定义/114
9.2.3函数的调用/120
9.2.4函数类型与函数的返回值类型/122
9.2.5函数的声明/122
9.3函数的参数传递/124
9.3.1函数间数据传递/124
9.3.2函数的参数传递数值/124
9.3.3函数的参数传递地址/126
9.3.4函数的参数传递小结/127
9.4函数的嵌套与递归/127
9.4.1函数的嵌套调用/127
9.4.2函数的递归调用/129
9.5变量的作用域与存储/131
9.5.1变量的作用域/131
9.5.2变量的存储/135
9.6本章小结/138
课后习题/139
0章自定义类型145
10.1结构体/145
10.1.1结构体类型/145
10.1.2结构体的定义与声明/146
10.1.3结构体变量的初始化与赋值/147
10.1.4结构体应用/148
10.1.5结构体的嵌套定义/149
10.2共用体/150
10.2.1共用体类型定义/150
10.2.2工会会员类型定义/151
10.2.3共用体与结构体的区别/154
10.3枚举类型/154
10.3.1枚举类型定义/154
10.3.2枚举类型变量的赋值和使用/155
10.4本章小结/156
课后习题/157
1章指针159
11.1指针与指针变量/159
11.1.1指针的概念/159
11.1.2指针变量的定义/160
11.1.3指针变量的初始化/160
11.1.4指针变量的运算/162
11.2指针与数组/164
11.2.1数组的指针/164
11.2.2指向一维数组的指针变量/165
11.2.3指向二维数组的指针变量/166
11.2.4指向数组的指针做函数的参数/169
11.3指针与字符串/170
11.3.1用字符指针处理字符串常量/170
11.3.2野指针/170
11.4指针与函数/172
11.4.1指针做函数的参数——地址型参数/172
11.4.2返回值为指针的函数——指针函数/173
11.4.3指向函数的指针变量——函数指针变量/174
11.5本章小结/176
课后习题/177
2章文件180
12.1文件的引入/180
12.1.1数据的临时存放/180
12.1.2数据的永久存放/181
12.1.3文件的分类/181
12.1.4文件数据类型与文件指针/182
12.1.5文件缓冲区/182
12.2文件的操作/183
12.2.1文件的打开/183
12.2.2文件的关闭/184
12.2.3以字符为单位的文件读写/185
12.2.4以字符串为单位的文件读写/186
12.2.5以数据块为单位的文件读写/188
12.3文件的定位操作/189
12.3.1rewind()函数/190
12.3.2fseek()函数/190
12.3.3ftell()函数/191
12.4文件出错检测/192
12.4.1perror()函数/193
12.4.2ferror()函数/193
12.5本章小结/194
课后习题/195
部分习题参考答案与解析197
附录222
附录1常用字符ASCII码对照表/222
附录2C语言关键字/223
附录3C语言运算符优先级和结合性/224
附录4C语言常用库函数/226
参考文献231