第1章 C语言程序设计基础 1
1.1 计算机的工作原理简介 2
1.2 C语言的发展历史及其基本特性 3
1.3 C程序的基本结构 4
1.4 编制C语言程序的基本步骤 8
1.5 计算机内部数值的表示及运算 9
1.5.1 二进制、八进制和十六进制的概念 9
1.5.2 二进制数的算术运算 10
1.5.3 二进制、八进制、十六进制和十进制数之间的转换 11
1.5.5 计算机中的数据单位 13
1.5.4 二进制数的位运算 13
练习 14
1.6 实验指导 15
1.6.1 BorlandC++3.1的安装 15
1.6.2 BorlandC++3.1编辑器的使用 17
1.7 练习答案 22
第2章 基本数据类型、运算符和表达式 23
2.1 C语言的基本数据类型 25
2.1.1 常量与变量 25
2.1.2 整型数据 25
2.1.3 实型数据 30
2.1.4 字符型数据和字符串常量 32
2.1.5 数据的简单输出 34
练习2-1 36
2.2 C语言的运算符和表达式 39
2.2.1 赋值运算符和赋值表达式 40
2.2.2 强制类型转换符 40
2.2.3 算术运算符、算术表达式 42
2.2.4 自增自减运算符和负号运算符 44
2.2.5 算术运算中的数据类型转换规则 45
2.2.6 位运算符、位运算表达式 46
2.2.7 逗号运算符和逗号表达式 47
2.3 运算符的优先级和结合性 48
2.2.8 sizeof运算符和复合赋值运算符 48
2.4 小结及常见错误列举 49
练习2-2 53
2.5 实验指导 58
2.5.1 完整的编程操作 58
2.5.2 修改错误程序 59
2.6 练习答案 61
第3章 基本输入输出和顺序程序设计 63
3.1 C程序中的数据输出 64
3.1.1 整数的输出 65
3.1.2 实数的输出 68
3.1.3 字符和字符串的输出 69
3.1.4 格式化输出小结 71
3.1.5 屏幕定位及彩色输出 72
练习3-1 78
3.2 C程序中的数据输入 82
3.2.1 数据的格式化输入 82
3.2.2 字符数据的非格式化输入 86
3.3 顺序程序设计举例 89
3.4 小结及常见错误列举 92
练习3-2 94
3.5.1 学会调试程序 96
3.5 实验指导 96
3.5.2 程序改错 99
3.5.3 编程实验 99
3.6 练习答案 100
第4章 程序控制 103
4.1 三种程序控制结构 104
4.2 C语句小结 106
4.3 关系运算符、逻辑运算符和条件运算符 108
4.3.1 关系运算符和关系表达式 108
4.3.2 逻辑运算符和逻辑表达式 109
4.3.3 条件运算符和条件表达式 110
练习4-1 111
4.4 选择结构的程序设计 116
4.4.1 if语句 116
4.4.2 switch语句 122
练习4-2 127
4.5 循环结构的程序设计 133
4.5.1 while语句 133
4.5.2 do-while语句 138
4.5.3 for语句 139
练习4-3 141
4.6 混合控制结构的程序设计 146
4.7 小结及常见错误列举 152
练习4-4 157
4.8 实验指导 159
4.8.1 修改程序 159
4.8.2 编写程序 161
4.9 练习答案 165
第5章 数组 171
5.1 一维数组的定义与引用 172
练习5-1 179
5.2 二维数组的定义与引用 183
练习5-2 187
5.3.1 字符串的本质 191
5.3 字符串与数组 191
5.3.2 字符及字符串操作 192
5.3.3 字符串数组 197
练习5-3 200
5.4 小结及常见错误列举 204
练习5-4 208
5.5 实验指导 210
5.5.1 修改程序 210
5.5.2 新编程序 211
5.6 练习答案 218
第6章 函数 225
6.1.1 不带参数没有返回值的函数 226
6.1 函数的定义和调用 226
6.1.2 不带参数有返回值的函数 228
6.1.3 带参数没有返回值的函数 230
6.1.4 带参数有返回值的函数 232
练习6-1 234
6.2 变量的作用域和存储类别 240
6.3 函数的嵌套调用和递归调用 248
6.4 函数的作用域 252
练习6-2 253
6.5 利用工程管理多个源程序文件 256
6.6 小结及常见错误列举 259
6.7 实验指导 264
6.7.1 图形输出 264
6.7.2 编制程序 267
6.8 练习答案 271
第7章 指针 281
7.1 指针变量的定义与引用 282
7.2 指针的运算 285
练习7-1 286
7.3 指针与数组 287
7.4 指针与字符串 292
7.5 指针与内存的动态分配 297
练习7-2 302
7.6 指针与数组作为函数的参数 307
7.7 带参数的main函数 313
7.8 指针作为函数的返回值 315
7.9 函数指针的定义与引用 316
练习7-3 319
7.10 小结及常见错误列举 325
7.11 实验指导 329
7.12 练习答案 332
第8章 预处理命令 341
8.2.1 不带参数的宏定义 342
8.1 预处理命令简介 342
8.2 宏定义 342
8.2.2 带参数的宏定义 344
8.3 文件包含 346
8.4 条件编译 347
练习 350
8.5 练习答案 352
第9章 复杂数据类型 353
9.1 复杂数据类型概述 354
9.2 结构体 354
9.2.1 结构体类型的定义 354
9.2.2 结构体变量的定义和引用 355
9.2.3 简化结构体类型名 359
9.2.4 结构体数组 360
练习9-1 362
9.3 线性链表 368
9.4 共用体 372
9.4.1 共用体类型的定义 372
9.4.2 共用体变量的定义和引用 373
9.5 位域 375
9.6 枚举类型变量的定义和引用 378
9.7 复杂数据类型作为函数参数和返回值 378
练习9-2 381
9.8 小结及常见错误列举 383
9.9 实验指导 386
9.10 练习答案 388
第10章 文件操作 399
10.1 文件操作概述 400
10.2 文件指针 400
10.3 文件的打开、读写和关闭 401
10.3.1 文件的打开与关闭 401
10.3.2 文件的读写 402
10.4 文件的定位读写 410
10.5 小结及常见错误列举 412
练习 413
10.6 实验指导 417
10.7 练习答案 417
附录一 常见问题解答 419
附录二 常见库函数(按函数名排序) 423
附录三 常见库函数(按函数类别排序) 429
附录四 C语言中常用的专业术语对译 435
附录五 C语言中的关键字(保留字) 441
附录六 运算符和结合性 443
附录七 ASCII码表 445