第1章 绪论 1
1.1 程序、程序设计和程序设计语言 1
1.1.1 程序与程序的运行过程 1
1.1.2 程序设计与程序设计语言 2
1.2 C语言简介 5
1.2.1 C语言的发展历史 5
1.2.2 C语言程序范例 6
1.3 小结 8
第2章 词法符号、数据类型 9
2.1 词法符号及分类 9
2.1.1 词法符号 9
2.1.2 词法符号的分类 9
2.2 数据类型 13
2.2.1 数据类型 13
2.2.2 C语言所支持的数据类型 13
2.3 常量 16
2.3.1 整常量 16
2.3.2 浮点常量 18
2.3.3 字符串常量 18
2.4 变量和变量定义 19
2.4.1 什么是变量 19
2.4.2 变量定义 20
2.5 标准输入和输出简介 20
2.5.1 标准输出函数printf 20
2.5.2 标准输入函数scanf 22
2.6 小结 24
第3章 运算符与表达式 25
3.1 运算符与运算符的分类 25
3.1.1 算术运算符 25
3.1.2 关系运算符 26
3.1.3 逻辑运算符 26
3.1.4 位运算符 27
3.1.5 条件运算符 29
3.1.6 赋值运算符 30
3.1.7 逗号运算符 31
3.1.8 括号运算符 32
3.1.9 地址运算符 32
3.1.10 成员访问运算符 32
3.1.11 sizeof运算符 33
3.2 表达式与表达式的计算 33
3.2.1 表达式 33
3.2.2 复合表达式的计算 34
3.2.3 数据类型转换 37
3.3 小结 40
第4章 语句 42
4.1 基本语句 42
4.1.1 表达式语句 42
4.1.2 空语句 42
4.1.3 块语句 43
4.1.4 变量定义语句 43
4.1.5 typedef语句 43
4.2 流程控制语句 44
4.2.1 结构化程序设计 44
4.2.2 选择语句(分支语句) 47
4.2.3 循环语句 54
4.2.4 转向语句 62
4.3 小结 65
第5章 函数 66
5.1 函数 66
5.1.1 函数的意义 66
5.1.2 函数的定义和声明 67
5.1.3 函数调用 70
5.1.4 函数的调用过程与参数传递过程 72
5.2 递归 76
5.2.1 递归的概念 76
5.2.2 递归三要素 77
5.2.3 递归函数设计举例 78
5.3 库函数 81
5.3.1 库函数 81
5.3.2 常用标准库函数 81
5.3.3 文件操作 84
5.4 小结 90
第6章 预编译 91
6.1 宏定义 91
6.1.1 不带参数的宏定义 91
6.1.2 带参数的宏定义 95
6.2 文件包含 97
6.3 条件编译 100
6.4 小结 101
第7章 作用域、存储类型 103
7.1 作用域 103
7.1.1 局部作用域和函数作用域 103
7.1.2 全局作用域 103
7.1.3 同名标识符规则 105
7.2 存储类型 106
7.2.1 寄存器变量 106
7.2.2 自动变量 107
7.2.3 静态局部变量 109
7.2.4 全局变量 110
7.3 多源文件程序结构 111
7.3.1 多源文件程序结构 111
7.3.2 源文件间的相互引用 111
7.3.3 函数和变量的连接性 113
7.4 小结 113
第8章 数组和指针 115
8.1 一维数组 115
8.1.1 一维数组的定义与初始化 115
8.1.2 数组元素的访问 116
8.1.3 一维数组举例 117
8.2 多维数组 120
8.2.1 二维数组 120
8.2.2 多维数组 125
8.3 指针 126
8.3.1 指针的概念 126
8.3.2 指针变量的定义 126
8.3.3 指针的运算 128
8.3.4 指针与数组的关系 134
8.4 指针与数组的复合类型 135
8.4.1 数组的数组 135
8.4.2 指向数组的指针 135
8.4.3 指针的数组 135
8.4.4 指针的指针 138
8.4.5 其他指针与数组的复合类型举例 138
8.5 字符串 138
8.5.1 字符串的意义 138
8.5.2 字符串的基本操作 139
8.5.3 字符串处理库函数 146
8.6 指针与函数 149
8.6.1 指针类型的参数 149
8.6.2 指针类型的返回值 155
8.6.3 函数指针 156
8.7 动态空间分配 159
8.7.1 内存空间的分配结构 159
8.7.2 动态空间分配的意义 159
8.7.3 动态空间分配的相关库函数 160
8.7.4 动态空间分配的应用举例 162
8.8 带参数的main函数 165
8.9 小结 167
第9章 结构与联合 169
9.1 结构类型 169
9.2 结构变量 170
9.2.1 结构变量的定义与使用 170
9.2.2 结构数组 173
9.2.3 结构指针 174
9.2.4 链表 175
9.2.5 结构变量与函数 179
9.3 联合 181
9.4 位域 183
9.5 小结 186
第10章 排错与测试 187
10.1 排错 187
10.1.1 编译错误 187
10.1.2 运行错误 189
10.2 测试 190
10.3 小结 191
第11章 C++简介 192
11.1 C++的发展历史 192
11.2 C++对C语言语法的一些改进 192
11.2.1 加强了类型匹配的检查 192
11.2.2 放宽了对定义语句位置的限制 193
11.2.3 常量变量 194
11.2.4 嵌入函数 194
11.2.5 引用类型 195
11.2.6 new和delete运算符 196
11.3 C++与面向对象的程序设计思想 197
11.3.1 面向对象的思想 197
11.3.2 封装 198
11.3.3 继承 199
11.3.4 多态性 199
11.4 小结 200