第1部分 基础篇 3
第1章 概述 3
1.1 程序与程序设计语言 3
1.1.1 程序 3
目录 3
1.1.2 程序设计语言 4
1.2 C程序设计语言入门 5
1.2.1 C语言的发展史 5
1.2.2 C语言程序组成简介 6
1.2.3 C程序从开发到执行的过程 9
1.3 C语言的特点 10
习题 11
2.1.1 C的数据类型 12
第2章 基本数据类型、运算符及表达式 12
2.1 基本数据类型 12
2.1.2 C的基本数据类型 13
2.2 常量 14
2.2.1 整型、实型及符号常量 14
2.2.2 字符型常量 15
2.3 变量 17
2.3.1 变量的名字 17
2.3.2 变量的定义 17
2.3.3 变量的值 18
2.4 运算符与表达式 18
2.4.1 C运算符概述 19
2.4.2 算术运算符与算术表达式 20
2.4.3 表达式中数据间的混合运算与类型转换 21
2.4.4 赋值运算符与赋值表达式 24
小结 25
习题 26
第3章 基本结构程序设计 28
3.1 程序基本结构与结构化程序设计 28
3.1.1 算法 28
3.1.2 算法的表示 31
3.1.3 程序基本结构 31
3.1.4 结构化程序设计方法 33
3.2 顺序结构程序设计 35
3.2.1 顺序执行语句概述 35
3.2.2 数据的输入输出 36
3.2.3 顺序结构程序举例 43
3.3 选择结构 44
3.3.1 关系运算和逻辑运算 44
3.3.2 if语句 46
3.3.3 if语句的嵌套 49
3.3.4 条件运算符与条件表达式 51
3.3.5 switch语句 51
3.4 循环结构程序设计 53
3.4.1 while语句 53
3.4.2 do-while语句 55
3.4.3 for语句 58
3.4.4 循环嵌套 59
3.4.5 break语句和continue语句 60
3.5 程序设计举例 62
小结 64
习题 65
第4章 数组 67
4.1 一维数组 67
4.1.1 一维数组的定义和初始化 67
4.1.2 一维数组元素的引用 69
4.1.3 应用举例 69
4.2 二维数组 73
4.2.1 二维数组的定义 73
4.2.2 二维数组元素的引用 74
4.2.3 程序举例 75
4.3 字符数组 78
4.3.1 字符数组的定义和引用 78
4.3.2 字符数组的输入输出 80
4.3.3 字符串处理函数 81
4.3.4 字符数组举例 84
小结 86
习题 87
第5章 函数 91
5.1 概述 91
5.1.1 C程序的结构 91
5.1.2 函数分类 92
5.2 函数的定义与调用 93
5.2.1 函数定义 93
5.2.2 函数调用 95
5.2.3 函数应用举例 99
5.3.1 局部变量 103
5.3 变量作用域 103
5.3.2 全局变量 105
5.4 函数的嵌套与递归 107
5.4.1 函数的嵌套调用 107
5.4.2 函数的递归调用 110
小结 114
习题 114
第6章 结构体与共用体 118
6.1 结构体概述 118
6.1.1 结构体的引入 118
6.1.2 结构体类型的定义 118
6.2 结构体变量 120
6.2.1 结构体变量的定义与初始化 120
6.2.2 结构体变量的引用 122
6.2.3 结构体变量作为函数参数 124
6.3 结构体数组 126
6.3.1 结构体数组的定义与初始化 126
6.3.2 结构体数组元素的引用 127
6.3.3 结构体数组作函数参数 128
6.4 共用体 130
6.4.1 共用体类型定义 131
6.4.2 共用体变量定义与引用 131
6.4.3 应用举例 132
6.5 枚举类型 135
6.6 用typedef定义类型 137
6.6.1 类型定义的含义及形式 137
小结 138
6.6.2 类型定义的优点 138
习题 139
第7章 指针 142
7.1 地址和指针的概念 142
7.1.1 变量的地址和变量的值 142
7.1.2 直接访问和间接访问 143
7.1.3 指针的概念 143
7.2 指针变量的定义与引用 144
7.2.1 指针变量的定义和初始化 144
7.2.2 指针变量的引用 145
7.2.3 函数中用指针变量作形参实现变量的引用传递 146
7.3.1 指向一维数组元素的指针 149
7.3 指针与数组 149
7.3.2 指向多维数组元素和指向分数组的指针 155
7.3.3 用字符数组和字符型指针访问字符串 158
7.3.4 指针数组和指向指针的指针 163
7.4 指针与结构体 168
7.4.1 指向结构体变量的指针变量 168
7.4.2 指向结构体数组元素的指针 169
7.4.3 用指向结构体的指针作函数参数 170
7.5 指针与函数 172
7.5.1 返回指针值的函数 172
7.5.2 指向函数的指针和函数参数 173
小结 176
习题 178
8.1.1 文件的概念及分类 182
第8章 文件 182
8.1 文件概述 182
8.1.2 文件的操作流程 184
8.1.3 文件缓冲区 184
8.1.4 文件指针 185
8.2 文件的打开与关闭 185
8.2.1 文件的打开(fopen函数) 185
8.2.2 文件的关闭(fclose函数) 187
8.3 文件的顺序读写 188
8.3.1 字符读写函数fgetc和fputc 188
8.3.2 字符串读写函数fgets和fputs 191
8.3.3 格式化读写函数fscanf和fprintf 193
8.4.1 文件定位 195
8.4 文件的随机读写 195
8.4.2 文件的随机读写 196
小结 200
习题 200
第2部分 综合扩展篇 205
第9章 C语言基础知识进阶 205
9.1 C语言基本词法进阶 205
9.1.1 存储类型修饰符 205
9.1.2 逗号表达式及灵活的for循环形式 208
9.1.3 运算符的结合性及其副作用 211
9.2 位运算 213
9.2.1 位段 213
9.2.2 位运算和位运算符 215
9.3.1 文件包含#include 218
9.3 编译及预处理 218
9.3.2 宏定义#define 221
9.3.3 条件编译 224
第10章 TurboC图形程序设计 227
10.1 基本概念、结构和函数 227
10.2 图形模式的初始化和检测函数 228
10.3 屏幕颜色的设置和清屏函数 230
10.4 基本的图形函数 231
10.4.1 点和坐标位置函数 231
10.4.2 画线函数 233
10.4.3 设定线型函数 234
10.5.2 设定填充方式 236
10.5.1 基本图形轮廓 236
10.5 封闭图形的填充 236
10.5.3 任意封闭图形的填充 238
10.6 图形模式下的文本输出 240
10.6.1 文本字符的输出 240
10.6.2 字体、字型和输出方式设置 241
10.6.3 文本字符大小设置 243
10.7 视口和视口函数 246
10.8 屏幕操作 248
第11章 综合实例一——上位机监测系统软件设计 255
11.1 问题定义 255
11.1.1 问题背景 255
11.1.2 用户目标 255
11.2 概要设计 255
11.2.2 软件结构 256
11.2.1 方案确定 256
11.2.3 模块功能说明 257
11.3 详细设计 257
11.3.1 数据设计 257
11.3.2 流程图 257
11.4 编码 259
11.4.1 各功能模块编码 259
11.4.2 主程序编码 260
11.5 测试 263
第12章 综合实例二——超市库存货品信息管理系统设计 267
12.1 问题定义 267
12.1.1 问题的背景 267
12.2.2 软件结构 268
12.2.3 模块功能说明 268
12.2 概要设计 268
12.2.1 方案确定 268
12.1.2 用户的目标 268
12.3 详细设计 269
12.3.1 数据设计 269
12.3.2 流程图 271
12.4 编码 279
12.4.1 各功能模块编码 279
12.4.2 主程序编码 287
第3部分 附录 293
附录Ⅰ 常用字符与ASCII代码对照表 293
附录Ⅱ 运算符和结合性 294
附录Ⅲ C库函数 295
参考文献 314