目录 1
序 1
前言 1
第1章 C语言概论 1
本章学习目标 1
1.1 C语言概述 1
1.1.1 C语言的起源与发展 1
1.1.2 C语言的特点 2
1.2 C语言源程序的基本结构 2
1.2.1 相关知识 2
1.2.2 程序范例 2
1.2.3 知识归纳 4
1.2.4 实例验证 7
1.3.2 程序范例 8
1.3.1 相关知识 8
1.3 C语言程序的执行 8
1.3.3 知识归纳 10
1.3.4 实例验证 12
习题 12
第2章 数据类型、运算符及表达式 13
本章学习目标 13
2.1 数据及数据类型 13
2.1.1 数据类型 13
2.1.2 常量及变量 14
2.1.3 整型数据 17
2.1.4 实型数据 23
2.1.5 字符型数据 25
2.2 运算符及表达式 27
2.2.1 算术运算符及算术表达式 28
2.2.2 赋值运算符及赋值运算表达式 31
2.2.3 自增和自减运算及其表达式 35
2.2.4 关系运算和逻辑运算 36
2.2.5 位运算 39
2.2.6 其他运算符及其表达式 42
习题 43
第3章 最简单的C程序设计 46
本章学习目标 46
3.1 赋值语句 46
3.1.1 相关知识 46
3.1.2 程序范例 46
3.1.3 知识归纳 47
3.2 字符数据输入输出 47
3.2.1 相关知识 47
3.2.2 程序范例 48
3.2.4 实例验证 49
3.2.3 知识归纳 49
3.3 格式输出 50
3.3.1 相关知识 50
3.3.2 程序范例 51
3.3.3 知识归纳 52
3.3.4 实例验证 55
3.4 格式输入 55
3.4.1 相关知识 55
3.4.2 程序范例 55
3.4.3 知识归纳 56
3.4.4 实例验证 58
习题 59
4.1.2 程序范例 63
4.1 if语句和用if语句构成的选择结构 63
4.1.1 相关知识 63
本章学习目标 63
第4章 选择结构 63
4.1.3 知识归纳 65
4.1.4 实例验证 68
4.2 switch语句及用switch语句和break语句构成的选择结构 68
4.2.1 相关知识 68
4.2.2 程序范例 68
4.2.3 知识归纳 69
4.2.4 实例验证 70
习题 71
第5章 循环结构 75
本章学习目标 75
5.1 while语句和用while语句构成的循环结构 75
5.1.1 相关知识 75
5.1.2 程序范例 75
5.1.3 知识归纳 77
5.1.4 实例验证 78
5.2 do-while语句和用do-while语句构成的循环结构 78
5.2.1 相关知识 78
5.2.2 程序范例 79
5.2.3 知识归纳 79
5.2.4 实例验证 80
5.3 for语句和用for语句构成的循环结构 81
5.3.1 相关知识 81
5.3.2 程序范例 81
5.3.3 知识归纳 82
5.3.4 实例验证 83
5.4 循环结构的嵌套 84
5.4.1 相关知识 84
5.4.2 程序范例 84
5.4.4 实例验证 85
5.4.3 知识归纳 85
5.5 break和continue语句在循环体中的作用 86
5.5.1 相关知识 86
5.5.2 程序范例 86
5.5.3 知识归纳 87
5.5.4 实例验证 87
习题 88
第6章 数组 92
本章学习目标 92
6.1 一维数组 92
6.1.1 相关知识 92
6.1.2 程序范例 93
6.1.3 知识归纳 93
6.1.4 实例验证 96
6.2.1 相关知识 102
6.2 二维数组 102
6.2.2 程序范例 103
6.2.3 知识归纳 104
6.2.4 实例验证 105
6.3 字符数组与字符串 107
6.3.1 相关知识 107
6.3.2 程序范例 107
6.3.3 知识归纳 108
6.3.4 实例验证 111
6.4 多维数组 112
6.4.1 多维数组的定义 112
6.4.2 多维数组的引用 112
习题 113
7.1.2 程序范例 118
7.1.1 相关知识 118
7.1 函数的定义与函数说明 118
第7章 函数 118
本章学习目标 118
7.1.3 知识归纳 119
7.1.4 实例验证 121
7.2 函数的调用 122
7.2.1 相关知识 122
7.2.2 程序范例 122
7.2.3 知识归纳 123
7.2.4 实例验证 124
7.3 函数的嵌套调用与递归调用 124
7.3.1 相关知识 124
7.3.2 程序范例 124
7.3.3 知识归纳 126
7.3.4 实例验证 127
7.4.2 程序范例 128
7.4 数组作为函数参数 128
7.4.1 相关知识 128
7.4.3 知识归纳 129
7.4.4 实例验证 130
7.5 内部变量与外部变量 131
7.5.1 相关知识 131
7.5.2 程序范例 131
7.5.3 知识归纳 132
7.5.4 实例验证 132
7.6 变量的动态存储与静态存储 133
7.6.1 相关知识 133
7.6.2 程序范例 133
7.6.3 知识归纳 135
7.7.2 程序范例 137
7.7.1 相关知识 137
7.7 函数的定义与函数说明 137
7.6.4 存储类别小结 137
7.7.3 知识归纳 138
习题 139
第8章 编译预处理 144
本章学习目标 144
8.1 宏定义 144
8.1.1 相关知识 144
8.1.2 程序范例 144
8.1.3 知识归纳 144
8.1.4 实例验证 146
8.2 条件编译 146
8.2.1 相关知识 146
8.2.2 实例验证 147
8.2.3 知识归纳 147
习题 148
第9章 指针 152
本章学习目标 152
9.1 变量的指针和指向变量的指针变量 152
9.1.1 相关知识 152
9.1.2 程序范例 152
9.1.3 知识归纳 153
9.1.4 实例验证 154
9.2 指针的运算 155
9.2.1 指针的赋值运算 155
9.2.2 指针的算术运算 155
9.2.3 指针的关系运算 156
9.3 数组的指针和指向数组的指针变量 156
9.3.1 指向数组元素的指针变量的定义与赋值 156
9.4.1 相关知识 157
9.4 字符串的指针和指向字符串的指针变量 157
9.3.2 通过指针引用数组元素 157
9.4.2 程序范例 158
9.4.3 知识归纳 159
9.4.4 实例验证 161
9.5 函数的指针、指向函数的指针变量和指针数组 161
9.5.1 用函数指针变量调用函数 161
9.5.2 返回指针值的函数 162
9.5.3 指针数组的概念 162
习题 162
第10章 结构体、共用体及枚举类型 167
本章学习目标 167
10.1 结构体 167
10.1.1 相关知识 167
10.1.2 程序范例 167
10.1.3 知识归纳 168
10.1.4 实例验证 171
10.2 结构体型数组 172
10.2.1 相关知识 172
10.2.2 程序范例 172
10.2.3 知识归纳 173
10.3 结构体型指针 173
10.3.1 相关知识 173
10.3.2 程序范例 174
10.3.3 知识归纳 175
10.3.4 实例验证 176
10.4 单链表 177
10.4.1 相关知识 177
10.4.2 程序范例 177
10.4.3 知识归纳 178
10.4.4 实例验证 184
10.5.1 相关知识 185
10.5 共用体 185
10.5.2 程序范例 186
10.5.3 知识归纳 186
10.6 枚举类型 188
10.6.1 相关知识 188
10.6.2 知识归纳 188
10.6.3 实例验证 189
10.7 定义已有类型的别名 190
习题 190
11.1 概述 196
11.1.1 文件与文件名 196
11.1.2 文件分类 196
本章学习目标 196
第11章 文件 196
11.1.3 读文件与写文件 197
11.1.4 构成文件的基本单元与流式文件 197
11.1.5 文件类型FILE 197
11.1.6 ANSI C的缓冲文件系统 197
11.1.7 文件类型指针 197
11.2.1 文件的打开——fopen()函数 198
11.2 文件的打开与关闭 198
11.2.2 文件的关闭——fcolse()函数 200
11.3 文件的读写操作 200
11.3.1 相关知识 200
11.3.2 程序范例 200
11.3.3 知识归纳 204
习题 205
附录 209
参考文献 213