第1部分 基础篇 1
第1章 概述 1
1.1程序与程序设计语言 1
1.1.1程序 1
1.1.2程序设计语言 3
1.2 C程序设计语言入门 4
1.2.1 C语言的发展史 4
1.2.2 C语言程序组成简介 5
1.2.3 C程序从开发到执行的过程 8
1.3 C语言的特点 9
习题 10
第2章 基本数据类型、运算符及表达式 11
2.1基本数据类型 11
2.1.1 C的数据类型 11
2.1.2 C的基本数据类型 11
2.2常量 13
2.2.1整型、实型及符号常量 13
2.2.2字符型常量 14
2.3变量 16
2.3.1变量的名字 16
2.3.2变量的定义 17
2.3.3变量的值 17
2.4运算符与表达式 18
2.4.1 C运算符概述 18
2.4.2算术运算符与算术表达式 19
2.4.3表达式中数据间的混合运算与类型转换 21
2.4.4赋值运算符与赋值表达式 23
小结 24
习题 25
第3章 基本结构程序设计 27
3.1程序基本结构与结构化程序设计 27
3.1.1算法 27
3.1.2算法的表示 29
3.1.3程序基本结构 30
3.1.4结构化程序设计方法 32
3.2顺序结构程序设计 34
3.2.1顺序执行语句概述 34
3.2.2数据的输入输出 35
3.2.3顺序结构程序举例 42
3.3选择结构 43
3.3.1关系运算和逻辑运算 43
3.3.2 if语句 45
3.3.3 if语句的嵌套 48
3.3.4条件运算符与条件表达式 50
3.3.5 switch语句 51
3.4循环结构程序设计 52
3.4.1 while语句 52
3.4.2 do-while语句 55
3.4.3 for语句 58
3.4.4循环嵌套 60
3.4.5 break语句和continue语句 60
3.5程序设计举例 63
小结 65
习题 65
第4章 函数 68
4.1概述 68
4.1.1 C程序的结构 68
4.1.2函数分类 69
4.2函数的定义与调用 70
4.2.1函数定义 70
4.2.2函数调用 72
4.2.3函数应用举例 76
4.3变量作用域 80
4.3.1局部变量 81
4.3.2全局变量 83
4.4函数的嵌套与递归 85
4.4.1函数的嵌套调用 85
4.4.2函数的递归调用 87
小结 91
习题 92
第5章 数组 96
5.1一维数组 96
5.1.1一维数组元素的引用 97
5.1.2一维字符数组 101
5.1.3应用举例 102
5.2二维数组 105
5.2.1二维数组元素的引用 106
5.2.2二维字符数组 107
5.2.3应用举例 112
5.3数组与函数 115
5.4字符串数组 121
5.4.1字符串数组 121
5.4.2字符串处理函数 122
5.4.3应用举例 124
小结 127
习题 128
第6章 结构体与共用体 131
6.1结构体概述 131
6.1.1结构体的引入 131
6.1.2结构体类型的定义 131
6.2结构体变量 133
6.2.1结构体变量的定义与初始化 133
6.2.2结构体变量的引用 135
6.2.3结构体变量作函数参数 137
6.3结构体数组 140
6.3.1结构体数组的定义与初始化 140
6.3.2结构体数组元素的引用 141
6.3.3结构体数组作函数参数 141
6.4共用体 144
6.4.1共用体类型定义 144
6.4.2共用体变量定义与引用 145
6.4.3应用举例 146
6.5枚举类型 149
6.6用typedef定义类型 151
6.6.1类型定义的含义及形式 151
6.6.2类型定义的优点 152
小结 152
习题 153
第7章 指针 156
7.1指针与地址 156
7.1.1指针的概念 156
7.1.2指针变量 157
7.1.3指针运算符 158
7.2指针与函数 159
7.2.1指针变量作函数参数 159
7.2.2返回指针值的函数 163
7.2.3指向函数的指针 164
7.3指针与数组 167
7.3.1指向一维数组的指针 167
7.3.2指向多维数组的指针 174
7.3.3字符型指针 179
7.3.4指针数组和指向指针的指针 183
7.3.5指向函数的指针数组 188
7.4指针与结构体 189
7.4.1指针与结构体变量 189
7.4.2结构体变量作函数的参数 190
7.4.3指针与结构体数组 192
7.5动态内存分配 194
小结 196
习题 197
第8章 文件 201
8.1文件概述 201
8.1.1文件的概念及分类 201
8.1.2文件的操作流程 202
8.1.3文件缓冲区 203
8.1.4文件指针 203
8.2文件的打开与关闭 204
8.2.1文件的打开(fopen函数) 204
8.2.2文件的关闭(fclose函数) 206
8.3文件的顺序读写 207
8.3.1字符读写函数fgetc和fputc 207
8.3.2字符串读写函数fgets和fputs 210
8.3.3格式化读写函数fscanf和fprintf 212
8.4文件的随机读写 214
8.4.1文件定位 214
8.4.2文件的随机读写 215
小结 219
习题 220
第2部分 综合扩展篇 222
第9章C语言基础知识进阶 222
9.1 C语言基本词法进阶 222
9.1.1存储类型修饰符 222
9.1.2逗号表达式及灵活的for循环形式 225
9.1.3运算符的结合性及其副作用 229
9.2位运算 231
9.2.1位段 231
9.2.2位运算和位运算符 233
9.3编译及预处理 236
9.3.1文件包含#include 236
9.3.2宏定义#define 239
9.3.3条件编译 242
第10章 集成开发环境介绍 245
10.1 Visual C++++开发环境简介 245
10.1.1 Visual C++++集成开发环境简介 245
10.1.2新建和输入源程序 247
10.1.3程序调试 258
10.2 Turbo C 2.0集成开发环境的使用 261
10.2.1 Turbo C 2.0集成开发环境简介 261
10.2.2编译环境使用 262
10.2.3 Turbo C 2.0的配置文件 269
第11章 综合实例一——上位机监测系统软件设计 271
11.1问题定义 271
11.1.1问题背景 271
11.1.2用户目标 271
11.2概要设计 271
11.2.1方案确定 271
11.2.2软件结构 272
11.2.3模块功能说明 272
11.3详细设计 272
11.3.1数据设计 273
11.3.2流程图 273
11.4编码 274
11.4.1各功能模块编码 274
11.4.2主程序编码 276
11.5测试 279
第12章 综合实例二——超市库存货品信息管理系统设计 285
12.1问题定义 285
12.1.1问题背景 285
12.1.2用户目标 285
12.2概要设计 286
12.2.1方案确定 286
12.2.2软件结构 286
12.2.3模块功能说明 286
12.3详细设计 287
12.3.1数据设计 287
12.3.2流程图 288
12.4编码 292
12.4.1各功能模块编码 292
12.4.2主程序编码 300
附录Ⅰ常用字符与ASC Ⅱ代码对照表 305
附录Ⅱ运算符和结合性 307
附录ⅢC库函数 308
参考文献 333