第1章 概述 1
1.1 程序设计语言 1
1.1.1 计算机语言 1
1.1.2 程序设计语言的发展 1
1.2 C程序设计语言 2
1.2.1 C语言的发展历史 2
1.2.2 C语言的标准与版本 3
1.2.3 C语言的特点 4
1.3 C语言的基本语法成分 4
1.3.1 字符集 4
1.3.2 标识符 5
1.3.3 运算符 6
1.4 C语言程序的组成 6
1.4.1 简单的C程序介绍 6
1.4.2 C语言程序的结构 8
1.4.3 C程序的书写 9
习题1 11
第2章 基本数据类型、运算符及表达式 12
2.1 C语言的基本数据类型 12
2.1.1 数据类型 12
2.1.2 C语言数据类型简介 12
2.1.3 C语言的基本数据类型 13
2.2 常量 14
2.2.1 整型常量 14
2.2.2 实型常量 15
2.2.3 符号常量 15
2.2.4 字符型常量 16
2.3 变量 18
2.3.1 变量名 18
2.3.2 变量类型 18
2.3.3 变量值 19
2.4 运算符及表达式 19
2.4.1 C运算符简介 19
2.4.2 算术运算符与算术表达式 20
2.4.3 赋值运算符与赋值表达式 23
2.4.4 逗号运算符和逗号表达式 25
2.4.5 不同类型数据间的混合运算与类型转换 25
2.5 总结与提高 27
2.5.1 重点与难点 27
2.5.2 典型题例 27
习题2 28
第3章 算法和基本程序设计 30
3.1 算法 30
3.1.1 算法的概念 30
3.1.2 算法的评价标准 31
3.1.3 算法的表示 32
3.2 结构化程序设计的方法 34
3.3 程序的基本结构 35
3.3.1 顺序结构 35
3.3.2 选择结构 35
3.3.3 循环结构 36
3.4 顺序结构程序设计 37
3.5 数据的输入与输出 39
3.5.1 C语言中数据的输入与输出 39
3.5.2 字符数据的输入与输出 39
3.5.3 格式的输入与输出 41
3.6 总结与提高 47
3.6.1 典型题例 47
3.6.2 C程序的上机步骤 48
3.6.3 Turbo C 2.0简介 49
3.6.4 C程序的基本调试技术 51
习题3 52
第4章 选择分支结构程序设计 53
4.1 关系运算 53
4.1.1 关系运算符 53
4.1.2 关系表达式 53
4.2 逻辑运算 54
4.2.1 逻辑运算符 54
4.2.2 逻辑表达式 55
4.3 二路分支——if语句 56
4.3.1 if语句的一般形式 56
4.3.2 if语句的嵌套 64
4.4 条件运算符与表达式 66
4.5 多路分支——switch语句 68
4.5.1 switch语句的一般形式 68
4.5.2 switch语句的嵌套 70
4.6 选择分支结构程序举例 70
4.7 总结与提高 74
4.7.1 重点与难点 74
4.7.2 典型题例 74
习题4 77
第5章 循环结构程序设计 78
5.1 while语句 78
5.2 do-while语句 80
5.3 for语句 82
5.4 goto语句 85
5.5 循环的嵌套 86
5.6 break和continue语句 88
5.6.1 continue语句 88
5.6.2 break语句 90
5.7 总结与提高 90
5.7.1 重点与难点 90
5.7.2 典型题例 91
习题5 95
第6章 数组 97
6.1 一维数组 97
6.1.1 一维数组的定义和初始化 97
6.1.2 一维数组元素的引用 99
6.1.3 一维数组应用举例 99
6.2 二维数组 104
6.2.1 二维数组的定义和初始化 104
6.2.2 二维数组元素的引用 106
6.3 字符数组 111
6.3.1 字符数组的定义和引用 111
6.3.2 字符数组的输入与输出 112
6.3.3 字符串处理函数 114
6.4 总结与提高 120
6.4.1 重点与难点 120
6.4.2 典型题例 121
习题6 126
第7章 函数 130
7.1 概述 130
7.1.1 C程序的基本结构 130
7.1.2 函数分类 132
7.2 函数的定义 133
7.3 函数的参数和函数的返回值 134
7.3.1 形式参数和实际参数 135
7.3.2 函数与数组 136
7.3.3 函数的返回值 139
7.4 函数的调用 141
7.4.1 函数调用的一般形式 141
7.4.2 函数调用的方式 141
7.5 函数声明和函数原型 142
7.6 函数的嵌套调用 144
7.7 函数的递归调用 145
7.8 变量的作用域 149
7.8.1 局部变量 149
7.8.2 全局变量 150
7.9 变量的存储类型 152
7.9.1 静态存储方式和动态存储方式 152
7.9.2 静态局部变量 152
7.9.3 自动变量 153
7.9.4 寄存器变量 154
7.9.5 静态全局变量和非静态全局变量 155
7.9.6 存储类型小结 156
7.10 内部函数和外部函数 157
7.10.1 内部函数 157
7.10.2 外部函数 157
7.11 多文件程序的运行 158
7.12 总结与提高 159
7.12.1 重点与难点 159
7.12.2 典型题例 160
习题7 164
第8章 结构体与共用体 168
8.1 结构体类型定义 168
8.2 结构体变量 169
8.2.1 结构体变量的定义与初始化 169
8.2.2 结构体变量的引用 171
8.3 结构体数组 173
8.3.1 结构体数组的定义与初始化 173
8.3.2 结构体数组元素的引用 174
8.4 结构体和函数 176
8.4.1 结构体作函数参数 176
8.4.2 返回值为结构体类型的函数 177
8.5 共用体 179
8.5.1 共用体类型定义 179
8.5.2 共用体变量定义与引用 179
8.5.3 共用体应用举例 181
8.6 枚举类型 183
8.7 typedef语句 185
8.8 总结与提高 186
习题8 188
第9章 指针 191
9.1 地址和指针的概念 191
9.1.1 变量的内容和变量的地址 191
9.1.2 直接访问和间接访问 192
9.1.3 指针的概念 193
9.2 指针变量 193
9.2.1 指针变量的定义 193
9.2.2 指针变量的引用 194
9.2.3 实现引用传递 196
9.3 指针与数组 199
9.3.1 指向数组元素的指针 199
9.3.2 字符指针、字符数组和字符串 204
9.3.3 地址越界问题 207
9.3.4 指针数组 208
9.3.5 多维数组和指向分数组的指针 210
9.4 结构体与指针 215
9.4.1 指向结构体的指针变量 215
9.4.2 用指向结构体的指针作函数参数 216
9.5 返回值为指针类型的函数 217
9.6 指针与链表 219
9.6.1 存储空间的分配和释放 219
9.6.2 动态数据结构——链表 220
9.7 总结与提高 226
9.7.1 重点与难点 226
9.7.2 典型题例 227
9.7.3 指向函数的指针和函数参数 228
习题9 231
第10章 编译预处理和位运算及混合编程 234
10.1 文件包含处理——#include 234
10.2 宏定义——#define 236
10.2.1 不带参数的宏定义 236
10.2.2 带参数的宏定义 238
10.3 条件编译 239
10.4 位运算符和位运算 241
10.5 位段 243
10.6 位运算举例 245
10.7 C语言与汇编语言的混合编程 246
10.7.1 内嵌汇编代码 247
10.7.2 模块化连接方法 249
习题10 254
第11章 文件 257
11.1 文件的概述 257
11.1.1 数据流 257
11.1.2 文件 257
11.1.3 文件的操作流程 259
11.1.4 文件和内存的交互处理 260
11.2 文件类型的指针 261
11.3 标准输入/输出函数 261
11.3.1 打开文件 262
11.3.2 关闭文件 264
11.3.3 获取文件的属性 264
11.3.4 文件的顺序读写 266
11.3.5 文件的随机读写 277
11.3.6 出错检查 280
11.4 系统输入/输出函数 282
11.5 总结与提高 282
11.5.1 重点与难点 282
11.5.2 典型题例 283
习题11 293
第12章 C语言图形程序设计 295
12.1 图形显示的坐标和像素 295
12.1.1 图形显示的坐标 295
12.1.2 像素 295
12.2 Turbo C支持的图形适配器和图形模式 296
12.3 图形模式的初始化 298
12.3.1 图形系统的初始化函数 298
12.3.2 图形系统的自动检测函数 299
12.3.3 关闭图形模式函数 300
12.3.4 屏幕颜色的设置 300
12.3.5 清屏函数 301
12.4 基本绘画 301
12.4.1 画点 301
12.4.2 画直线函数 302
12.4.3 画矩形和多边形函数 304
12.4.4 画圆和椭圆函数 305
12.4.5 设定线形函数 306
12.5 图形填充 307
12.5.1 画填充图函数 308
12.5.2 设定填充方式函数 309
12.5.3 可对任意封闭图形填充的函数 311
12.6 图形模式下的文本输出 312
12.6.1 文本输出函数 312
12.6.2 字体格式和输出方式的设置 313
12.7 视口和视口函数 315
12.8 屏幕操作 318
12.8.1 设置显示页函数 318
12.8.2 屏幕图像处理存储和显示函数 319
12.8.3 键盘对屏幕的控制操作 321
12.9 总结与提高 323
12.9.1 重点与难点 323
12.9.2 典型题例 324
习题12 327
第13章 C++面向对象程序设计 330
13.1 面向对象程序设计 330
13.1.1 面向对象程序设计的产生背景 330
13.1.2 类和对象 331
13.1.3 构造函数和析构函数 333
13.1.4 继承 333
13.1.5 多态性 334
13.2 C++ 336
13.2.1 C++语言的特点 336
13.2.2 输出流、输入流 336
13.2.3 函数内联 340
13.2.4 函数重载 341
13.2.5 引用 344
13.2.6 C++增加的运算符、数据类型、注释 346
13.2.7 C++程序的集成开发环境 347
13.3 C#语言 348
13.3.1 C#简介 348
13.3.2 C#的特点 348
13.4 总结与提高 349
13.4.1 重点与难点 349
13.4.2 典型题例 349
习题13 352
附录 354
附录Ⅰ 常用字符与ASCII码对照表 354
附录Ⅱ C语言中的关键字表 357
附录Ⅲ C语言中的运算符的优先级与结合性一览表 357
附录Ⅳ C库函数 358
附录Ⅴ Turbo C 2.0菜单介绍 367
附录Ⅵ Turbo C 2.0编译错误信息介绍 375
主要参考文献 382