第1章 C语言的基本概念 1
1.1 C语言的简介与特点 1
1.2 C语言的程序构成及其特点 1
1.2.1 构成C语言的基本字符和标识符 1
1.2.2 通过实例介绍C语言程序的结构特点 3
1.3 如何对C语言程序进行编译和执行 5
1.4 习题 6
第2章 C语言编程中的基本概念及基本运算 7
2.1 C语言的数据类型 7
2.1.1 常量 8
2.1.2 变量的定义与初始化 11
2.2 数据类型转换 12
2.2.1 隐式类型转换 12
2.2.2 显式类型转换 13
2.3 运算符和表达式 14
2.3.1 算术运算符及算术表达式 14
2.3.2 赋值运算符和赋值表达式 16
2.3.3 关系运算符和关系表达式 19
2.3.4 逻辑运算符和逻辑表达式 19
2.3.5 三项条件运算符 20
2.3.6 位运算符 21
2.3.7 其他运算符 23
2.4 基本输入/输出函数 24
2.4.1 字符输入/输出函数 24
2.4.2 字符串输入/输出函数 25
2.4.3 格式化输入/输出函数 27
2.5 习题 32
第3章 控制结构及其应用 34
3.1 结构化程序设计的算法类型及其特征 34
3.2 结构化程序设计的结构及其应用 35
3.2.1 顺序结构及其应用 35
3.2.2 分支结构及其应用 38
3.2.3 循环结构程序设计 48
3.2.4 三种循环的比较 52
3.3 break和continue语句的应用 53
3.4 goto语句 54
3.5 结构化程序设计综合举例 55
3.6 习题 58
第4章 数组及其应用 62
4.1 一维数组 62
4.1.1 一维数组的定义 62
4.1.3 一维数组的引用 63
4.1.2 一维数组的初始化 63
4.1.4 一维数组的应用举例 64
4.2 多维数组 66
4.2.1 多维数组的定义 66
4.2.2 多维数组的初始化 67
4.2.3 多维数组的引用 68
4.2.4 多维数组应用举例 69
4.3 字符型数组及其应用 71
4.3.1 字符型数组的概念 71
4.3.2 字符型数组的初始化 71
4.3.3 字符型数组的输入/输出 72
4.3.4 字符数组的应用举例 73
4.4 习题 76
第5章 指针及其应用 78
5.1 指针的基本概念及定义方式 78
5.1.1 指针的概念及其定义 78
5.1.2 指针的初始化 79
5.2 指针的运算 80
5.2.1 指针运算符 80
5.2.2 指针的赋值运算 81
5.2.3 指针的算术运算 81
5.2.4 指针的关系运算 83
5.3 指针与数组 84
5.4 指向字符的指针 86
5.5 指针数组 88
5.5.1 指针数组的概念 88
5.5.2 指针数组的应用 89
5.6 多级指针 92
5.6.1 多级指针的概念及其定义 92
5.6.2 多级指针应用举例 94
5.7 习题 94
6.1.1 函数的定义 97
第6章 函数及其应用 97
6.1 函数的定义及其引用 97
6.1.2 函数的引用 98
6.2 变量的存储类型及作用域 101
6.2.1 auto(自动)型变量 102
6.2.2 extem(外部)型变量 102
6.2.3 register(寄存器)型变量 105
6.2.4 static(静态)型变量 106
6.3 函数间的通信方式 109
6.3.1 传值方式 109
6.3.2 地址复制方式 111
6.3.3 利用参数返回结果 112
6.3.4 利用函数返回值传递数据 114
6.3.5 利用全局变量传递数据 115
6.4 数组在函数中的应用 116
6.5 字符在函数中的应用 119
6.6 返回指针值的函数 120
6.6.1 返回指针值的函数的定义和引用 121
6.6.2 返回指针值的函数的应用举例 121
6.7.1 函数指针的概念 123
6.7 指向函数的指针 123
6.7.2 函数指针的应用 124
6.8 递归函数及其应用 127
6.8.1 递归函数的概念 127
6.8.2 递归程序设计 129
6.9 带行参的main函数 130
6.10 习题 132
第7章 结构体、联合体和枚举 135
7.1 结构体的说明及结构体变量的定义 135
7.1.1 结构体的说明 135
7.1.2 结构体变量的定义 136
7.2 结构体变量的初始化及结构体成员的引用 138
7.2.1 结构体变量的初始化 138
7.2.2 结构体成员的引用 138
7.3 结构体数组 140
7.3.1 结构体数组的定义及初始化 140
7.3.2 结构体数组的应用举例 140
7.4 指向结构体的指针 143
7.4.1 结构体指针及其定义 143
7.4.2 通过指针引用结构体成员 143
7.4.3 结构体指针的应用举例 145
7.5 结构体在函数间的传递 147
7.5.1 结构体变量的传递 148
7.5.2 结构体数组在函数间的传递 150
7.6 指向结构体型数据的指针及其应用 152
7.6.1 结构体指针型函数 152
7.6.2 结构体型函数 154
7.7 结构体嵌套 155
7.7.1 什么是结构体嵌套 155
7.7.2 嵌套结构体类型变量的引用 156
7.7.3 结构体嵌套应用举例 157
7.8.1 联合体的说明及联合体变量的定义 159
7.8 联合体 159
7.8.2 使用联合体变量应注意的问题 162
7.9 枚举类型 164
7.9.1 什么是枚举类型 164
7.9.2 枚举类型的说明 164
7.9.3 枚举型变量的定义 165
7.9.4 如何正确使用枚举型变量 165
7.10 自定义类型 168
7.10.1 自定义类型(typedef)的含义及表示形式 168
7.10.2 自定义类型的优点 169
7.11 位字段结构体 170
7.11.1 位操作方式 170
7.11.2 位字段结构体方式 171
7.11.3 位字段结构体的应用 174
7.12 动态存储分配及其应用 175
7.12.1 动态存储分配 175
7.12.2 动态数据结构及链表 180
7.13 习题 184
8.1.1 C语言的文件概念 187
8.1.2 指向文件的指针 187
8.1 文件概述 187
第8章 文件及其应用 187
8.1.3 文件的处理过程 188
8.2 文件的打开和关闭操作 189
8.2.1 文件的打开操作 189
8.2.2 关闭文件的操作 190
8.2.3 文件的其他读写操作 191
8.2.4 文件状态检查函数 203
8.2.5 文件定位函数 205
8.3 习题 208
9.1 文件包含的操作 210
第9章 C语言的预编译程序 210
9.2 宏定义及其应用 211
9.2.1 符号常量的定义 211
9.2.2 带参数的宏定义 214
9.3 条件编译 217
9.4 预定义的宏名和其他预编译语句 218
9.4.1 预定义的宏名 218
9.4.2 #line 219
9.5 习题 219
附录 221
附录A C语言的标准库函数 221
附录B Turbo C 3.0++的上机过程 226