第 1 章 基础知识 1
1.1 简单C语言程序的构成和格式 1
1.1.1 第一个程序 1
1.1.2 注释语句 1
1.1.3 C语言程序的结构 2
1.1.4 C语言程序上机步骤 3
1.2 常量与变量 4
1.2.1 常量、变量的引入 4
1.2.2 常量 5
1.2.3 变量 5
1.2.4 变量的初始化 6
1.3 整数类型 6
1.3.1 整数常数与变量 6
1.3.2 整数的补码表示 6
1.3.3 各种整数类型 7
1.3.4 整数的输入输出 9
1.4 字符类型 11
1.4.1 字符的ASCII码表示 11
1.4.2 字符常数与变量 11
1.4.3 字符的输入输出 12
1.4.4 字符与整数 13
1.5 实数类型 13
1.5.1 实数常数与变量 13
1.5.2 实数的输入输出 14
1.6 字符串类型 15
1.6.1 字符串常数与变量 15
1.6.2 字符串在内存中的表示 16
1.6.3 字符串的输入输出 17
1.7 算术运算符与表达式 18
1.7.1 算术运算符与表达式 18
1.7.2 自加、自减运算 18
1.7.3 各种数据类型的混合运算 19
1.7.4 复合赋值运算 21
1.8 综合实例 21
习题 23
第 2 章 顺序结构程序设计 26
2.1 常用内部函数 26
2.1.1 常用数学函数 26
2.1.2 文件包含与函数调用 27
2.1.3 随机函数 28
2.2 字符输入输出函数 30
2.2.1 字符输入函数getchar 30
2.2.2 字符输出函数putchar 30
2.3 格式输入输出函数 31
2.4 综合实例 33
习题 36
第 3 章 分支结构程序设计 39
3.1 关系运算和逻辑运算 39
3.1.1 关系运算符和关系表达式 39
3.1.2 逻辑运算符和逻辑表达式 40
3.2 简单if语句 41
3.2.1 简单if条件语句 41
3.2.2 简单if条件语句的应用 41
3.3 二分支if语句 43
3.3.1 二分支if条件语句 43
3.3.2 二分支if条件语句的应用 43
3.3.3 分支语句的嵌套 45
3.4 多分支if语句 46
3.4.1 多分支if语句 46
3.4.2 多分支if语句的应用 47
3.5 条件表达式 49
3.5.1 条件表达式 49
3.5.2 条件表达式的应用 49
3.6 switch多分支程序结构 50
3.6.1 switch多分支程序结构语句 50
3.6.2 switch多分支程序结构语句的应用 51
3.7 综合实例 54
习题 57
第 4 章 循环结构程序设计 60
4.1 do循环结构 60
4.1.1 循环语句的引入 60
4.1.2 do循环语句 61
4.1.3 do循环的应用 62
4.2 while循环结构 64
4.2.1 while循环语句 64
4.2.2 while循环的应用 64
4.3 for循环结构 66
4.3.1 for循环语句 66
4.3.2 for循环的应用 67
4.3.3 几种循环的比较 69
4.4 循环结构的嵌套与退出 69
4.4.1 循环结构的嵌套 69
4.4.2 多循环的规则 70
4.4.3 循环的退出 72
4.5 综合实例 74
习题 78
第 5 章 数组 80
5.1 一维数组 80
5.1.1 一维数组的引入 80
5.1.2 一维数组的定义 81
5.1.3 一维数组的应用 82
5.1.4 数组应用要素 85
5.2 一维字符数组 86
5.2.1 一维字符数组 86
5.2.2 一维字符数组与字符串 86
5.2.3 字符串的输入与输出 87
5.3 字符串处理函数 88
5.3.1 字符串输入输出函数 88
5.3.2 常用字符串函数 89
5.3.3 字符串函数应用 93
5.4 数组排序与查找 95
5.4.1 数组排序 95
5.4.2 数组查找 96
5.5 二维数组 98
5.5.1 二维数组的定义 98
5.5.2 二维数组的应用 99
5.6 综合实例 101
习题 105
第 6 章 函数 107
6.1 函数定义 107
6.2 函数参数与返回值 109
6.2.1 函数参数 109
6.2.2 函数返回值 110
6.2.3 设有返回值的函数 110
6.2.4 函数调用 111
6.2.5 函数应用 112
6.3 变量类型 114
6.3.1 局部变量 114
6.3.2 全局变量 115
6.3.3 静态变量 118
6.3.4 变量的初始值 119
6.4 函数调用 119
6.4.1 嵌套调用 119
6.4.2 递归调用 120
6.5 综合实例 122
习题 126
第 7 章 指针 129
7.1 指针概述 129
7.1.1 指针的引入 129
7.1.2 变量的指针与指针变量 130
7.2 指针与函数参数 132
7.2.1 指针作为函数参数 132
7.2.2 值传递与地址传递 134
7.3 指针与数组 136
7.3.1 指向数组的指针 136
7.3.2 通过数组指针访问数组 137
7.3.3 指针移动与指针比较 138
7.4 数组与函数参数 140
7.4.1 数组作为函数参数 140
7.4.2 数组元素作为实际参数 142
7.5 字符串与指针 142
7.5.1 字符串指针 142
7.5.2 字符串指针作为函数参数 143
7.5.3 字符串函数 144
7.6 指针与二维数组 147
7.6.1 指针数组与二维数组 147
7.6.2 二维数组作为函数参数 148
7.6.3 字符串数组 149
7.7 动态数组 151
7.7.1 动态内存分配 151
7.7.2 动态数组 151
7.8 综合实例 152
习题 157
第 8 章 编译预处理 163
8.1 宏定义 163
8.1.1 不带参数的宏定义 163
8.1.2 带参数的宏定义 165
8.2 文件包含 167
8.2.1 文件包含 167
8.2.2 文件包含的应用 168
8.3 条件编译 169
8.4 综合实例 172
习题 175
第 9 章 结构 178
9.1 结构概述 178
9.1.1 结构的引入 178
9.1.2 结构的定义 179
9.2 结构变量与指针 181
9.2.1 结构变量 181
9.2.2 结构变量指针 181
9.2.3 结构变量初始化 182
9.2.4 结构与数组 182
9.2.5 结构的嵌套 182
9.3 结构与函数 184
9.3.1 结构作为函数参数 184
9.3.2 返回结构的函数 185
9.3.3 用结构来封装数组 186
9.4 结构与单链表 188
9.4.1 包含结构指针的结构 188
9.4.2 单链表的构造 188
9.4.3 单链表的操作 191
9.5 综合实例 193
习题 198
第 10 章 C++基础 201
10.1 类与对象 201
10.1.1 类与对象的引入 201
10.1.2 类成员的访问 202
10.2 this指针 205
10.2.1 对象指针与this指针 205
10.2.2 this指针的应用 206
10.3 构造函数与析构函数 207
10.3.1 构造函数 207
10.3.2 多个构造函数的重载 209
10.3.3 析构函数 211
10.4 引用与复制构造函数 212
10.4.1 引用 212
10.4.2 复制构造函数 215
10.5 动态内存分配 217
10.5.1 单个变量的动态分配 217
10.5.2 多个变量的动态分配 219
10.6 类成员的访问规则 221
10.7 对象的赋值 223
10.7.1 对象的赋值 223
10.7.2 包含字符串指针的类 225
10.8 运算符重载 228
10.8.1 运算符重载 228
10.8.2 运算符重载的应用 229
10.9 综合实例 233
习题 239
第 11 章 文件 245
11.1 文本文件 245
11.1.1 文件概述 245
11.1.2 文本文件的打开与关闭 246
11.1.3 读写文本文件 246
11.2 二进制文件 249
11.2.1 二进制文件概述 249
11.2.2 二进制文件的打开与关闭 249
11.2.3 读写二进制文件 250
11.2.4 二进制文件的定位 252
11.3 综合实例 254
习题 259
第 12 章 综合应用程序 261
12.1 日历程序 261
12.1.1 日历程序的C语言设计 261
12.1.2 日历程序的另一种C语言设计 264
12.2 统计单词程序 269
12.3 迷宫程序 275
12.3.1 迷宫及其路径 275
12.3.2 栈结构及其运算 275
12.3.3 迷宫程序的C语言设计 276
附录 ASCII码表 280