第1章C语言概述 1
1.1程序设计与程序设计语言 1
1.1.1计算机与程序设计 1
1.1.2程序设计语言的发展 1
1.1.3程序设计方法 3
1.2 C语言的产生与发展 4
1.3 C语言的特点 4
1.4 C语言程序简介 5
1.5 C语言的运行环境 9
1.5.1 C语言程序的执行步骤 9
1.5.2 C语言程序的集成开发环境 10
习题1 14
第2章C语言程序设计基础 15
2.1算法与程序设计步骤 15
2.1.1算法及其表示 15
2.1.2程序设计步骤 18
2.2数据类型 19
2.3常量和变量 20
2.3.1常量 21
2.3.2变量 23
2.4函数 24
2.5运算符和表达式 25
2.6算术运算符与算术表达式 26
2.7赋值运算符与赋值表达式 28
2.8逗号运算符与逗号表达式 29
2.9数值型数据间的混合运算 30
习题2 31
第3章 顺序程序设计 35
3.1 C语言语句概述 35
3.1.1 C语言语句的基本概念 35
3.1.2 C语言语句的分类 36
3.2赋值语句 38
3.3数据的输入与输出 39
3.3.1输入、输出基本概念 40
3.3.2数据的输出函数 41
3.3.3数据的输入函数 48
3.4顺序程序设计 54
习题3 56
第4章 选择程序设计 60
4.1关系运算符和关系表达式 60
4.1.1关系运算符 60
4.1.2关系表达式 62
4.2逻辑运算符和逻辑表达式 62
4.2.1逻辑运算符 62
4.2.2逻辑表达式 63
4.3 if语句 64
4.3.1 if语句的基本形式 64
4.3.2 if语句的嵌套 70
4.4条件运算符和条件运算表达式 72
4.5 switch语句 73
4.6选择程序设计 75
习题4 79
第5章 循环程序设计 82
5.1概述 82
5.2 while语句和do-while语句 84
5.2.1用法 84
5.2.2执行过程 84
5.2.3循环的嵌套 86
5.2.4应用举例 88
5.3 for语句 91
5.3.1用法 91
5.3.2执行过程 92
5.3.3循环的嵌套 93
5.3.4 for语句的变化形式 94
5.4循环的控制 96
5.4.1复杂的循环控制条件 96
5.4.2 break语句和continue语句 98
5.4.3 goto语句 101
5.5应用举例 102
5.6程序调试 105
5.6.1程序调试的一般策略 105
5.6.2程序的跟踪与调试 107
习题5 111
第6章 数组 114
6.1数组的概念 114
6.1.1为什么要使用数组 114
6.1.2什么是数组 116
6.2一维数组 116
6.2.1一维数组的定义和引用 117
6.2.2一维数组的应用 122
6.3多维数组 125
6.3.1多维数组的定义 125
6.3.2多维数组的初始化 126
6.3.3多维数组的应用 128
6.4应用举例 131
习题6 137
第7章 指针 141
7.1指针的概念 141
7.2变量与指针 142
7.2.1指针变量的定义 142
7.2.2指针变量的值 143
7.2.3应用举例 146
7.3一维数组与指针 147
7.3.1一维数组的地址 147
7.3.2指向数组元素的指针 147
7.3.3内存的动态分配 149
7.3.4应用举例 151
7.4二维数组与指针 152
7.4.1二维数组的元素的地址 152
7.4.2指向数组的指针 153
7.4.3指向指针的指针 154
7.4.4指针数组 155
7.5指针的应用 155
习题7 158
第8章 字符串 162
8.1字符串的概念 162
8.1.1字符与字符串 162
8.1.2字符串的存储方法 162
8.2字符数组与指针 163
8.2.1字符数组 163
8.2.2字符串的输入和输出 164
8.2.3字符指针 167
8.2.4字符串数组 169
8.2.5字符指针的数组 170
8.3字符串处理函数 171
8.3.1复制与连接 171
8.3.2比较大小 174
8.3.3变换 176
8.3.4其他函数 177
8.4字符与字符串的应用 178
习题8 183
第9章 函数 187
9.1概述 187
9.2函数的定义 188
9.2.1函数的命名 189
9.2.2函数的执行 189
9.2.3函数的参数 190
9.2.4函数的返回值 193
9.3函数原型 193
9.3.1自定义函数的原型 193
9.3.2库函数的原型 194
9.4基于函数的结构化设计 195
9.4.1自顶向下逐步求精方法 195
9.4.2程序模块化 196
9.5函数的递归调用 200
9.6变量的作用域 204
9.7变量的存储类型 207
9.7.1 auto变量 207
9.7.2 extern变量 208
9.7.3 static变量 208
9.7.4 register变量 210
习题9 210
第10章 自定义数据类型 212
10.1概述 212
10.2结构体 212
10.2.1结构体的定义与应用 213
10.2.2结构体数组与指针 215
10.2.3结构体的嵌套与指针成员 217
10.2.4链表 220
10.3共用体 223
10.4用typedef定义数据类型 224
10.5枚举类型 226
10.5.1枚举类型的定义 226
10.5.2枚举类型变量的使用 227
习题10 228
第11章 预处理命令与程序组织 230
11.1概述 230
11.2 #define定义宏 231
11.3预定义宏 233
11.4 #include包含 234
11.5条件编译 235
11.6程序组织 236
11.6.1头文件 236
11.6.2程序组织与条件编译 237
习题11 238
第12章 文件操作 240
12.1概述 240
12.2文件句柄与文件打开和关闭 240
12.3文本文件的操作 242
12.4二进制文件的操作 246
12.5标准文件 247
12.6其他文件操作函数 249
习题12 251
第13章 位操作 252
13.1概述 252
13.2位运算符和位运算 252
13.2.1移位运算 252
13.2.2其他位运算 254
13.3位段 257
习题13 260
附录A 常用字符的ASCII编码 261
附录B 计算机中数的表示 262
附录C C语言的运算符 265
参考文献 267