第1章 程序设计概述 1
1.1 基本概念 1
1.2 算法概述 6
1.3 数据的输入与输出 10
1.3.1 数据输出 11
1.3.2 数据输入 11
1.3.3 一个简单的C++程序 12
1.4 C++程序的结构 13
1.5 程序运行的流程 14
1.6 C++程序的上机环境——VC++ 6.0集成开发环境简介 14
第2章 基本数据类型、运算符与表达式 19
2.1 数据的基本类型 19
2.2 变量 21
2.2.1 标识符命名 21
2.2.2 变量的声明与初始化 21
2.2.3 使用变量时的注意事项 22
2.3 算术运算符与算术表达式 24
2.3.1 基本的算术运算符 24
2.3.2 算术表达式和运算符的优先级与结合性 24
2.3.3 表达式中各类数值型数据间的混合运算 25
2.3.4 强制类型转换运算符 26
2.4 常量 27
2.4.1 整型常量 27
2.4.2 实型常量 28
2.4.3 字符常量 28
2.4.4 字符串常量 30
2.4.5 宏常量 30
2.4.6 const常量 31
2.5 赋值运算符与赋值表达式 32
2.5.1 赋值运算符 32
2.5.2 赋值过程中的类型转换 32
2.5.3 复合的赋值运算符 33
2.5.4 赋值表达式 34
2.6 自增1和自减1运算符 36
2.7 逗号运算符与逗号表达式 39
自测练习题 42
第3章 面向过程程序的控制结构 43
3.1 在输出流中使用控制符 43
3.2 用输出函数printf进行格式输出 48
3.3 字符数据的输出与输入 50
3.4 编写顺序结构的程序 51
3.5 关系运算与逻辑运算 55
3.5.1 关系运算符与关系表达式 55
3.5.2 逻辑常量和逻辑变量 57
3.5.3 逻辑运算与逻辑表达式 57
3.6 分支选择结构与if语句 62
3.7 if语句的嵌套 64
3.8 条件运算符与条件表达式 69
3.9 多分支选择结构与switch语句 72
3.10 编写分支选择结构的程序 79
3.11 循环结构和循环语句 81
3.11.1 用while语句构成循环 82
3.11.2 用do-while语句构成循环 85
3.11.3 用for语句构成循环 86
3.12 循环的嵌套 89
3.13 流程控制的转移 92
3.13.1 continue语句 92
3.13.2 break语句 93
3.13.3 goto语句 94
3.14 编写循环结构的程序 95
自测练习题 100
第4章 数组 103
4.1 一维数组的定义和引用 103
4.1.1 一维数组的定义 103
4.1.2 一维数组元素的引用 104
4.1.3 一维数组的初始化 105
4.1.4 对数组元素的赋值 105
4.2 二维数组的定义和引用 113
4.2.1 二维数组的定义 113
4.2.2 二维数组元素的引用 113
4.2.3 二维数组的初始化 114
4.2.4 二维数组的应用举例 114
4.3 字符数组与字符串简介 117
4.3.1 字符数组的定义 117
4.3.2 字符数组的输出和输入 117
4.3.3 字符串处理函数 119
自测练习题 125
第5章 指针 127
5.1 指针与指针变量 127
5.2 指针与数组 133
5.2.1 用指针操作一维数组 135
5.2.2 用指针操作二维数组 136
5.2.3 用指针数组操作二维数组 139
5.3 指针与字符串 140
自测练习题 143
第6章 其他数据类型 145
6.1 结构体 145
6.1.1 结构体类型的定义 145
6.1.2 结构体变量 146
6.1.3 结构体数组 148
6.2 指针与结构体 151
6.2.1 指向结构体变量的指针 151
6.2.2 指向结构体数组的指针 152
6.2.3 用指针处理静态链表简介 153
6.3 共用体(联合体) 155
6.3.1 共用体类型的定义 155
6.3.2 共用体变量 156
6.4 枚举——基本数据类型 158
6.4.1 枚举类型的定义和枚举变量的声明 158
6.4.2 枚举类型的引用 159
6.5 自定义类型 160
6.5.1 自定义类型的一般形式 160
6.5.2 自定义类型的使用说明 161
6.6 位运算及位字段 161
6.6.1 位运算 161
6.6.2 移位运算 163
6.6.3 位运算的复合赋值运算 164
6.6.4 位字段 164
自测练习题 166
第7章 函数及其调用 169
7.1 概述 169
7.2 定义函数的一般形式 171
7.2.1 无参函数 171
7.2.2 有参函数 171
7.3 函数参数与函数的值 172
7.3.1 调用函数时的数据传递 172
7.3.2 函数返回值 172
7.4 函数的调用 174
7.5 函数的嵌套调用 175
7.6 函数的递归调用 176
7.7 数组作为函数参数 180
7.7.1 数组元素作函数实参 180
7.7.2 数组名作函数的参数 181
7.7.3 二维数组名作函数参数 182
7.8 指针与函数 184
7.8.1 指针作为函数的参数 185
7.8.2 返回指针值的函数——指针函数 185
7.8.3 指向函数的指针——函数指针 187
7.8.4 用结构体变量和指向结构体的指针作函数参数 189
7.9 指针与引用 191
7.10 变量的存储类型 193
7.10.1 存储类型 193
7.10.2 全局变量 194
7.10.3 局部变量(自动变量) 196
7.10.4 静态变量 197
7.10.5 静态函数 199
7.11 预处理命令 201
7.11.1 宏定义命令#define 201
7.11.2 文件包含(嵌入)命令#include 204
自测练习题 206
第8章 综合应用 209
8.1 单文件应用实例——小型通讯录查询系统 209
8.2 文件概述 216
8.3 文件的打开与关闭 218
8.4 文件的读写 219
8.5 文件的定位 221
8.6 多文件应用实例——学生成绩管理系统 224
自测练习题 241
实验1 熟悉Visual C++ 6.0的运行环境 242
实验2 数据类型、运算符及表达式 244
实验3 数据的输入、输出与顺序结构程序设计 246
实验4 分支选择结构程序设计 248
实验5 循环结构程序设计 251
实验6 数组的应用 254
实验7 指针的基本使用 257
实验8 结构体和共用体 259
实验9 用指针数组处理字符串及用指针处理结构体 262
实验10 函数及其调用 265
实验11 函数的嵌套、递归调用及带参宏替换 268
课程实践 含数据录入、修改、删除、查询等的综合实例设计 270
附录A ASCII码字符集 271
附录B 运算符的优先级和结合性 273
附录C 输入、输出函数中的格式控制符及修饰符 274
任务索引 276
自测练习题参考答案 282
参考文献 307