第1章 引言 1
1.1 计算机程序 1
1.2 计算机语言 1
1.2.1 机器语言 1
1.2.2 中级语言 2
1.2.3 高级语言 2
1.3 C语言的发展及其特点 2
1.3.1 C语言的发展 2
1.3.2 C语言的特点 3
1.4 最简单的C语言程序 4
1.4.1 最简单的C语言程序举例 4
1.4.2 C语言程序的结构 5
1.5 C语言程序运行的步骤与方法 5
1.6 本章小结 6
习题一 7
第2章 算法 8
2.1 算法概述 8
2.2 简单算法举例 9
2.3 算法的特性 10
2.4 算法描述方法 10
2.4.1 用自然语言描述算法 11
2.4.2 用流程图描述算法 11
2.4.3 3种基本结构和改进的流程图 13
2.4.4 用计算机语言描述算法 16
2.4.5 用伪代码描述算法 17
2.5 本章小结 18
习题二 18
第3章 数据及顺序程序设计 19
3.1 数据的表现形式及其运算 19
3.1.1 常量与变量 19
3.1.2 数据类型 21
3.1.3 整型数据 22
3.1.4 实型数据 25
3.1.5 字符型数据 27
3.1.6 变量的赋值 30
3.1.7 算术运算符与算术表达式 31
3.1.8 逗号运算符和逗号表达式 34
3.1.9 不同类型数据之间的转换 35
3.2 C语句 36
3.2.1 C语句概述 36
3.2.2 最基本的语句——赋值语句 37
3.3 数据的输入输出 40
3.3.1 输入输出概念 40
3.3.2 用printf格式输出函数输出数据 40
3.3.3 用scanf格式输入函数输入数据 46
3.3.4 字符数据的输入输出 50
3.3.5 程序综合实例 51
3.4 本章小结 52
习题三 52
实验 顺序程序设计 54
第4章 选择结构程序设计 56
4.1 用if语句实现选择结构 56
4.1.1 if语句的一般形式 56
4.1.2 使用if语句实现选择结构 58
4.2 if语句中的表达式 61
4.2.1 关系表达式及关系运算符 61
4.2.2 逻辑表达式及逻辑运算符 61
4.2.3 表达式应用举例 61
4.3 条件运算符和条件表达式 62
4.4 选择结构的嵌套 64
4.5 用switch语句实现多分支选择结构 66
4.6 选择结构程序综合实例 69
4.7 本章小结 74
习题四 75
实验 选择结构程序设计 77
第5章 循环结构程序设计 80
5.1 用while语句实现循环 80
5.2 用do...while语句实现循环 82
5.3 用for语句实现循环 84
5.4 循环的嵌套 86
5.5 break语句和continue语句 88
5.6 循环程序综合实例 89
5.7 本章小结 104
习题五 105
实验 循环结构程序设计 110
第6章 数组 113
6.1 一维数组的定义和引用 113
6.1.1 一维数组的定义 113
6.1.2 一维数组元素的引用 114
6.1.3 一维数组的初始化 114
6.1.4 一维数组程序举例 115
6.2 二维数组的定义和引用 115
6.2.1 怎样定义二维数组 116
6.2.2 二维数组元素的引用 116
6.2.3 二维数组的初始化 116
6.2.4 二维数组应用举例 117
6.3 字符数组 118
6.3.1 定义字符数组 118
6.3.2 字符数组初始化 119
6.3.3 引用字符数组中的元素 119
6.3.4 字符串和字符串结束标志 120
6.3.5 字符数组的输入输出 120
6.3.6 字符串处理函数 121
6.4 本章小结 124
习题六 124
实验 数组 125
第7章 函数 127
7.1 函数的定义 127
7.1.1 引例 127
7.1.2 函数的分类 128
7.1.3 函数的定义 129
7.2 函数的调用 130
7.2.1 调用函数 130
7.2.2 函数调用时的数据传递 132
7.2.3 函数的声明 134
7.3 函数的嵌套和递归调用 135
7.3.1 函数的嵌套调用 135
7.3.2 函数的递归调用 136
7.4 数组作为函数参数 138
7.4.1 数组元素作函数实参 138
7.4.2 数组名作函数参数 139
7.5 变量的作用域和存储类型 142
7.5.1 变量的作用域 142
7.5.2 变量的存储类型 145
7.6 本章小结 147
习题七 147
实验 函数 148
第8章 指针 150
8.1 指针变量 150
8.1.1 指针的概念 150
8.1.2 指针变量的定义与引用 152
8.1.3 指针变量作为函数参数 154
8.2 通过指针引用数组 157
8.2.1 指向数组元素的指针 157
8.2.2 通过指针引用数组元素 158
8.2.3 用数组名作为函数参数 161
8.2.4 通过指针引用多维数组 167
8.3 通过指针引用字符串 173
8.4 指向函数的指针 176
8.4.1 函数指针 176
8.4.2 用函数指针变量调用函数 176
8.4.3 定义和使用指向函数的指针变量 177
8.5 本章小结 179
习题八 179
实验 指针 182
第9章 结构体与共用体 185
9.1 结构体类型引入 185
9.2 结构体类型与结构体变量 186
9.2.1 结构体类型的声明 186
9.2.2 结构类型变量的定义 187
9.2.3 结构体变量的初始化和引用 188
9.3 结构体数组 191
9.4 结构体指针 193
9.4.1 指向结构变量的指针 193
9.4.2 指向结构数组的指针 195
9.5 结构体与函数 197
9.6 动态数据结构——链表 198
9.6.1 链表的概念 200
9.6.2 链表的操作 201
9.7 共用体类型 209
9.7.1 共同体类型声明 209
9.7.2 引用共用体变量的方式 210
9.7.3 共用体类型数据的特点 210
9.8 枚举类型 213
9.8.1 枚举类型的定义和枚举变量的说明 213
9.8.2 枚举类型变量的赋值和使用 213
9.9 用typedef声明新类型名 215
9.10 本章小结 216
习题九 216
实验 结构体 219
第10章 文件 221
10.1 文件概述 221
10.1.1 文件的概念 221
10.1.2 文件的分类 221
10.1.3 文件访问 223
10.2 打开与关闭文件 223
10.2.1 打开数据文件 224
10.2.2 关闭数据文件 225
10.3 顺序读写数据文件 225
10.3.1 向文件读写字符 225
10.3.2 向文件读写字符串 227
10.3.3 格式化的方式读写文件 229
10.3.4 二进制的方式读写文件 230
10.4 随机读写数据文件 232
10.4.1 文件位置标记及其定位 232
10.4.2 随机读写函数 233
10.5 文件读写的出错检测 236
10.6 本章小结 237
习题十 237
实验 文件 239