第1章 C语言概述 1
1.1 C语言简介 1
1.2 C程序的设计过程 2
1.2.1 程序设计 2
1.2.2 程序编写 2
1.2.3 上机实现 3
1.3 简单C程序介绍 4
1.4 C程序的上机步骤 7
1.4.1 在Turbo C环境下建立和运行C程序步骤 8
1.4.2 在Visual C++环境下建立和运行C程序的步骤 11
习题1 16
第2章 算法 17
2.1 算法的概念 17
2.2 计算机算法的表示方法 19
2.2.1 自然语言表示算法 19
2.2.2 传统流程图表示算法 21
2.2.3 用N-S结构化框图表示算法 22
2.3 算法的特点及算法设计的要求 25
2.4 计算机程序设计的基本方法 26
习题2 28
第3章 基本数据类型及数据的输入输出 29
3.1 C语言的基本数据类型简介 29
3.2 标识符、常量和变量 30
3.2.1 标识符 30
3.2.2 常量 31
3.2.3 变量 33
3.3 基本数据类型 33
3.3.1 整型 33
3.3.2 实型 35
3.3.3 字符型 37
3.4 数据的输入与输出 38
3.4.1 字符输出函数 39
3.4.2 字符输入函数 40
3.4.3 格式输出函数 42
3.4.4 格式输入函数 47
习题3 51
第4章 运算符与表达式 54
4.1 C的运算符与表达式 54
4.1.1 运算符 54
4.1.2 表达式 54
4.2 算术运算符与算术表达式 55
4.3 强制类型转换运算符 55
4.4 增量运算符与增量表达式 56
4.5 赋值运算符与赋值表达式 58
4.6 逗号运算符与逗号表达式 61
4.7 关系运算符与关系表达式 62
4.8 逻辑运算符与逻辑表达式 63
4.9 条件运算符与条件表达式 65
4.10 位运算符和位运算 66
4.11 其他运算符 68
习题4 69
第5章 C语句及其程序设计 72
5.1 C语句概述 72
5.2 顺序结构程序设计 74
5.3 选择结构程序设计 75
5.3.1 if语句及程序设计 76
5.3.2 条件运算符及程序设计 86
5.3.3 switch语句及程序设计 87
5.3.4 选择结构程序设计综合举例 91
5.4 循环结构程序设计 97
5.4.1 while语句及程序设计 97
5.4.2 do…while语句及程序设计 99
5.4.3 for语句及程序设计 100
5.4.4 循环的嵌套 104
5.4.5 转移控制语句的应用 107
5.4.6 循环结构程序设计综合举例 109
习题5 114
第6章 数组 119
6.1 一维数组 119
6.1.1 一维数组的定义 119
6.1.2 一维数组元素的引用 121
6.1.3 一维数组的初始化 121
6.1.4 一维数组编程举例 122
6.2 二维数组 135
6.2.1 二维数组的定义 135
6.2.2 二维数组的引用 136
6.2.3 二维数组的初始化 136
6.2.4 二维数组编程举例 137
6.3 字符数组 142
6.3.1 字符数组的定义 142
6.3.2 字符数组的初始化 143
6.3.3 字符数组的引用 145
6.3.4 字符数组的输入输出 145
6.3.5 字符串处理函数 147
6.3.6 字符数组编程举例 151
习题6 157
第7章 函数 161
7.1 函数的概念 161
7.1.1 标准库函数 161
7.1.2 用户自定义函数 162
7.2 函数的定义 164
7.3 函数的调用 166
7.3.1 调用函数 166
7.3.2 声明函数 168
7.4 函数的参数传递 169
7.4.1 传值方式 170
7.4.2 传地址方式 171
7.5 函数的嵌套调用与递归调用 174
7.5.1 函数的嵌套调用 174
7.5.2 函数的递归调用 176
7.6 变量的作用域 180
7.6.1 局部变量 180
7.6.2 全局变量 180
7.7 变量的存储属性 183
7.7.1 变量的存储类型 183
7.7.2 动态变量 184
7.7.3 局部静态变量 184
7.7.4 外部变量 186
7.7.5 静态外部变量 187
7.8 函数应用程序设计综合举例 187
习题7 192
第8章 编译预处理命令 197
8.1 宏定义 197
8.1.1 不带参数的宏定义 197
8.1.2 带参数的宏定义 200
8.1.3 宏与函数的区别 203
8.1.4 宏定义的解除 204
8.2 文件包含 205
8.3 条件编译 207
习题8 210
第9章 指针 214
9.1 指针与指针变量 214
9.1.1 指针的概念 214
9.1.2 指针变量的定义 215
9.1.3 指针变量的两种运算符 216
9.1.4 指针变量的初始化 217
9.1.5 引用指针变量 218
9.2 指针与函数 219
9.2.1 指针作函数的参数 219
9.2.2 函数返回指针 221
9.2.3 指向函数的指针 222
9.3 指针与数组 223
9.3.1 通过指针引用一维数组元素 223
9.3.2 指针基本运算 227
9.3.3 通过指针引用二维数组元素 229
9.4 字符串与指针 232
9.4.1 字符数组与字符指针 232
9.4.2 常见的字符串操作 233
9.5 指针数组、数组指针及应用 237
9.5.1 指针数组与数组指针 237
9.5.2 main函数的参数 241
9.6 指向指针的指针 242
习题9 248
第10章 结构体类型与链表操作 251
10.1 结构体的概念和定义 251
10.2 结构体变量的定义和初始化 254
10.2.1 结构体变量的定义 254
10.2.2 结构体变量的初始化 255
10.3 结构体变量的引用 256
10.4 结构体数组 257
10.4.1 结构体数组的定义 257
10.4.2 结构体数组的初始化 258
10.4.3 结构体数组的应用 259
10.5 结构体指针 262
10.5.1 指向结构体变量的指针 262
10.5.2 指向结构体数组的指针 263
10.5.3 结构体变量和结构体指针作函数参数 265
10.6 链表的操作 267
10.6.1 链表的概述 267
10.6.2 链表操作所需要的函数 268
10.6.3 链表的操作 269
习题10 278
第11章 共用体与枚举类型 281
11.1 共用体 281
11.1.1 共用体的概念及定义 281
11.1.2 共用体变量的引用 282
11.1.3 共用体类型编程举例 285
11.2 枚举类型 287
11.2.1 枚举类型的概念及其变量的定义 287
11.2.2 枚举类型数据的使用 287
11.3 用typedef定义类型 290
11.3.1 用typedef定义类型 290
11.3.2 有关typedef的使用 292
习题11 293
第12章 文件 295
12.1 文件的概念 295
12.1.1 什么是文件 295
12.1.2 C文件的分类 295
12.1.3 文件的使用 297
12.2 文件的处理 297
12.2.1 文件类型的定义 297
12.2.2 打开文件 298
12.2.3 关闭文件 299
12.3 文件的读写 300
12.3.1 fputc函数和fgetc函数 300
12.3.2 fgets函数和fputs函数 303
12.3.3 fprinf函数和fscanf函数 305
12.3.4 fread()函数和fwrite()函数 308
12.4 文件的定位操作 310
12.4.1 fseek()函数 310
12.4.2 rewind()函数 311
12.4.3 ftell()函数 312
12.5 文件操作的状态和出错检测 313
12.5.1 feof()函数 313
12.5.2 ferror()函数 313
12.5.3 clearerr()函数 314
习题12 314
附录A C语言中的关键字 316
附录B C语言的运算符及其优先级和结合性 317
附录C 常用字符与ASCII代码对照表 319
附录D C库函数 321
参考文献 327