第1章 程序设计概述 1
1.1 计算机系统的工作原理 1
1.1.1 计算机系统的组成 1
1.1.2 计算机系统的工作过程 4
1.2 程序设计的基本知识 5
1.2.1 程序设计的基本概念 5
1.2.2 程序设计的步骤 6
1.2.3 程序设计语言 7
1.2.4 程序设计的方法 8
1.2.5 程序设计评判标准 9
1.3 算法的描述工具 10
1.3.1 自然语言 10
1.3.2 图形 10
1.3.3 计算机语言 11
1.3.4 算法描述举例 12
1.4 C语言概述 14
1.4.1 C语言的历史和特点 14
1.4.2 C语言程序的组成 15
1.5 Turbo C 2.0集成环境简介 16
1.5.1 Turbo C 2.0上机环境 16
1.5.2 C程序调试步骤 17
1.6 本章小结 21
1.7 练习题 21
1.7.1 名词解释 21
1.7.2 填空题 22
1.7.3 简答题 22
第2章 C语言的基本知识 23
2.1 数据类型概述 23
2.1.1 数据类型的概念 23
2.1.2 C语言的数据类型 23
2.2 数据的表示 24
2.2.1 常量 24
2.2.2 变量 25
2.3 三种基本类型的数据 26
2.3.1 整型数据 27
2.3.2 实型数据 30
2.3.3 字符型数据 31
2.4 数据的基本运算 35
2.4.1 运算概述 35
2.4.2 算术运算 36
2.4.3 赋值运算 37
2.4.4 关系运算 40
2.4.5 逻辑运算 41
2.4.6 各种类型数据间的混合运算 42
2.5 C语言的语句 43
2.5.1 语句的分类 43
2.5.2 语句的特点 45
2.6 本章小结 45
2.7 练习题 46
2.7.1 单选题 46
2.7.2 填空题 47
2.7.3 写出下列程序的运行结果 48
第3章 顺序结构的程序设计 49
3.1 顺序结构程序的概念 49
3.1.1 顺序结构的概念 49
3.1.2 顺序结构程序解决的问题 50
3.2 数据的输入和输出 50
3.2.1 数据的输出 51
3.2.2 数据的输入 57
3.3 顺序结构程序设计实例 61
3.3.1 一般程序界面的程序设计 61
3.3.2 简单计算的程序设计 62
3.4 本章小结 63
3.5 练习题 63
3.5.1 选择题 63
3.5.2 写出下列程序的运行结果 65
3.5.3 编程题 66
第4章 选择结构的程序设计 67
4.1 选择结构程序的概念 67
4.1.1 选择结构的概念 67
4.1.2 选择结构程序解决的问题 67
4.2 选择结构采用的语句 68
4.2.1 if语句 68
4.2.2 switch语句 73
4.3 选择结构程序设计实例 75
4.3.1 二路分支程序设计 76
4.3.2 多路分支程序设计 77
4.3.3 复杂条件的程序设计 79
4.3.4 嵌套条件的程序设计 80
4.4 本章小结 82
4.5 练习题 83
4.5.1 单选题 83
4.5.2 编程题 85
第5章 循环结构的程序设计 87
5.1 循环结构程序的概念 87
5.1.1 循环结构的概念 87
5.1.2 循环结构程序解决的问题 87
5.2 循环结构采用的语句 88
5.2.1 while语句 88
5.2.2 do-while语句 89
5.2.3 for语句 90
5.2.4 break语句和continue语句 92
5.2.5 几种循环语句的比较 93
5.3 循环结构程序设计实例 94
5.3.1 条件型循环的程序设计 94
5.3.2 计数循环的程序设计 96
5.3.3 嵌套循环的程序设计 97
5.4 本章小结 99
5.5 练习题 100
5.5.1 单选题 100
5.5.2 编程题 102
第6章 数组的程序设计 103
6.1 数组程序的概念 103
6.1.1 数组的基本概念 103
6.1.2 数组程序解决的问题 103
6.2 一维数组 104
6.2.1 一维数组的定义 104
6.2.2 一维数组的使用 106
6.2.3 一维数组的程序设计实例 108
6.3 二维数组 110
6.3.1 二维数组的定义 110
6.3.2 二维数组的使用 111
6.3.3 二维数组的程序设计实例 114
6.4 字符数组 115
6.4.1 字符数组的定义 115
6.4.2 字符数组的使用 116
6.4.3 字符数组的程序设计实例 119
6.5 本章小结 121
6.6 练习题 122
6.6.1 单选题 122
6.6.2 填空题 124
6.6.3 编程题 126
第7章 模块化的程序设计 127
7.1 模块化结构的概念 127
7.1.1 模块化程序设计 127
7.1.2 函数的基本知识 128
7.2 函数的定义与调用 130
7.2.1 函数定义 130
7.2.2 函数调用 132
7.2.3 数组作函数参数 137
7.3 存储类型 138
7.3.1 变量的作用域 138
7.3.2 变量的存储类型 141
7.3.3 函数的存储类型 148
7.3.4 存储类别小结 149
7.4 模块化程序设计实例 150
7.4.1 简单函数的程序设计 150
7.4.2 嵌套函数的程序设计 152
7.4.3 递归函数的程序设计 155
7.5 本章小结 157
7.6 练习题 157
7.6.1 单选题 157
7.6.2 填空题 159
7.6.3 写出下列程序的运行结果 160
7.6.4 编程题 162
第8章 指针的程序设计 163
8.1 指针的基本概念 163
8.1.1 指针的定义 163
8.1.2 引入指针的原因 164
8.2 指针变量 165
8.2.1 指针变量的定义与赋值 165
8.2.2 指针变量的引用 167
8.3 函数间用指针传递数据 170
8.3.1 指针变量作函数参数 170
8.3.2 指针函数 172
8.4 指向函数的指针变量 174
8.4.1 指向函数的指针变量的定义 174
8.4.2 指向函数的指针变量的使用 174
8.5 指向数组的指针变量 175
8.5.1 一维数组和指针 175
8.5.2 二维数组和指针 179
8.5.3 字符串和指针 183
8.6 指针数组和指向指针的指针 187
8.6.1 指针数组 187
8.6.2 指向指针的指针 190
8.7 指针程序设计实例 191
8.7.1 变量指针的程序设计 191
8.7.2 函数指针的程序设计 192
8.7.3 数组指针的程序设计 193
8.8 本章小结 194
8.9 练习题 195
8.9.1 单选题 195
8.9.2 写出下列程序的运行结果 196
8.9.3 编程题 198
第9章 构造的数据类型 199
9.1 构造数据类型概述 199
9.1.1 构造数据类型的分类 199
9.1.2 用typedef自定义类型 200
9.2 结构体类型的定义与使用 201
9.2.1 结构体类型的定义 201
9.2.2 结构体变量的定义与使用 202
9.2.3 结构体数组的定义与使用 206
9.2.4 结构体指针的定义与使用 207
9.3 共用体和枚举类型的定义与使用 209
9.3.1 共用体类型的定义与使用 209
9.3.2 枚举类型的定义与使用 211
9.4 构造数据类型的程序设计实例 213
9.4.1 结构体类型的程序设计实例 213
9.4.2 共用体类型的程序设计 217
9.4.3 枚举类型的程序设计 218
9.5 本章小结 219
9.6 练习题 220
9.6.1 单选题 220
9.6.2 写出下列程序的运行结果 221
9.6.3 编程题 222
第10章 编译预处理与位运算 223
10.1 编译预处理 223
10.1.1 编译预处理的作用及基本特点 223
10.1.2 文件包含 223
10.1.3 宏定义 224
10.1.4 条件编译 228
10.2 位运算 230
10.2.1 位运算的概念 230
10.2.2 位运算符 231
10.2.3 位段 235
10.2.4 位运算程序设计实例 237
10.3 本章小结 239
10.4 练习题 239
10.4.1 单选题 239
10.4.2 填空题 240
10.4.3 编程题 242
第11章 文件的程序设计 243
11.1 文件的基本概念 243
11.1.1 文件的定义及分类 243
11.1.2 文件程序解决的问题 244
11.2 文件处理 244
11.2.1 缓冲文件系统 245
11.2.2 文件的处理过程 246
11.2.3 文件处理采用的函数 247
11.3 文件程序设计实例 249
11.3.1 文件的建立 249
11.3.2 文件的读取 251
11.3.3 文件的修改 254
11.3.4 文件的复制 257
11.4 本章小结 259
11.5 练习题 259
11.5.1 单选题 259
11.5.2 填空题 261
11.5.3 编程题 262
第12章 图形程序设计 263
12.1 图形程序设计的基本概念 263
12.1.1 图形程序设计概念 263
12.1.2 显示器的显示方式 263
12.2 文本方式下的字符图形程序设计 265
12.2.1 一个简单的字符图形程序 265
12.2.2 字符图形程序设计常用的函数 266
12.2.3 字符图形程序设计实例 267
12.3 图形方式下的图形程序设计 270
12.3.1 一个简单的图形程序设计 270
12.3.2 图形程序设计常用的函数 271
12.3.3 复杂的图形程序设计 274
12.4 本章小结 282
12.5 练习题 283
12.5.1 阅读并上机调试下列程序,指出它们的功能效果 283
12.5.2 编程题 284
附录Ⅰ 字符的ASCII码表 285
附录Ⅱ C运算符的优先级与结合性 286
附录Ⅲ C的关键字 287
附录Ⅳ C的库函数 288
附录Ⅴ 常见的编译错误信息 291
参考文献 300