1.1 程序与程序设计 1
第1章 绪论 1
1.1.1 程序设计的基本概念 2
1.1.2 程序设计基本方法与原则 7
1.2 算法 10
1.2.1 算法的概念和主要特性 11
1.2.2 算法的描述 12
1.3 应用实例 13
1.4.1 C语言是程序员的语言 15
1.4.2 C语言程序结构 15
1.4 C语言 15
1.4.3 C语言编程风格 16
本章小结 17
本章实验 17
第2章 编程基础 18
2.1 标识符、保留字和表 18
2.1.1 标识符和保留字 18
2.1.2 表列 19
2.1.3 可列性(可数性) 20
2.2 基本的数据类型 20
2.2.2 浮点型(实型) 21
2.2.1 整型 21
2.2.3 字符型 22
2.3 常量和变量 22
2.3.1 常量 22
2.3.2 变量 22
2.3.3 变量的定义和预置初值 23
2.4 运算符与表达式 23
2.4.1 常用运算符 24
2.4.2 表达式 25
2.4.3 算术表达式 25
2.4.4 赋值表达式 26
2.4.5 自增和自减表达式 27
2.4.6 条件表达式 27
2.4.7 逗号表达式 28
2.4.8 位运算表达式 29
2.5 语句 31
2.5.1 语句概述 31
2.5.2 赋值语句 32
2.6 数据的输入和输出 32
2.6.2 格式编辑 33
2.6.1 转义字符 33
2.6.3 格式输出函数 35
2.6.4 格式输入函数 36
2.6.5 单个字符的输入/输出函数 38
2.6.6 字符串的输入/输出函数 39
2.7 应用实例 41
本章小结 42
本章实验 42
3.1 逻辑问题的解决方案 44
第3章 流程控制 44
3.1.1 穷举法 45
3.1.2 迭代法 46
3.2 关系运算 47
3.3 逻辑运算 48
3.4 选择结构控制语句 50
3.4.1 if语句 50
3.4.2 多分支的switch语句和break中断跳转语句 57
3.5 循环结构控制语句 62
3.6 应用实例 69
本章实验 75
本章小结 75
第4章 构造类型数据 78
4.1 数组 78
4.1.1 一维数组 79
4.1.2 二维数组 83
4.1.3 字符数组与字符串 87
4.2 结构体 94
4.2.1 结构体类型的定义和变量的声明 95
4.2.2 结构体变量的存储与成员的引用 97
4.2.3 结构体数组 99
4.3 共用体 102
4.3.1 共用体类型的定义和变量的声明 102
4.3.2 共用体变量的存储和成员的引用 103
4.4 枚举类型 107
4.4.1 定义枚举类型 107
4.4.2 声明枚举类型变量 108
4.5 应用实例 109
本章小结 122
本章实验 123
5.1 函数概述 129
第5章 函数 129
5.1.1 函数的定义 130
5.1.2 函数的形式参数和实在参数 133
5.1.3 函数的返回值 135
5.1.4 函数的调用 137
5.1.5 数组作为函数参数 142
5.1.6 内部函数和外部函数 150
5.2 函数的嵌套调用 151
5.3 函数的递归调用 154
5.4.1 变量的作用域 158
5.4 变量的作用域和存储类别 158
5.4.2 变量的存储类别 163
5.4.3 多文件程序的运行 170
5.5 应用实例 171
本章小结 177
本章实验 178
第6章 指针 181
6.1.1 指针变量和基类型 182
6.1.2 指针变量的定义和引用 182
6.1 指针概述 182
6.1.3 指针变量的运算 184
6.1.4 指向一维数组或二维数组的指针 186
6.1.5 指针指向函数 191
6.1.6 指针指向字符串 193
6.1.7 指针数组 196
6.2 指向指针的指针 197
6.3 函数调用返回指针值 199
6.4 带参数的main函数 201
6.5 动态数据结构——链表 203
6.6 应用实例 210
本章小结 214
本章实验 215
第7章 文件 216
7.1 文件概述 216
7.1.1 C的文件系统 216
7.1.2 文件指针 217
7.2 文件的打开与关闭 218
7.2.1 文件的打开 218
7.2.2 文件的关闭 219
7.3.1 fputc和fgetc函数 220
7.3 文件的读写 220
7.3.2 fputs和fgets函数 222
7.3.3 fwrite和fread函数 223
7.3.4 fscanf和fprintf函数 225
7.4 文件的定位与出错检测 226
7.4.1 文件的定位 226
7.4.2 文件的出错检测与处理 229
7.5 应用实例 230
本章小结 231
本章实验 232
第8章 C++基础知识 233
8.1 C++对C语言的改进 233
8.1.1 语法方面的变化 234
8.1.2 指针与引用 235
8.1.3 函数的改进 235
8.2 类与对象 238
8.2.1 面向对象程序设计特点 239
8.2.2 类 240
8.2.4 构造函数和析构函数 241
8.2.3 对象 241
8.3 继承与派生 249
8.3.1 继承与派生含义 249
8.3.2 派生类的定义 250
8.3.3 访问控制 251
8.3.4 派生类的构造函数和析构函数 255
8.4 多态性 258
8.4.1 函数重载 258
8.4.2 运算符重载 259
8.4.3 虚函数 263
8.4.4 纯虚函数和抽象类 265
8.5 应用实例 266
本章小结 275
本章实验 276
附录A 标准ASCII编码对照表 277
附录B C语言主要关键字及其用途 280
附录C C语言运算符优先级和结合性 281
附录D C语言常用库函数 282
附录E 实验报告格式 285
附录F 编译预处理 287
参考文献 292