第1章 程序设计基础 1
1.1 程序设计的基本概念 1
1.1.1 数据 1
1.1.2 指令 1
1.1.3 程序 1
1.1.4 算法 2
1.1.5 程序设计语言 4
1.2 程序设计方法 5
1.2.1 结构化程序设计方法 5
1.2.2 面向对象程序设计 5
1.3 C语言简介 6
1.3.1 语言的发展历史 6
1.3.2 C语言特点 6
1.3.3 学习C语言的必要性 6
1.3.4 C语言程序结构 7
1.4 Turbo C++编译器 9
1.4.1 Turbo C++集成开发环境 10
1.4.2 Turbo C++的命令行编译连接 11
1.5 上机指导 12
1.5.1 使用Turbo C++编译器编译程序 12
1.5.2 阅读和理解程序 14
1.6 习题 16
第2章 数据类型 18
2.1 C语言的数据类型 18
2.2.1 一般常量 19
2.2 常量 19
2.2.2 符号常量 20
2.3 变量 22
2.3.1 变量定义赋值 22
2.3.2 整型变量 24
2.3.3 实型变量 25
2.3.4 字符变量 26
2.3.5 变量初始化 27
2.4.2 数值运算与优先级 28
2.4.1 算术运算符 28
2.4 数值运算符与优先级 28
2.4.3 赋值运算符与表达式 30
2.4.4 逗号运算符与表达式 31
2.5 类型转换 31
2.6 自加1、自减1运算 32
2.6.1 自增运算符 32
2.6.2 自减运算符 33
2.7 数据的输入与输出 33
2.7.1 #include命令与头文件 34
2.7.2 格式输入与输出——printf与scanf 35
2.7.3 输出/输入 44
2.8 上机指导 44
2.9 习题 46
第3章 逻辑运算 50
3.1 关系运算符及表达式 50
3.1.1 关系运算符及其优先次序 50
3.1.2 关系表达式 51
3.2.1 逻辑运算符及其优先顺序 52
3.2 逻辑运算符及表达式 52
3.2.2 逻辑表达式 54
3.3 if语句及条件运算符 54
3.3.1 if语句 54
3.3.2 条件运算符 58
3.3.3 开关语句 60
3.4 上机指导 63
3.5 习题 66
第4章 循环语句 70
4.1 for循环 70
4.2 while循环 73
4.3 do-while循环 76
4.4 break、continue和goto语句 77
4.4.1 break语句 77
4.4.2 continue语句 78
4.4.3 goto语句 79
4.6.1 乘法表 80
4.6 上机指导 80
4.5 几种循环的比较 80
4.6.2 输出国际象棋棋盘 81
4.6.3 求解最大公约数和最小公倍数 82
4.7 习题 83
第5章 数组 90
5.1 一维数组 90
5.1.1 一维数组的定义与赋值 90
5.1.2 一维数组元素的引用 93
5.1.3 一维数组应用举例 95
5.1.4 一维数组的排序 95
5.2 字符数组 97
5.2.1 字符数组的声明与初值 97
5.2.2 字符数组的引用 97
5.2.3 字符串操作 98
5.3.1 二维数组的定义 102
5.3.2 二维数组中元素的引用 102
5.3 二维数组与多维数组 102
5.3.3 二维数组的初始化 103
5.3.4 二维数组程序举例 104
5.4 多维数组 106
5.5 字符数组应用举例 106
5.5.1 统计单词 106
5.5.2 输入三个字符串并找出其中最大者 107
5.6.1 计算Fibonicci数列 108
5.6 上机指导 108
5.6.2 找出二维矩阵中的最小值及其位置 109
5.6.3 身份验证 109
5.7 习题 110
第6章 函数 114
6.1 函数的声明与定义 114
6.1.1 函数声明 115
6.1.2 函数定义 116
6.2 函数的调用 117
6.2.1 函数的简单调用 117
6.2.2 函数的参数传递 118
6.3.1 函数的简单调用 123
6.3 函数的调用 123
6.3.2 函数的嵌套调用 124
6.3.3 函数的递归调用 125
6.4 函数的作用范围 127
6.4.1 内部函数 127
6.4.2 外部函数 128
6.5 函数变量的作用域 129
6.5.1 局部变量 130
6.5.2 形式参数 130
6.5.3 全局变量 131
6.6 变量的生存期 131
6.6.1 auto类型 132
6.6.2 static类型 133
6.6.3 extern类型 134
6.7 上机指导 135
6.7.1 定义函数求最大、最小值 135
6.6.4 register类型 135
6.7.2 定义函数求直角三角形面积 136
6.8 习题 137
第7章 指针和地址 145
7.1 指针变量的定义 145
7.2 指针变量的引用 146
7.3.1 运算方式 148
7.3.2 指针和数组 148
7.3 地址运算 148
7.4 字符指针 153
7.5 指针数组 155
7.6 指针与函数 156
7.6.1 指针函数 156
7.6.2 指针作为函数参数 158
7.6.3 指向函数的指针 160
7.7 上机指导 163
7.7.1 利用变量指针进行排序 163
7.7.2 求一个字符串的长度 164
7.8 习题 165
第8章 预处理指令 170
8.1 #define指令 170
8.2 #error指令 173
8.3 #include指令 174
8.4 条件编译预处理指令 176
8.5 #undef指令 179
8.6 上机指导 179
8.6.1 定义宏 179
8.6.2 定义带参数的宏 180
8.6.3 灵活应用#include 181
8.7 习题 182
第9章 文件操作 186
9.1 标准文件函数 186
9.1.1 文件的打开和关闭 186
9.1.2 有关文件操作的函数 188
9.2.1 文件的打开和关闭 193
9.2 非标准文件函数 193
9.2.2 读写函数 194
9.2.3 随机定位函数 194
9.3 上机指导 194
9.4 习题 196
第10章 结构体 200
10.1 结构声明和结构变量定义 200
10.2 结构变量的使用 201
10.3.1 结构数组 204
10.3 结构数组和结构指针 204
10.3.2 结构指针 206
10.4 结构的复杂形式 208
10.4.1 嵌套结构 208
10.4.2 位结构 208
10.5 链表 209
10.5.1 单链表的概念 210
10.5.2 创建一个链表 212
10.5.3 输出一个链表 213
10.5.4 连接两个链表 214
10.6 上机指导 216
10.7 习题 219
第11章 联合、枚举、类型说明 226
11.1 联合的使用 226
11.2 枚举类型的说明 228
11.3 类型声明方法 229
11.4 上机指导 231
11.5 习题 235
12.1.1 字节与位 241
第12章 位运算 241
12.1 概述 241
12.1.2 数的表达方式 242
12.1.3 符号的表达方式 243
12.1.4 电压的编码表示 244
12.1.5 声音、图像的编码表示 244
12.2 位运算 244
12.2.1 按位与运算符“&” 245
12.2.2 按位或运算符“|” 246
12.2.3 异或运算符“^” 247
12.2.4 取反运算符“~” 248
12.2.5 左移运算符“?” 248
12.2.6 右移运算符“?” 249
12.2.7 位运算符与赋值运算符结合,组成新的赋值运算符 249
12.3 位段 249
12.4 上机指导 251
12.5 习题 255
13.1 图形模式的初始化 258
第13章 Turbo C++作图 258
13.2 独立图形运行程序的建立 261
13.3 屏幕颜色的设置和清屏函数 262
13.4 基本图形函数 263
13.4.1 画点 264
13.4.2 画线 264
13.4.3 任意封闭图形的填充 270
13.4.4 有关图形窗口和图形屏幕操作函数 271
13.4.5 图形模式下的文本输出 273
13.5 上机指导 277
13.6 习题 281
第14章 字符屏幕 285
14.1 文本窗口的定义 285
14.2 文本窗口颜色的设置 286
14.3 窗口内文本的输入输出函数 288
14.3.1 窗口内文本的输出函数 288
14.3.2 窗口内文本的输入函数 288
14.4 有关屏幕操作的函数 289
14.5 上机指导 290
14.6 习题 292
第15章 程序调试 293
15.1 Turbo C++集成调试器 293
15.2 Turbo C++编译、连接和运行时的常见错误 295
15.2.1 编译时的常见错误 296
15.2.3 运行时的常见错误 300
15.2.2 连接时的常见错误 300
15.3 上机指导 303
15.4 习题 305
第16章 在C基础上C++的扩充 311
16.1 简单数据类型的扩充 311
16.1.1 引用变量 311
16.1.2 无名联合体 312
16.2 运算的扩充 313
16.3 函数功能的扩充 314
16.3.1 参数带默认值的函数 314
16.3.2 函数重载 315
16.4 对输入输出的扩充 318
16.5 动态管理内存 320
16.6 上机指导 321
16.7 习题 324
17.1.1 对象 327
17.1.2 类 327
17.1 概述 327
第17章 面向对象编程基础——类与对象 327
17.1.3 继承和派生 328
17.1.4 类的属性和方法 328
17.1.5 类的构造与析构 328
17.1.6 成员类型 328
17.2 类与对象的定义 328
17.3.1 构造函数 332
17.3 类的构造与析构 332
17.3.2 带参数的构造函数 334
17.3.3 重载的构造函数 335
17.3.4 类的析构函数 337
17.4 类的继承与派生 339
17.4.1 派生类的声明 339
17.4.2 成员覆盖 340
17.4.3 派生类的构造函数 341
17.4.4 从多个类继承 342
17.5 上机指导 342
17.6 习题 346
18.1 C/C++语言的编程格式 349
第18章 C/C++语言编程格式与技巧 349
18.2 C语言“Switch语句”的使用技巧 351
18.3 “=”的使用技巧 352
18.4 排序 353
18.4.1 快速排序 353
18.4.2 整数希尔排序 355
18.4.3 整数堆排序 356
18.5.1 查找 357
18.5 单链表的基本运算 357
18.5.2 插入(后插) 359
18.5.3 删除 361
18.6 上机指导 364
18.7 习题 369
附录A ASCII码表 377
附录B C语言中的关键字 378
附录C 部分库函数 379
附录D 参考答案 386