第1章 C语言程序设计概述 1
1.1 C语言的形成与发展 1
1.2 程序的基本概念 2
1.2.1 数据结构 2
1.2.2 算法 3
1.2.3 C程序的基本成分 3
1.2.4 程序设计的基本步骤 4
1.3 运行一个C程序 4
1.3.1 一个C程序 4
1.3.2 编辑C程序 5
1.3.3 运行C程序 6
本章小结 7
习题 7
第2章 基本数据类型与表达式 8
2.1 基本数据类型 8
2.1.1 数据类型 8
2.1.2 整型数据 8
2.1.2.1 整型数据 8
2.1.2.2 整型常量 9
2.1.2.3 整型变量 9
2.1.2.4 整型常量的类型与取值范围 10
2.1.3 实型数据 11
2.1.3.1 实型数据 11
2.1.3.2 实型常量 12
2.1.3.3 实型变量 12
2.1.4 字符型数据 13
2.1.4.1 字符常量 13
2.1.4.2 字符变量 13
2.1.4.3 字符串常量 14
2.2 运算符及其表达式 14
2.2.1 算术运算符及其表达式 15
2.2.1.1 算术运算符 15
2.2.1.2 算术表达式 15
2.2.2 赋值运算符及其表达式 17
2.2.2.1 赋值运算符 17
2.2.2.2 赋值表达式 17
2.2.3 关系运算符及其表达式 19
2.2.3.1 关系运算符 19
2.2.3.2 关系表达式 19
2.2.4 逻辑运算符及其表达式 20
2.2.4.1 逻辑运算符 20
2.2.4.2 逻辑表达式 20
2.2.5 条件运算符及其表达式 21
2.2.6 逗号运算符及其表达式 22
2.2.6.1 逗号运算符 22
2.2.6.2 逗号表达式 22
2.2.7 按位运算符及其表达式 22
2.2.7.1 按位运算符 22
2.2.7.2 按位运算表达式 23
2.2.8 一些常用的计算函数 24
本章小结 27
习题 27
第3章 程序执行流程 29
3.1 顺序执行流程 29
3.2 选择执行流程 29
3.2.1 if语句 29
3.2.2 switch语句 31
3.3 循环执行流程 33
3.3.1 while语句 33
3.3.2 do-while语句 34
3.3.3 for语句 34
3.4 跳转执行流程 37
3.4.1 break语句 37
3.4.2 continue语句 37
3.4.3 goto语句和加标号的语句 38
本章小结 38
习题 38
第4章 数据类型的扩展 40
4.1 枚举类型 40
4.2 数组 43
4.2.1 一维数组 43
4.2.2 多维数组 44
4.2.3 字符数组与字符串 45
4.3 结构 49
4.3.1 结构与结构变量 49
4.3.2 结构数组 52
4.4 指针 53
4.4.1 指针变量 54
4.4.2 指针与结构 57
4.4.3 指针数组和指向指针的指针 59
4.5 联合 62
4.6 结构的位成员 63
4.7 不完全类型 64
4.8 类型说明符的别名 65
本章小结 66
习题 67
第5章 函数 68
5.1 系统函数与自定义函数 68
5.1.1 系统函数 68
5.1.1.1 系统函数小结 68
5.1.1.2 printf函数 70
5.1.1.3 scanf函数 73
5.1.2 函数的定义与调用 75
5.1.2.1 变量声明小结 75
5.1.2.2 函数的定义与调用 78
5.1.3 指向函数的指针 82
5.2 函数的参数与数据类型 84
5.2.1 函数调用与函数参数 84
5.2.2 基本数据类型数据作为函数参数 85
5.2.3 数组数据作为函数参数 86
5.2.4 结构或联合数据作为函数参数 90
5.2.5 指针类型数据作为函数参数 92
5.3 存储类说明符 94
5.3.1 源文件和源程序 94
5.3.2 标识符的存在期和可见性 96
5.3.3 存储类说明符 98
5.3.3.1 用于外部级变量声明的存储类说明符 99
5.3.3.2 用于内部级变量声明的存储类说明符 101
5.3.3.3 在函数声明中使用存储类说明符 102
5.3.4 命名空间 102
5.4 类型限定符 103
5.5 函数的递归调用 104
5.6 预处理程序和预处理命令 108
5.6.1 宏定义的使用 109
5.6.2 文件包含命令 111
5.6.3 条件编译命令 112
5.7 一些与字符串有关的常用系统函数 116
本章小结 122
习题 122
第6章 文件操作函数 124
6.1 文件读写实例 125
6.1.1 文件的建立 125
6.1.2 文件的读写 130
6.2 常用的文件操作函数 136
本章小结 139
习题 139
第7章 C语言程序设计应用实例——袖珍电子词典上的名片程序 140
7.1 程序总体结构 140
7.2 权限验证和主菜单模块 141
7.3 录入名片模块 142
7.4 查找名片模块 143
7.5 程序清单及注释 144
本章小结 149
习题 149
第8章 数据的排序与查找 150
8.1 排序 150
8.1.1 算法好坏的评价方法 150
8.1.2 排序的概念 151
8.1.3 冒泡排序 152
8.1.4 其他排序方法 157
8.1.4.1 直接插入排序 157
8.1.4.2 选择排序 159
8.1.4.3 快速排序 160
8.1.4.4 二路归并排序 162
8.2 查找 166
本章小结 169
习题 170
附录A 模拟试卷及相关答案 171
全国计算机等级考试二级C语言程序设计笔试模拟试卷(一) 171
全国计算机等级考试二级C语言程序设计笔试模拟试卷(二) 181
全国计算机等级考试二级C语言程序设计笔试模拟试卷(三) 191
部分习题及模拟题参考答案 201
第2章习题参考答案 201
第3章习题参考答案 201
第4章习题参考答案 205
第5章习题参考答案 209
第6章习题参考答案 211
第8章习题参考答案 212
全国计算机等级考试二级C语言程序设计笔试模拟试卷(一)参考答案 217
全国计算机等级考试二级C语言程序设计笔试模拟试卷(二)参考答案 217
全国计算机等级考试二级C语言程序设计笔试模拟试卷(三)参考答案 218
附录B 相关知识 219
运算符的优先级和结合性 219
ASCII字符编码表 221
C语言语法概要 222
参考文献 226