第1章 C语言基本知识 1
1.1 C语言发展简介 1
1.1.1 C语言的起源 1
1.1.2 C语言的标准化 1
1.2 C语言的特点 2
1.3 C语言程序的基本结构 2
1.3.1 C程序的构成 2
1.3.2 书写规则 4
1.4 C语言程序的开发过程 4
1.4.1 程序开发的一般步骤 4
1.4.2 上机操作 5
1.4.3 Turbo C使用简介 7
1.4.4 菜单命令简介 8
习题 10
第2章 数据类型、运算符与表达式 12
2.1 基本数据类型 12
2.1.1 整型(int) 12
2.1.2 浮点型(float) 13
2.1.3 字符型数据(char) 13
2.2 常量和变量 13
2.2.1 常量和符号常量 13
2.2.2 变量 16
2.2.3 变量初始化和赋初值 19
2.3 运算符和表达式 20
2.3.1 算术运算符和表达式 20
2.3.2 条件运算符“?:” 22
2.3.3 逗号运算符和逗号表达式 22
2.3.4 sizeof运算符 23
2.3.5 联合(组合)操作 23
2.3.6 “&”和“*”运算符 23
2.4 各类数值型数据的混合运算 23
2.5 Turbo C运算符的优先级 24
习题 25
第3章 顺序程序设计 27
3.1 C语句概述 27
3.2 程序的三种基本结构 28
3.2.1 三种基本结构的流程图 28
3.2.2 N-S图表示 30
3.3 赋值语句 31
3.4 数据输入输出的概念及在C语言中的实现 31
3.5 字符数据的输入输出 32
3.5.1 单个字符的输出——putchar()函数 32
3.5.2 单个字符的输入——getchar()函数 33
3.6 格式输出与输入 33
3.6.1 格式化输出——printf()函数 33
3.6.2 格式化输入——scanf()函数 38
3.7 顺序结构程序设计举例 42
习题 44
第4章 选择结构 47
4.1 关系运算符和关系表达式 47
4.1.1 关系运算符及其优先次序 47
4.1.2 关系表达式 48
4.2 逻辑运算符和逻辑表达式 48
4.2.1 逻辑运算符及其优先次序 48
4.2.2 逻辑表达式 49
4.3 if语句 51
4.3.1 if语句的三种形式 51
4.3.2 if语句的嵌套 54
4.3.3 条件运算符 55
4.4 swith语句 57
4.5 应用举例 60
习题 66
第5章 循环结构程序设计 69
5.1 概述 69
5.2 循环结构的三种语句 69
5.2.1 while语句 69
5.2.2 do-while语句 71
5.2.3 for语句 73
5.2.4 三种循环语句的比较 77
5.3 循环的嵌套 78
5.4 break语句与continue语句 80
5.4.1 Break语句 80
5.4.2 continue语句 81
5.5 程序举例 82
习题 86
第6章 数组 88
6.1 一维数组 88
6.1.1 一维数组的定义 88
6.1.2 一维数组的初始化 89
6.1.3 一维数组元素的引用 89
6.2 二维数组 91
6.2.1 二维数组的定义 91
6.2.2 二维数组的初始化 92
6.2.3 二维数组元素的引用 93
6.3 字符数组 95
6.3.1 字符数组的定义 95
6.3.2 字符数组的初始化 96
6.3.3 字符数组的引用 96
6.3.4 字符数组与字符串 97
6.3.5 字符数组的输入与输出 98
6.3.6 字符串处理函数 99
6.4 程序举例 104
习题 106
第7章 函数 109
7.1 概述 109
7.1.1 函数的概念 109
7.1.2 函数的分类 109
7.2 系统函数 110
7.2.1 数学函数 110
7.2.2 其他系统函数 111
7.3 函数的定义及调用 112
7.3.1 函数定义的一般形式 112
7.3.2 函数调用 114
7.3.3 函数的参数和函数的值 115
7.4 函数与数组 117
7.4.1 数组元素作函数实参 117
7.4.2 数组名作为函数参数 118
7.5 函数的嵌套与递归调用 121
7.5.1 函数的嵌套调用 121
7.5.2 函数的递归调用 123
7.6 变量的作用域及存储类型 124
7.6.1 局部变量和全局变量 124
7.6.2 变量的存储类别 128
7.6.3 内部函数和外部函数 133
习题 135
第8章 指针 137
8.1 指针概述 137
8.2 指针变量及运算 137
8.2.1 指针变量 137
8.2.2 指针变量的运算 138
8.3 指针与数组之间的关系 141
8.3.1 一维数组的指针 141
8.3.2 多维数组的指针 142
8.3.3 字符串指针变量的说明和使用 144
8.3.4 指针数组的说明与使用 147
8.4 指针与函数之间的关系 148
8.4.1 函数指针变量 148
8.4.2 指针型函数 149
8.4.3 main函数的参数 150
8.5 指向指针的指针变量 151
习题 153
第9章 结构体和共用体 156
9.1 结构体类型 156
9.1.1 结构体类型的定义 156
9.1.2 定义结构体类型变量的方法 158
9.1.3 结构变量的引用与初始化 159
9.2 结构体数组 160
9.2.1 结构体数组的定义 161
9.2.2 结构体数组的初始化 161
9.2.3 结构体数组的引用 162
9.3 指向结构体类型数据的指针 164
9.3.1 指向结构体变量的指针 164
9.3.2 指向结构体数组的指针 165
9.3.3 用结构体变量和指向结构体的指针作函数参数 166
9.3.4 链表 167
9.4 共用体类型 172
9.4.1 共用体类型的定义 172
9.4.2 共用体变量和数组的定义 172
9.4.3 共用体变量和数组的引用 173
9.5 枚举类型 175
9.6 用typedef定义类型 177
习题 178
第10章 编译预处理 180
10.1 预处理 180
10.1.1 概述 180
10.1.2 宏定义 180
10.2 文件包含 184
10.3 条件编译 185
习题 187
第11章 文件 189
11.1 文件概述 189
11.1.1 磁盘文件名 189
11.1.2 磁盘文件的分类 189
11.2 文件指针及文件的操作 190
11.2.1 文件型指针及文件型指针的定义 190
11.2.2 文件的打开与关闭函数 191
11.2.3 文件的顺序读写 193
11.2.4 文件的其他函数 202
习题 204
第12章 位运算 207
12.1 位运算 207
12.1.1 位运算及其运算符 207
12.1.2 位运算的复合赋值运算符 210
12.1.3 应用举例 210
12.2 位段简介 212
12.2.1 引入位段的原因 212
12.2.2 位段的概念与定义 212
12.2.3 说明 213
习题 214
第13章 图形 215
13.1 C语言图形概述 215
13.2 图形模式和初始化 215
13.3 基本图形函数 219
13.3.1 画点函数 219
13.3.2 画线函数 219
13.3.3 图形的填充 222
13.3.4 有关图形窗口和图形屏幕操作函数 224
13.3.5 图形模式下的文本输出 224
习题 227
第14章 面向对象的程序设计 229
14.1 概述 229
14.2 C++对C的非面向对象扩充 230
14.3 C++语言 240
14.3.1 面向对象程序设计的基本术语 240
14.3.2 C++主要特征 241
习题 253
附录A 标准ASCII字符集 255
附录B C语言中的关键字 256
附录C 运算符和结合性 257
附录D C语言的库函数 258
附录E 常用DOS命令 263
参考文献 267