1.1 基础知识 1
1.1.1 计算机系统 1
第一章 引论 1
1.1.2 算法及其表示 3
1.1.3 程序设计及程序设计语言 4
1.2 C语言简况 6
1.2.1 C语言的发展过程 6
1.2.2 C语言的主要特点 7
1.3 C程序的基本结构 8
1.4 C语言的基本语法单位 10
1.4.1 标识符 10
1.4.2 关键字 11
1.4.3 分隔符 12
1.5 运行C程序的一般步骤 12
习题 13
2.1 基本数据类型 15
2.1.1 C的数据类型 15
第二章 基本数据类型和运算 15
2.1.2 基本类型的名字及长度 16
2.2 常量和变量 17
2.2.1 常量的表示 17
2.2.2 符号常量 23
2.2.3 变量说明 24
2.3 运算符和表达式 25
2.3.1 概述 25
2.3.2 算术运算 26
2.3.3 关系运算 27
2.3.4 逻辑运算 28
2.3.5 自增和自减运算 29
2.3.6 位运算 30
2.3.7 赋值运算 33
2.3.8 条件运算 34
2.3.9 顺序求值运算 35
2.4 类型转换 36
2.4.1 类型转换的规则 37
2.4.2 类型转换的方法 38
2.5 枚举类型 39
习题二 41
第三章 简单程序设计 43
3.1 流程结构和语句 43
3.2 基本的标准文件输入与输出函数 44
3.2.1 字符输入和输出函数(getchar,putchar) 44
3.2.2 格式输出函数(printf) 45
3.2.3 格式输入函数(scanf) 48
3.3 简单程序设计举例 53
习题三 55
第四章 流程控制 57
4.1 复合语句 57
4.2 if语句 58
4.3 switch语句 62
4.4 while语句 65
4.5 for语句 73
4.6 do-while语句 77
4.7 多重循环 82
4.8 转移语句和标号语句 86
习题四 92
第五章 函数与程序结构 95
5.1 C程序的一般结构 95
5.2 函数定义与函数说明 95
5.2.1 函数定义 96
5.2.2 函数说明 99
5.3.1 函數调用 100
5.3 函数调用与参数传递 100
5.3.2 参数的传递方式 102
5.3.3 参数数目可变的函数 103
5.4 变量的存储类型 103
5.4.1 存储类型区分符 104
5.4.2 自动变量 104
5.4.3 外部变量 106
5.4.4 静态变量 108
5.4.5 寄存器变量 111
5.5 递归函数和递归调用 112
5.4.6 变量的存储类型小结 112
5.6 编译预处理 116
5.6.1 宏替换 116
5.6.2 文件包含 119
5.6.3 条件编译 120
5.6.4 行控制 122
习题五 122
第六章 数组 124
6.1 一维数组 124
6.1.1 数组的说明 124
6.1.2 数组的引用 125
6.1.3 数组的初始化 128
6.1.4 数组的运算 129
6.2 字符数组 131
6.2.1 字符数组的说明和引用 131
6.2.2 字符数组的初始化 132
6.2.3 字符串处理函数 132
6.3 多维数组 139
6.3.1 多维数组的说明、引用和存储结构 140
6.3.2 多维数组的初始化 141
6.3.3 多维数组的运算 142
6.3.4 字符串数组 144
6.4 应用程序举例 145
习题六 150
第七章 指针 152
7.1 指针的概念 152
7.1.1 变量的地址和指针变量 152
7.1.2 指针说明和指针对象的引用 153
7.2 指针参数 155
7.3 数组的指针表示 157
7.2.1 一维数组的指针表示 157
7.3.2 数组作函数参数时的指针表示 159
7.3.3 字符数组的指针表示 161
7.3.4 多维数组的指针表示与指向数组的指针 164
7.4.1 指针数组的概念 170
7.4 指针数组 170
7.4.2 指针变量的指针 174
7.4.3 main函数的参数 176
7.5 函数的指针 177
7.6 指针函数 182
7.7 指针运算小结 184
7.8 复杂的说明 187
习题七 189
8.1 结构的说明和引用 191
第八章 结构与联合 191
8.2 结构的指针 194
8.3 结构和函数 196
8.4 结构数组 199
8.5 结构和指针的应用 205
8.5.1 链表 205
8.5.2 二叉树 214
8.6 字段结构 222
8.8 用typedef定义类型名 226
8.7 联合 227
习题八 229
第九章 输入输出与低层接口 232
9.1 流式文件输入输出 232
9.1.1 文件的打开与关闭 232
9.1.2 文件的读、写 234
9.1.3 文件的随机存取 240
9.1.4 其它有关函数 242
9.2 输入输出的低层接口 243
9.2.2 文件的读、写 245
9.2.1 文件的创建、打开、关闭和删除 245
9.2.3 文件的随机存取 246
9.3 输入输出库函数实现实例 247
习题九 250
附录A ASCII字符集 252
附录B C语言语法 252
附录C 常用标准库函数 258
主要参考文献 261