第1章 引论 1
1.1 C语言的发展过程与特点 1
1.1.1 C语言的诞生和发展 1
1.1.2 C语言的特点 2
1.2 C语言的字符集与标识符 4
1.2.1 C语言字符集 4
1.2.2 C语言标识符 5
1.2.3 C语言程序的结构特点 6
1.3 Turbo C集成开发环境 9
1.4 上机实训 11
1.4.1 Turbo C 3.0的下载与安装 12
1.4.2 熟悉开发环境 14
1.5 本章习题 14
第2章 基本数据类型和运算 16
2.1 基本数据类型 16
2.1.1 C语言数据类型概述 16
2.1.2 基本数据类型 17
2.2 常量和变数 17
2.2.1 数值常量 18
2.2.2 字符常量和字符串 19
2.2.3 符号常量 20
2.2.4 转义字符 22
2.2.5 简单变量 22
2.3 运算符和表达式 24
2.3.1 C语言中的运算符及其优先级和结合性 24
2.3.2 算术运算符和算术表达式 25
2.3.3 关系运算符 28
2.3.4 逻辑运算符与逻辑表达式 30
2.3.5 逗号运算符和逗号表达式 31
2.3.6 位逻辑运算符 32
2.3.7 表达式中的类型转换 34
2.4 上机实训 35
2.5 本章习题 39
第3章 简单程序设计 41
3.1 流程控制结构和语句 41
3.1.1 算法 41
3.1.2 结构化程序设计方法简介 44
3.1.3 语句与分程序 46
3.2 基本输入输出 47
3.2.1 printf()函数和scanf()函数的使用 47
3.2.2 putchar()函数和getchar()函数的使用 49
3.3 编写简单的C程序 51
3.3.1 C程序示例 51
3.3.2 C程序运行的一般步骤 52
3.4 上机实训 53
3.4.1 基本输入输出函数的应用 54
3.4.2 结构化程序设计方法 55
3.5 本章习题 55
第4章 C语言程序控制结构 58
4.1 顺序结构 58
4.2 分支结构 59
4.2.1 if条件语句 59
4.2.2 switch多分支选择语句 60
4.3 循环结构 61
4.3.1 for语句 62
4.3.2 while语句 63
4.3.3 do...while语句 64
4.3.4 循环嵌套 64
4.4 break,continue和goto语句 65
4.4.1 break语句 65
4.4.2 continue语句 66
4.4.3 goto语句 66
4.5 上机实训 67
4.5.1 求圆的周长和面积 67
4.5.2 交换两个数的值 68
4.5.3 英文字母大小写转换程序 68
4.5.4 闰年的判别 69
4.5.5 用switch语句求分段函数的值 69
4.5.6 九九乘法表 70
4.5.7 求n! 71
4.6 本章习题 71
第5章 构造型数据类型和枚举型数据类型 77
5.1 数组 77
5.1.1 概述 77
5.1.2 一维数组 78
5.1.3 二维数组与多维数组 80
5.1.4 多维数组 83
5.2 结构体 83
5.2.1 结构体类型的定义 83
5.2.2 结构体类型变量的定义 84
5.2.3 结构体变量的使用 86
5.2.4 结构体类型变量的初始化 86
5.2.5 结构体数组 86
5.3 共用体 87
5.4 枚举 90
5.4.1 枚举类型的定义和枚举变量的说明 90
5.4.2 枚举类型变量的赋值和使用 91
5.5 typedef的用途 91
5.6 上机实训 92
5.6.1 一维数组的倒置 92
5.6.2 求某班级的最大最小和平均成绩 93
5.6.3 冒泡排序 94
5.6.4 选择排序 95
5.6.5 二维数组的转置 96
5.6.6 矩阵相乘 97
5.6.7 结构体应用实例 98
5.7 本章习题 99
第6章 字符数组与字符串 105
6.1 字符数组 105
6.2 字符串变量 106
6.3 字符串的输入输出 107
6.4 字符串处理函数 108
6.5 上机实训 112
6.5.1 两字符串连接 112
6.5.2 字符串翻转 113
6.5.3 字符串加密 113
6.5.4 地名排序 114
6.5.5 空格的压缩 115
6.6 本章习题 115
第7章 函数 118
7.1 C语言函数概述 118
7.2 函数的说明与定义 120
7.2.1 函数说明 120
7.2.2 函数定义 121
7.3 函数调用 122
7.3.1 函数的简单调用 122
7.3.2 函数的值与函数说明中注意的问题 123
7.3.3 函数参数传递 125
7.3.4 函数的嵌套调用 128
7.3.5 函数的递归调用 129
7.4 上机实训 129
7.4.1 用函数求三个数中的最大值 130
7.4.2 求Xn 130
7.4.3 字符串转化为整数 131
7.4.4 数组名作为参数的应用 132
7.4.5 递归函数求两个数的最大公约数 133
7.4.6 一维数组的递归求和 134
7.5 本章习题 135
第8章 编译预处理 142
8.1 宏定义 142
8.1.1 无参宏定义 142
8.1.2 带参宏定义 144
8.2 文件包含 148
8.3 条件编译 149
8.4 其他预处理功能 151
8.5 上机实训 152
8.5.1 报数 152
8.5.2 宏替换和文件包含 153
8.5.3 字母转换 154
8.5.4 求圆面积 154
8.6 本章习题 155
第9章 变量的作用域和存储类 159
9.1 局部变量、全局变量和存储分类 159
9.1.1 局部变量 159
9.1.2 全局变量 162
9.1.3 存储分类 165
9.2 局部变量的作用域和生存期 170
9.3 全局变量的作用域和生存期 171
9.4 函数的存储分类 172
9.4.1 内部函数 172
9.4.2 外部函数 172
9.5 上机实训 173
9.5.1 字符的指定删除 173
9.5.2 四则运算 174
9.5.3 extern的扩展作用 178
9.5.4 学生成绩处理 179
9.6 本章习题 180
第10章 指针 185
10.1 指针的概念与指针的使用 185
10.1.1 指针的基本概念 185
10.1.2 指针的使用 187
10.2 指针运算 189
10.2.1 赋值运算 189
10.2.2 加减算术运算 190
10.2.3 两个指针变量之间的运算 190
10.3 数组的指针 191
10.3.1 指向数组元素的指针 191
10.3.2 指向二维数组的指针 192
10.3.3 main()函数的参数 193
10.4 指针数组 195
10.5 函数的指针 199
10.6 指针函数 200
10.7 结构体与指针 201
10.8 共用体与指针 203
10.8.1 共用体与指针的相关定义 203
10.8.2 共用体与指针的相关使用 204
10.9 链表 204
10.10 小结 206
10.11 上机实训 208
10.11.1 国名排序 209
10.11.2 数据排序 210
10.11.3 系数三角形 212
10.11.4 输入数组的调整 213
10.12 本章习题 214
第11章 位运算 219
11.1 数值在计算机中的表示 219
11.2 位运算 220
11.2.1 位运算及其运算符 220
11.2.2 说明 221
11.3 位段简介 222
11.4 上机实训 223
11.4.1 位运算交换两个整数 223
11.4.2 测试计算机的int型的字长 223
11.4.3 无符号整数转换成二进制数 224
11.4.4 取一个整数的指定位 224
11.5 本章习题 225
第12章 文件操作 227
12.1 C语言文件概述 227
12.2 文件指针 229
12.3 文件的打开与关闭 229
12.3.1 文件的打开 229
12.3.2 文件的关闭 230
12.4 文件的读写 231
12.4.1 读字符函数fgetc() 232
12.4.2 写字符函数fputc() 232
12.4.3 结构化文件的输入输出 232
12.4.4 其他常用库函数 233
12.5 文件的定位 234
12.5.1 函数rewind() 234
12.5.2 函数fseek() 234
12.5.3 函数ftell() 236
12.6 上机实训 236
12.6.1 通信录信息的录入处理 236
12.6.2 读入文件的显示 238
12.6.3 信息合并 238
12.6.4 学生成绩的录入 240
12.6.5 文件处理 240
12.7 本章习题 241
第13章 C++编程基础 246
13.1 概述 246
13.1.1 C++是一种面向对象的程序设计语言 246
13.1.2 C++的词法及词法规则 247
13.1.3 C++程序结构的组成 247
13.1.4 C与C++对比 248
13.1.5 学习C++的方法 249
13.2 面向对象的C++程序设计 249
13.2.1 对象 249
13.2.2 类 250
13.2.3 继承 250
13.2.4 消息 250
13.3 数据类型和运算符 250
13.3.1 数据分类 250
13.3.2 常量 253
13.3.3 运算符 254
13.4 C++的控制结构 255
13.5 构造函数和析构函数 257
13.6 类的构造 258
13.6.1 类的定义 258
13.6.2 定义类时应注意的事项 259
13.7 变量的引用 260
13.7.1 引用的定义 260
13.7.2 引用的应用 260
13.7.3 引用总结 263
13.8 静态数据成员和成员函数 263
13.8.1 静态数据成员 264
13.8.2 静态成员函数 264
13.9 运算符重载 265
13.10 上机实训 266
13.10.1 打折售货 266
13.10.2 累加和 267
13.10.3 素数判断 268
13.10.4 计算天数 268
13.10.5 裴波那契数列 269
13.11 本章习题 270
第14章 程序常见的错误、调试 273
14.1 程序的调试 273
14.1.1 好的程序编写习惯 273
14.1.2 C语言编写时容易出现的错误 274
14.2 Turbo C的使用与差错判定 278
14.2.1 Turbo C简介 278
14.2.2 Turbo C 3.0的安装和启动 279
14.2.3 Turbo C的错误报告及其处理 281
14.3 上机实训 288
14.3.1 计算PI值 288
14.3.2 简单二维数组的操作 290
14.3.3 指针的使用 291
14.3.4 编译后的连接 292
14.4 本章习题 293
附录A 常用字符与ASCII码对照表 298
附录B 运算符的优先级和结合性 300
附录C C库函数 301
习题参考答案 306