1.1 C语言概况 1
1.1.1 C语言的发展 1
1.1.2 C语言的特点 1
第1章 C语言概述 1
1.2 简单的C语言程序 2
1.3 算法 5
1.3.1 算法概述 5
1.3.2 算法的表示 6
本章小结 7
习题一 8
2.1 数据类型 9
2.1.1 数据类型概述 9
第2章 数据类型、运算符和表达式 9
2.1.2 整型 10
2.1.3 实型 11
2.1.4 字符型 11
2.2 标识符、常量与变量 12
2.2.1 标识符 12
2.2.2 常量 12
2.2.3 变量 15
2.3 运算符与表达式 21
2.3.1 算术运算符与算术表达式 22
2.3.2 赋值运算符与赋值表达式 25
2.3.3 逗号运算符与逗号表达式 27
2.4 数据类型转换 28
2.4.1 类型转换概述 28
2.4.2 自动类型转换 29
2.4.3 赋值类型转换 30
2.4.4 强制类型转换 30
2.5 程序举例 31
本章小结 32
习题二 33
第3章 简单程序设计 35
3.1 C语言语句 35
3.2 程序结构 36
3.2.1 程序结构简介 36
3.2.2 顺序结构 38
3.3 赋值语句 38
3.4.1 格式化输出函数printf 39
3.4 数据输入与输出 39
3.4.2 格式化输入函数scanf 43
3.4.3 字符数据的输入与输出 47
3.5 程序举例 48
本章小结 51
习题三 52
第4章 选择结构程序设计 56
4.1 关系运算符与关系表达式 56
4.1.1 关系运算符 56
4.1.2 关系表达式 57
4.2 逻辑运算符与逻辑表达式 57
4.2.1 逻辑运算符 57
4.2.2 逻辑表达式 58
4.3.2 双分支if语句 59
4.3.1 单分支if语句 59
4.3 if语句 59
4.3.3 多分支选择结构 60
4.3.4 if语句的嵌套 62
4.3.5 条件运算符和条件表达式 64
4.4 switch语句 65
4.5 程序举例 67
本章小结 70
习题四 70
第5章 循环结构程序设计 75
5.1 循环的基本概念 75
5.1.1 方法的探索 75
5.2 while循环 76
5.1.2 循环结构语句 76
5.3 do-while循环 78
5.4 for循环 79
5.5 循环嵌套 81
5.6 break语句、continue语句和goto语句 82
5.6.1 break语句 82
5.6.2 continue语句 83
5.6.3 goto语句 84
5.7 程序举例 84
本章小结 86
习题五 87
第6章 数组 93
6.1 一维数组 93
6.1.1 一维数组的定义 93
6.1.2 一维数组元素的引用 94
6.1.3 一维数组的存储和初始化 95
6.1.4 一维数组的应用 95
6.2 二维数组 96
6.2.1 二维数组的定义 96
6.2.2 二维数组元素的引用 97
6.2.3 二维数组的存储和初始化 98
6.2.4 二维数组的应用 98
6.3 字符数组与字符串 100
6.3.1 字符数组的定义与初始化 101
6.3.2 字符串 102
6.3.3 字符串的应用 106
6.4 程序举例 107
习题六 110
本章小结 110
第7章 函数 114
7.1 概述 114
7.1.1 模块化程序设计方法 114
7.1.2 函数的定义 116
7.1.3 函数的调用 119
7.2 函数的参数和函数的值 121
7.2.1 函数的参数 121
7.2.2 函数的返回值 122
7.2.3 对被调函数的声明 122
7.3 函数间的参数传递 125
7.3.1 值传递 125
7.3.2 地址传递 126
7.4.2 数组名作为函数实参 127
7.4 数组作为函数参数 127
7.4.1 数组元素作为函数的实参 127
7.5 函数的嵌套调用与递归调用 130
7.5.1 函数的嵌套调用 130
7.5.2 函数的递归调用 132
7.6 变量的作用域和存储方式 134
7.6.1 变量的作用域 134
7.6.2 变量的存储方式 135
7.6.3 内部函数和外部函数 140
7.7 程序举例 140
本章小结 144
习题七 145
8.1.1 指针的概念 151
8.1 指针的基本概念 151
第8章 指针 151
8.1.2 指针变量的定义与初始化 152
8.1.3 指针的运算及引用 153
8.1.4 指针作为函数参数 156
8.1.5 多级指针的概念 158
8.2 指针与数组 159
8.2.1 指针与一维数组 159
8.2.2 指针与二维数组 163
8.2.3 指针与字符串 166
8.2.4 指针数组 169
8.3 指针与函数 172
8.3.1 指向函数的指针 172
8.3.2 返回指针的函数 174
8.3.3 带参数的主函数 175
8.4 程序举例 176
本章小结 179
习题八 181
第9章 结构体、共用体与枚举 187
9.1 结构体 187
9.1.1 结构体类型的定义 187
9.1.2 结构体变量的说明 188
9.1.3 结构体变量的初始化 190
9.1.4 结构体变量的引用 190
9.1.5 结构体数组 192
9.1.6 结构体指针 195
9.1.7 结构体与函数 197
9.1.8 动态内存分配与链表 200
9.2.1 共用体类型的定义 208
9.2 共用体 208
9.2.2 共用体变量的说明 209
9.2.3 共用体变量的引用 210
9.3 枚举类型 212
9.3.1 枚举类型的定义 213
9.3.2 枚举变量的说明及引用 213
9.3.3 枚举类型的应用 214
9.4 用户定义类型 215
9.5 程序举例 217
本章小结 221
习题九 222
10.1.2 原码 229
10.1.1 字节与位 229
10.1 几个基本概念 229
第10章 位运算 229
10.1.3 反码 230
10.1.4 补码 230
10.2 位运算符和位运算 230
10.2.1 按位取反 231
10.2.2 按位与 231
10.2.3 按位或 231
10.2.4 按位异或 231
10.2.5 左位移 232
10.2.6 右位移 232
10.3 程序举例 232
习题十 234
本章小结 234
第11章 文件 237
11.1 文件概述 237
11.1.1 文件的概念 237
11.1.2 文件的分类 237
11.2 文件操作 239
11.2.1 FILE文件类型指针 239
11.2.2 文件的打开操作 240
11.2.3 文件的关闭操作 241
11.2.4 文件的读/写操作 242
11.3 文件的定位 249
11.3.1 置文件位置指针于文件开头位置的函数rewind 249
11.3.2 改变文件位置指针位置的函数fseek 250
11.4 编译预处理 251
11.3.3 取得文件当前位置的函数ftell 251
11.3.4 文件的错误检测 251
11.4.1 宏定义 252
11.4.2 文件包含 254
11.4.3 条件编译 254
11.5 程序举例 256
本章小结 258
习题十一 258
第12章 面向对象程序设计及C++简介 261
12.1 C++概述 261
12.1.1 C++语言的发展 261
12.1.2 C++语言的特点 262
12.1.3 面向对象程序设计概述 262
12.2.1 几个简单的C++程序 265
12.2 C++程序结构 265
12.2.2 C++程序的基本组成 266
12.2.3 数据的输入和输出 267
12.3 C++程序的编辑与运行 269
12.3.1 Visual C++开发环境 270
12.3.2 C++程序的开发过程 271
本章小结 273
习题十二 274
附录A 常用字符与ASCII码对照表 276
附录B Turbo C 2.0常用库函数 278
附录C C语言运算符表 285
参考文献 287