第1章 C程序设计概述 1
1.1 C语言概述 1
1.1.1 C语言的由来 1
1.1.2 C语言的特点 1
1.2 C程序的结构 2
1.2.1 C程序的结构分析 2
1.2.2 C程序的格式要求 3
1.2.3 C程序的结构特点 4
1.3 C程序的调试与运行 4
1.3.1 C程序的实现过程 4
1.3.2 Turbo C的操作过程 4
本章小结 5
习题 6
项目实训 6
第2章 C程序基础知识 7
2.1 标识符、常量和变量 7
2.1.1 标识符 7
2.1.2 常量 8
2.1.3 变量 8
2.2 数据类型 9
2.2.1 整型数据 9
2.2.2 实型数据 11
2.2.3 字符型数据 12
2.3 运算符和表达式 13
2.3.1 算术运算符及其表达式 14
2.3.2 赋值运算符及其表达式 15
2.3.3 自加和自减运算 15
2.3.4 关系运算符及其表达式 16
2.3.5 逻辑运算符及其表达式 17
2.3.6 逗号运算符及其表达式 18
技能训练 18
本章小结 19
习题 19
项目实训 21
第3章 顺序结构程序设计 22
3.1 结构化程序设计的基础 22
3.1.1 算法与数据结构 23
3.1.2 结构化程序设计方法 24
3.2 顺序结构程序设计简介 25
3.3 格式输出函数printf() 26
3.3.1 printf()函数的使用 26
3.3.2 printf()函数的附加格式字符 28
3.4 格式输入函数scanf() 30
3.5 字符输出/输入函数 32
3.5.1 字符输出函数putchar() 32
3.5.2 字符输入函数getchar() 33
技能训练 34
本章小结 35
习题 35
项目实训 37
第4章 选择结构程序设计 38
4.1 选择结构程序设计简介 38
4.2 if语句 39
4.2.1 单分支if语句 40
4.2.2 双分支if语句 40
4.2.3 嵌套if语句 41
4.2.4 多分支if...else if语句 44
4.3 switch语句 45
4.4 条件运算符和条件表达式 49
技能训练 50
本章小结 52
习题 53
项目实训 57
第5章 循环结构程序设计 58
5.1 循环结构程序设计简介 58
5.2 while循环 60
5.3 do while循环 61
5.4 for循环 63
5.5 空循环 65
5.6 几种循环的比较 66
5.7 嵌套循环 66
5.8 循环的跳离 68
5.8.1 break语句 69
5.8.2 continue语句 69
技能训练 70
本章小结 72
习题 73
项目实训 77
第6章 数组应用 79
6.1 数组简介 79
6.2 一维数组 81
6.2.1 一维数组的定义 81
6.2.2 一维数组的引用 82
6.2.3 一维数组的初始化 84
6.2.4 一维数组程序设计举例 85
6.3 二维数组 87
6.3.1 二维数组的定义 87
6.3.2 二维数组的引用 88
6.3.3 二维数组的初始化 90
6.3.4 二维数组程序设计举例 91
6.4 多维数组 93
6.5 字符数组 94
6.5.1 字符串与字符数组的区别 94
6.5.2 字符数组的定义、引用及初始化 95
6.5.3 字符数组的输入与输出 96
6.5.4 字符串输入/输出函数 97
6.5.5 字符串处理函数 98
技能训练 100
本章小结 102
习题 102
项目实训 106
第7章 函数应用 108
7.1 C语言函数概述 108
7.1.1 库函数和用户自定义函数 108
7.1.2 有返回值函数和无返回值函数 109
7.1.3 无参函数和有参函数 109
7.1.4 字符类型 109
7.2 函数的定义 110
7.2.1 无参函数的定义 110
7.2.2 有参函数的定义 111
7.3 函数的参数及返回值 112
7.3.1 形式参数和实际参数 112
7.3.2 函数的返回值 114
7.4 函数的一般调用 115
7.4.1 函数调用的一般形式 115
7.4.2 函数调用的方式 115
7.4.3 被调用函数的声明和函数原型 116
7.5 函数的嵌套调用和递归调用 117
7.5.1 嵌套调用 117
7.5.2 递归调用 118
7.6 数组作为函数参数 121
7.6.1 数组元素作为函数实际参数 121
7.6.2 数组名作为函数参数 122
7.7 变量的作用域 127
7.7.1 局部变量 127
7.7.2 全局变量 129
7.8 变量的存储属性 131
7.8.1 变量的存储类别 131
7.8.2 auto变量 132
7.8.3 static变量 132
7.8.4 register变量 134
7.9 内部函数和外部函数 135
技能训练 136
本章小结 138
习题 138
项目实训 141
第8章 指针应用 142
8.1 指针概述 142
8.1.1 指针的概念 142
8.1.2 为什么要用指针 143
8.2 指针变量 143
8.2.1 指针变量的定义 143
8.2.2 指针变量的初始化 144
8.2.3 指针变量的引用 145
8.3 指针运算 147
8.3.1 指针变量的赋值运算 147
8.3.2 指针变量与整数的加减运算 148
8.3.3 指针变量之间的减法运算 149
8.3.4 指针变量的关系运算 149
8.4 指针与数组 149
8.4.1 指向一维数组元素的指针 150
8.4.2 指向二维数组元素的指针 151
8.5 双重指针 153
技能训练 155
本章小结 156
习题 156
项目实训 160
第9章 结构体、共同体和枚举类型 162
9.1 结构体类型概述 162
9.1.1 结构体介绍 162
9.1.2 结构体类型定义 162
9.2 结构体类型变量 163
9.2.1 结构体类型变量的一般定义 163
9.2.2 结构体类型变量的嵌套定义 164
9.2.3 结构体的引用 165
9.3 结构体数组 167
9.4 结构体指针 170
9.4.1 指向结构体变量的指针 170
9.4.2 指向结构体数组的指针 171
9.5 共同体类型 172
9.6 枚举类型 175
技能训练 179
本章小结 181
习题 181
项目实训 185
第10章 文件 186
10.1 文件概述 186
10.2 文件的打开与关闭 188
10.2.1 文件打开函数 188
10.2.2 文件关闭函数 190
10.3 字符读写函数 191
10.3.1 读字符函数fgetc() 191
10.3.2 写字符函数fputc() 192
10.4 字符串读写函数 194
10.5 数据块读写函数 196
10.6 格式化读写函数 199
10.7 文件的随机读写 201
10.8 文件的出错检测和处理 203
技能训练 205
本章小结 206
习题 206
项目实训 209
第11章 综合应用实例 210
11.1 程序开发步骤 210
11.2 菜单的设计 212
11.3 系统功能的实现 217
本章小结 222
习题 223
附录A Turbo C操作环境介绍 224
附录B 运算符和结合性 229
附录C C库函数 230
附录D 字符与ASCII代码对照表 235
附录E 常见错误分析 237
参考文献 242