第1章 C语言概述 1
1.1 C语言的诞生和发展 1
1.2 C语言的特点 2
1.3 C语言的数据类型 4
1.4 基本类型数据的机器码 8
1.4.1 机器码和编码方案 8
1.4.2 整型数据的机器码 9
1.4.3 字符型数据的机器码——ASCII码 14
1.4.4 实型数据的机器码 15
1.5 标识符、常量、变量和字符串常量 16
1.5.1 标识符 16
1.5.2 常量 17
1.5.3 变量、只读变量和可读写变量 19
1.5.4 字符串常量 25
1.6 地址、指针和动态内存分配 26
1.7 定义新类型名 30
1.8 预处理命令 33
1.8.1 宏定义命令 33
1.8.2 文件包含命令 34
1.8.3 条件编译命令 35
1.9 C语言的运算、表达式和语句 37
1.9.1 运算及其优先级和结合性 37
1.9.2 各类运算的功能 41
1.9.3 各基本类型数据间的混合运算 49
1.9.4 C语言的表达式 50
1.9.5 C语言的语句 51
1.10 C程序的结构与C函数 60
1.10.1 C程序的结构 60
1.10.2 C函数 60
1.10.3 值传递和地址传递 63
1.10.4 函数原型 64
1.10.5 主程序带形式参数 65
1.10.6 数组名和函数名做函数参数 66
1.11 C语言的常用库函数 67
1.11.1 格式输入函数和格式输出函数 67
1.11.2 字符函数 69
1.11.3 字符串处理函数 70
1.11.4 清屏函数clrscr()和光标函数gotoxy(x,y) 71
1.11.5 system(s)函数 71
1.11.6 数学函数 71
1.11.7 内存管理函数 73
1.11.8 内存比较与填充函数 74
1.11.9 随机函数 74
1.11.10 日期函数和时间函数 74
1.12 变量和函数的存储类别 75
1.12.1 变量的存储类别 75
1.12.2 函数的存储类别 79
1.13 多文件编译 80
1.13.1 用文件包含命令实现多文件编译 80
1.13.2 用工程实现多文件编译 81
1.14 C语言集成开发环境的使用 83
1.14.1 安装和配置C语言系统平台 84
1.14.2 C语言程序设计的方法和步骤 86
习题1 95
第2章 分支与循环 97
2.1 分支结构程序设计 97
2.1.1 条件运算和条件语句 97
2.1.2 if-else语句 98
2.1.3 switch语句 100
2.2 循环结构程序设计 103
2.2.1 while循环语句 103
2.2.2 do-while循环语句 106
2.2.3 for循环语句 108
2.2.4 循环语句综合编程 111
习题2 116
第3章 数组与结构体 118
3.1 数组 118
3.1.1 一维数组 119
3.1.2 杨辉三角形 123
3.1.3 二维数组 124
3.2 用一维数组处理矩阵 129
3.3 顺序表 132
3.3.1 顺序表的查找 132
3.3.2 顺序表的排序 134
3.3.3 顺序表的删除 136
3.3.4 顺序表的插入 138
3.4 结构体 140
3.4.1 结构体类型定义及变量声明 140
3.4.2 结构体数组 141
3.4.3 结构体指针 142
习题3 144
第4章 指针与链表 146
4.1 指针做函数参数 146
4.2 一维数组的指针 150
4.2.1 指针的算术运算 150
4.2.2 数组指针做函数参数 154
4.3 函数的指针 157
4.3.1 函数指针变量 158
4.3.2 函数指针做函数参数 160
4.3.3 函数指针数组 162
4.4 返回指针值的函数 164
4.5 指针数组 166
4.6 指向指针的指针——双指针 170
4.7 指针与多维数组 173
4.7.1 多维数组元素的指针 173
4.7.2 指向一维数组的指针变量 177
4.7.3 指向数组的指针做函数参数 178
4.8 链表 179
4.8.1 链表概述 179
4.8.2 链表的创建、输出和销毁 181
4.8.3 链表的查找 184
4.8.4 链表的插入 187
4.8.5 链表的删除 190
4.8.6 链表的排序 192
4.8.7 链表的综合应用 193
习题4 199
第5章 递归 202
5.1 子程序的直接递归 203
5.2 子程序的间接递归 214
5.3 主程序的递归 215
习题5 218
第6章 文件操作 220
6.1 文件的基本概念 220
6.2 文件操作常用函数 222
6.2.1 文件的打开与关闭 222
6.2.2 文件状态函数 223
6.2.3 文件定位函数 224
6.2.4 字符读写函数 224
6.2.5 字符串读写函数 225
6.2.6 整数读写函数 225
6.2.7 格式化读写函数 225
6.2.8 随机读写函数 225
6.3 文件操作举例 226
习题6 231
第7章 程序设计竞赛介绍 233
7.1 程序设计竞赛综述 233
7.2 程序设计竞赛中的编程技巧 237
7.2.1 基本输入输出格式 237
7.2.2 字符串输入 241
7.2.3 关于输出须要专门说明的几个问题 242
附录A 常用字符与ASCII代码对照表 244
附录B 习题参考答案 246
参考文献 286