1.1 程序与程序语言 1
1.1.1 程序与程序语言 1
第一章 程序设计基础知识 1
1.1.2 程序设计 2
1.2 算法和算法的表示 3
1.2.1 算法的概念 3
1.2.2 算法的基本特征 6
1.2.3 算法的表示 6
1.2.4 几种常用算法介绍 9
1.3 结构化程序设计方法 13
1.3.1 程序的三种基本结构 13
1.3.2 N-S流程图 15
1.3.3 结构化程序设计方法 16
本章小结 19
习题一 20
2.1.1 C语言的发展 22
第二章 C语言概述 22
2.1 C语言概况 22
2.1.2 C语言的特点 23
2.2 C程序的基本结构 24
2.3 C语言的基本组成 26
2.3.1 基本字符集 26
2.3.2 标识符 27
2.3.3 关键字 27
2.3.4 语句 27
2.3.5 标准库函数 28
2.4 C程序的上机执行过程 28
2.4.1 C程序的上机执行过程 28
2.4.2 Turbo C使用初步 30
本章小结 33
习题二 34
3.1.2 C语言中的数据类型 36
3.1.1 什么是数据和数据类型 36
3.1 数据与数据类型 36
第三章 数据类型与运算规则 36
3.2 C语言的基本数据类型及其表示 37
3.2.1 常量与变量 37
3.2.2 整型数据及其表示 39
3.2.3 实型数据及其表示 43
3.2.4 字符型数据及其表示 45
3.2.5 指针型数据及其表示 48
3.2.6 变量的初始化 49
3.3 算术运算与赋值运算 50
3.3.1 C语言中的运算规则 50
3.3.2 算术运算符与算术表达式 52
3.3.3 自加、自减运算 53
3.3.4 赋值运算符和赋值表达式 54
3.3.5 组合赋值运算符和组合赋值表达式 55
3.4 关系运算与逻辑运算 57
3.4.1 关系运算符与关系表达式 57
3.4.2 逻辑运算符与逻辑表达式 58
3.4.3 条件运算符与条件表达式 59
3.5 位运算 60
3.5.1 位运算符 60
3.5.2 按位逻辑运算 60
3.5.3 移位运算 62
3.6.1 逗号运算符 63
3.6.2 “.”和“- >”运算符 63
3.6 其它运算 63
3.5.4 位运算赋值运算符 63
3.6.3 “()”和“[]”运算符 64
3.6.4 “*”和“ ”运算符 64
3.6.5 (type)运算符 64
3.6.6 sizeof运算符 64
3.7 混合运算及数据类型转换 65
3.7.1 混合运算 65
3.7.2 数据类型转换 65
3.8 应用实例 66
习题三 68
本章小结 68
第四章 顺序结构的程序设计 72
4.1 C语句概述 72
4.1.1 流程控制语句 72
4.1.2 表达式语句 73
4.1.3 复合语句 73
4.1.4 空语句 74
4.2 赋值语句 74
4.3 数据输出 75
4.3.1 格式化输出函数printf 75
4.3.2 格式字符串 75
4.4 数据输入 77
4.4.1 格式化输入函数scanf 77
4.4.2 格式字符串 78
4.4.3 关于输入方法 78
4.5 程序实例 79
本章小结 80
习题四 81
第五章 选择结构的程序设计 85
5.1 用if语句设计选择结构程序 85
5.1.1 简单if语句 85
5.1.2 控制条件的表示 87
5.1.3 if_else语句 88
5.1.4 嵌套的if语句 89
5.2.1 switch语句 92
5.2 用switch语句设计多分支结构程序 92
5.2.2 嵌套switch语句 95
5.3 无条件转向语句 95
5.4 应用实例 97
本章小结 101
习题五 101
第六章 循环结构的程序设计 106
6.1 循环的基本概念 106
6.2 用while语句设计循环结构程序 108
6.3 用do_while语句设计循环结构程序 109
6.4 用for语句设计循环结构程序 111
6.5 break语句与continue语句 113
6.5.1 break语句 113
6.5.2 continue语句 114
6.6 几种循环语句的比较 115
6.7 循环的嵌套 118
6.8 应用实例 119
本章小结 125
习题六 126
第七章 数组 130
7.1 数组的基本概念 130
7.2 一维数组 131
7.2.1 一维数组的定义 131
7.2.2 一维数组的引用 132
7.2.3 一维数组的初始化 133
7.2.4 一维数组的应用 134
7.3.1 二维数组的定义 142
7.3 二维数组 142
7.3.2 二维数组的引用 143
7.3.3 二维数组的初始化 143
7.3.4 二维数组的应用 144
7.4 应用实例 147
本章小结 153
习题七 153
8.1.1 字符型数据 158
8.1.2 字符数据的输入输出 158
8.1 字符与字符串 158
第八章 字符数据处理 158
8.2 字符数组 160
8.2.1 一维字符数组的定义 160
8.2.2 一维字符数组的初始化 161
8.2.3 一维字符数组的引用 161
8.2.4 字符串的输入输出 161
8.3 字符串处理函数 164
8.3.1 字符串复制 164
8.3.2 求字符串的长度 165
8.3.3 字符串连接 166
8.3.4 字符串比较 168
8.3.5 大小写字母的转换 169
8.4 二维字符数组 170
8.4.1 二维字符数组的定义 170
8.4.2 二维字符数组的初始化 170
8.4.3 二维字符数组的引用 171
8.5 应用实例 172
习题八 176
本章小结 176
第九章 函数 180
9.1 C程序的模块化结构 180
9.1.1 概述 180
9.1.2 函数的种类 181
9.2 函数的定义 182
9.2.1 函数定义的一般形式 182
9.2.3 有参函数的定义 183
9.2.2 无参函数的定义 183
9.2.4 空函数 184
9.3 数据在函数之间的传递 185
9.3.1 形参与实参 185
9.3.2 数的返回值 188
9.4 函数的调用 192
9.4.1 函数的调用方式 192
9.4.2 对被调函数的声明和函数原型 193
9.5 数组作函数的参数 194
9.5.1 数组元素作函数的参数 194
9.5.2 数组名做函数的参数 195
9.5.3 多维数组做函数的参数 196
9.6 函数的嵌套调用 196
9.7 变量的存储属性 197
9.7.1 变量的生存期和作用域 197
9.7.2 自动变量 199
9.7.3 外部变量 200
9.7.4 静态变量 203
9.7.5 寄存器变量 205
9.7.6 变量存储类型的总结 206
9.8 函数的递归调用 207
9.8.1 递归的基本概念 207
9.8.2 递归程序的执行过程 207
9.8.3 数值型递归问题的求解方法 209
9.8.4 非数值型递归问题的求解方法 210
9.8.5 关于递归的几点说明 214
9.9 工程文件 215
9.10 编译预处理 216
9.10.1 宏定义 217
9.10.2 文件包含 219
9.11 库函数简介 220
本章小结 221
习题九 222
10.1.1 指针与指针变量 226
第十章 指针 226
10.1 指针基本概念 226
10.1.2 指针变量的说明 227
10.1.3 指针的引用和运算 227
10.1.4 指针变量的初始化 228
10.1.5 引用指针变量 229
1O.2 指针与函数 229
10.2.1 指针作函数的参数 229
1O.2.2 函数返回指针 232
10.2.3 指向函数的指针 232
10.3 数组与指针 233
10.3.1 通过指针引用一维数组中的元素 233
10.3.2 指针基本运算 235
10.3.3 通过指针引用二维数组中的元素 238
10.4 指针与字符串 239
10.4.1 字符数组与字符指针 239
10.4.2 常见的字符串操作 240
10.5.1 指针数组与数组指针 242
10.5 指针数组 242
10.5.2 main函数的参数 245
1O.6 多级指针 246
10.7 应用实例 248
本章小结 251
习题十 252
第十一章 结构类型及其它构造类型 257
11.1 结构类型 257
11.1.1 结构类型的概念与定义 257
11.1.2 结构变量的说明 258
11.1.3 引用结构中的成员 260
11.1.4 结构的初始化 261
11.2 结构数组 262
11.3 结构指针 268
11.4 在函数之间传递结构 272
11.4.1 向函数传递结构的成员 272
11.4.2 向函数传递整个结构 273
11.4.3 向函数传递结构的地址 275
11.5 联合 279
11.6 用typedef定义类型 281
11.7 枚举类型 282
11.7.1 枚举的概念 282
11.7.2 枚举运算 283
本章小结 284
习题十一 284
12.1.1 什么是文件 290
12.1.2 C文件的分类 290
第十二章 文件 290
12.1 文件概述 290
12.2 文件的处理 292
12.2.1 文件类型指针 292
12.2.2 文件的一般操作过程 293
12.2.3 打开文件函数fopen() 293
12.3.1 文件的字符输入/输出函数 295
12.3 文件的顺序读写操作 295
12.2.4 关闭文件函数fclose() 295
12.3.2 文件的字符串输入/输出函数 298
12.3.3 文件的格式化输入/输出函数 301
12.3.4 文件的数据块输入/输出函数 302
12.4 文件的随机读写操作 304
12.4.1 改变文件位置指针函数fseek() 304
12.4.2 位置指针重返文件头函数rewind() 305
12.4.3 位置指针当前值函数ftell() 305
12.5 文件操作的状态和出错检测 306
12.5.1 文件状态检测函数feof() 306
12.5.2 报告文件操作错误状态函数ferror() 306
12.5.3 清除错误标志函数clearer() 307
12.6 应用实例 308
本章小结 310
习题十二 310
13.1 面向对象程序设计的基本概念 313
13.1.1 什么是面向对象程序设计 313
第十三章 面向对象程序设计与C++简介 313
13.1.2 面向对象系统的特征 314
13.1.3 面向对象编程特征 315
13.1.4 面向对象语言 316
13.2 C++与Visual C++简介 317
13.2.1 由C到C++ 317
13.2.2 C++是C的扩充 317
13.2.3 一个简单的C++程序 319
13.2.4 C++的类与对象 320
13.2.5 Visual C++简介 322
13.3 Windows环境下编程简介 322
本章小结 323
习题十三 323
附录A C语言运算符的优先级与结合性 325
附录B C语言中的关键字 326
附录C Turbo C 2.O常用库函数 326
附录D 常用字符与ASCII代码对照表 336
参考文献 337