第1章 C语言基础 1
1.1 程序与程序设计语言 1
1.1.1 计算机与程序 1
1.1.2 计算机语言 1
1.1.3 高级语言程序的开发过程 3
1.2 C语言概述 4
1.2.1 C语言的发展 4
1.2.2 C语言的标准 4
1.2.3 C语言的特点 5
1.3 C程序的基本结构 5
1.3.1 一个简单的C程序 5
1.3.2 C程序的组成 6
1.4 运行C程序的步骤和方法 8
1.4.1 C程序的编译环境介绍 8
1.4.2 运行一个简单的C语言程序 9
本章小结 13
习题1 13
第2章 C语言中的数据 14
2.1 概述 14
2.1.1 数据及数据处理 14
2.1.2 数据处理的步骤 14
2.2 数据类型 14
2.3 常量 15
2.4 变量 18
2.4.1 变量的定义 19
2.4.2 变量的分类 19
2.4.3 变量的初始化 22
2.5 数据的输出 23
2.5.1 printf函数 23
2.5.2 putchar函数 27
2.6 数据的输入 27
2.6.1 scanf函数 28
2.6.2 getchar函数 31
2.7 运算符与表达式 32
2.7.1 赋值运算 32
2.7.2 算术运算 33
2.7.3 自增、自减运算符 35
2.7.4 复合赋值运算符 36
2.7.5 逗号运算符和逗号表达式 37
2.8 不同数据类型间的转换 39
2.8.1 数据类型的隐式转换 39
2.8.2 数据类型的显式转换 39
本章小结 40
习题2 41
第3章 结构化程序设计 42
3.1 算法 42
3.1.1 算法概述 42
3.1.2 算法的描述 43
3.1.3 算法实现的过程 45
3.1.4 C语言程序设计的基本步骤 45
3.2 顺序结构程序设计 46
3.3 选择结构程序设计 48
3.3.1 条件的描述和条件表达式 49
3.3.2 if语句 53
3.3.3 if语句的嵌套 59
3.3.4 条件运算符 62
3.3.5 switch语句 64
3.4 循环结构程序设计 68
3.4.1 迭代与穷举算法 68
3.4.2 while语句 71
3.4.3 do…while语句 74
3.4.4 for语句 76
3.4.5 循环中断控制语句 80
3.4.6 循环的嵌套 82
本章小结 85
习题3 86
第4章 模块化程序设计 88
4.1 函数 88
4.1.1 概述 88
4.1.2 函数的分类、定义与调用 89
4.1.3 函数的返回值 95
4.1.4 形实结合与传值调用和传址调用 97
4.1.5 函数的嵌套调用与递归调用 100
4.2 变量的使用范围 105
4.2.1 变量的作用域与生存期 105
4.2.2 C语言中变量的存储类型 109
4.3 C语言预处理 114
4.3.1 宏定义 114
4.3.2 文件包含 122
4.3.3 条件编译 122
本章小结 125
习题4 125
第5章 数组 129
5.1 数值型数组 129
5.1.1 一维数组 129
5.1.2 二维数组 140
5.2 字符数组 148
5.2.1 一维字符数组和二维字符数组 148
5.2.2 字符串的输入/输出 150
5.2.3 字符串处理函数 152
本章小结 156
习题5 156
第6章 指针 160
6.1 指针基础 160
6.1.1 地址与指针 160
6.1.2 指针变量及其定义 161
6.1.3 指针变量的引用 161
6.1.4 指针变量作为函数参数 165
6.2 指针与数组 168
6.2.1 指向数组元素的指针 168
6.2.2 通过指针引用数组元素 169
6.2.3 指向多维数组的指针和指针变量 172
6.2.4 字符串指针与指向字符串的指针变量 177
6.2.5 指针数组和指向指针的指针 183
6.3 指针与函数 191
6.3.1 用指针实现函数的地址传递 191
6.3.2 返回指针值的函数 192
6.3.3 指向函数的指针 193
6.4 有关指针的数据类型和指针变量的运算 194
6.4.1 有关指针的各种定义及其含义 194
6.4.2 指针变量的运算 195
6.4.3 void指针类型 196
本章小结 196
习题6 197
第7章 用户自定义数据类型 200
7.1 结构体 200
7.1.1 结构体类型及其定义 200
7.1.2 结构体变量的定义与引用 201
7.1.3 结构体数组 205
7.1.4 结构体类型的指针 209
7.2 共用体 212
7.2.1 共用体的定义 212
7.2.2 共用体变量的应用 213
7.3 动态内存的分配 215
7.4 链表 217
7.5 枚举类型 220
7.5.1 枚举类型的定义 220
7.5.2 枚举类型变量的应用 221
7.6 用typedef定义数据类型 223
本章小结 226
习题7 226
第8章 文件 230
8.1 概述 230
8.1.1 文件的概念 230
8.1.2 文件操作的基本方法和步骤 230
8.2 文件的打开和关闭 231
8.2.1 文件指针 231
8.2.2 文件的打开 232
8.2.3 文件的关闭 234
8.3 顺序读写文件 235
8.3.1 fputc函数和fgetc函数 235
8.3.2 fputs函数和fgets函数 241
8.3.3 fwrite函数和fread函数 243
8.3.4 fprintf函数和fscanf函数 247
8.4 随机读写文件 249
8.4.1 文件位置指针的定位 249
8.4.2 文件随机读写程序举例 251
8.5 文件操作的出错检测 252
8.6 常用文件操作函数小结 253
本章小结 253
习题8 254
附录 256
附录A C语言运算符的优先级与结合性 256
附录B C语言中的关键字 257
附录C 常用字符与ASCII码表 257
附录D C语言常用的标准库函数 258
附录E Turbo C++ 3.0的集成环境简介 265
参考文献 269