第1章 C语言程序设计概述 1
1.1程序和程序设计的基本概念 1
1.2 C语言简介 2
1.2.1 C语言的发展历史 2
1.2.2 C语言的特点 3
1.2.3 C语言程序的基本结构及书写规则 3
1.2.4 C语言的基本标识符 5
1.3算法与程序设计 6
1.3.1算法的基本特征 6
1.3.2算法的基本要素 7
1.3.3算法描述的方法 8
1.3.4程序设计 10
习题1 12
第2章 数据类型、运算符与表达式 13
2.1 C语言的数据类型 13
2.2整型常量与变量 13
2.2.1常量与变量的概念 13
2.2.2整型常量 14
2.2.3整型变量 14
2.3实型常量与变量 16
2.3.1实型常量 16
2.3.2实型变量 16
2.4字符型常量与变量 18
2.4.1字符常量 18
2.4.2字符串常量 19
2.4.3符号常量 20
2.4.4字符型变量 20
2.5赋值运算符和赋值表达式 22
2.6算术运算符和算术表达式 23
2.6.1 C语言运算符简介 23
2.6.2算术运算符和算术表达式 23
2.6.3复合赋值运算符及表达式 25
2.6.4各类数值型数据之间的混合运算 25
2.6.5自增与自减运算符 28
2.7逗号运算符和逗号表达式 29
2.8位运算符 30
2.8.1位运算符和位运算 30
2.8.2位运算赋值运算符 33
2.9变量的地址和指针型变量 34
2.9.1变量的地址和指针型变量的概念 34
2.9.2指针型变量的定义和指针变量的基类型 35
2.9.3给指针变量赋值 36
2.9.4对指针变量的操作 37
习题2 39
第3章 顺序结构程序设计 44
3.1 C语句概述 44
3.2数据的输入/输出 47
3.2.1字符输入/输出函数 47
3.2.2格式输入/输出函数 48
3.3程序举例 58
习题3 61
第4章 分支结构程序设计 64
4.1关系运算符和关系表达式 64
4.1.1关系运算符 64
4.1.2关系表达式 65
4.2逻辑运算符和逻辑表达式 66
4.2.1逻辑运算符 66
4.2.2逻辑表达式 67
4.3 if语句以及用if语句构成的分支结构 67
4.3.1 if语句的两种基本形式 68
4.3.2嵌套的if语句 70
4.3.3条件表达式构成的分支结构 73
4.4 switch语句 75
4.4.1 switch语句及用switch语句构成的分支结构 75
4.4.2在switch语句体中使用break语句 76
4.5程序举例 77
习题4 80
第5章 循环结构程序设计 84
5.1 while语句以及用while语句构成的循环结构 84
5.1.1 while循环的一般形式 84
5.1.2 while循环的执行过程 84
5.2 do…while语句以及用do…while语句构成的循环结构 87
5.2.1 do…while语句构成的循环结构 87
5.2.2 do…while循环的执行过程 87
5.3 for语句以及用for语句构成的循环结构 90
5.3.1 for语句构成的循环结构 90
5.3.2 for循环的执行过程 91
5.3.3有关for语句的说明 91
5.4 break语句和continue语句在循环结构中的应用 94
5.4.1 break语句 94
5.4.2 continue语句 94
5.5循环的嵌套 95
5.6 3种循环的比较 98
5.7程序举例 99
习题5 102
第6章 数组与指针 108
6.1一维数组 108
6.1.1一维数组的定义 108
6.1.2一维数组元素的引用 109
6.1.3一维数组的初始化 112
6.1.4一维数组程序举例 112
6.2二维数组 114
6.2.1二维数组的定义 114
6.2.2二维数组元素的引用 115
6.2.3二维数组的初始化 116
6.2.4二维数组程序举例 117
6.3字符数组和字符串 119
6.3.1字符数组 119
6.3.2字符串 120
6.3.3字符串的输入输出 122
6.3.4字符串处理函数 123
6.3.5程序举例 126
6.4数组和指针 129
6.4.1一维数组和指针 129
6.4.2二维数组的地址 132
6.4.3指向二维数组的指针变量 134
6.4.4指针数组的定义和应用 136
6.5字符串和指针 138
6.5.1单个字符串的处理方法 138
6.5.2多个字符串的处理方法 140
6.6指向指针的指针 142
习题6 144
第7章 函数与指针 146
7.1概述 146
7.2函数的定义 146
7.3函数的参数和函数的值 148
7.3.1形式参数和实际参数 148
7.3.2函数的返回值 150
7.4函数的调用 151
7.4.1函数的简单调用 151
7.4.2函数的嵌套调用 153
7.4.3函数的递归调用 155
7.5函数与指针 159
7.5.1指针变量作为函数参数 159
7.5.2数组作为函数参数 159
7.5.3返回指针值的函数 162
7.5.4指向函数的指针 163
7.6有关指针的数据类型和指针运算的小结 165
7.6.1有关指针的数据类型的小结 165
7.6.2指针运算的小结 166
7.6.3 void指针类型 166
7.7变量的作用域 166
7.7.1局部变量 167
7.7.2全局变量 168
7.8变量的存储类别 169
7.8.1动态存储方式与静态存储方式 169
7.8.2 auto变量 170
7.8.3用static声明局部变量 170
7.8.4 register变量 171
7.8.5用extern声明外部变量 172
7.9内部函数和外部函数 173
7.10 main函数的参数 173
习题7 175
第8章 编译预处理 184
8.1宏定义 184
8.1.1无参宏定义 184
8.1.2带参宏定义 186
8.2文件包含 189
8.3条件编译 190
习题8 192
第9章 结构体与共用体 194
9.1结构体类型的定义 194
9.2结构体类型变量 195
9.2.1结构体变量的定义 195
9.2.2结构体变量的引用 197
9.2.3结构体变量的初始化 199
9.2.4结构体变量的输入与输出 199
9.3结构体类型数组 200
9.3.1结构体数组的定义 200
9.3.2结构体数组的初始化 201
9.3.3结构体数组的引用 202
9.4结构体类型指针 203
9.4.1指向结构体变量的指针 203
9.4.2指向结构体数组的指针 205
9.5结构体与函数 206
9.5.1结构体变量作为函数参数 206
9.5.2指向结构体变量的指针作为函数参数 207
9.5.3函数的返回值为结构体类型 209
9.6链表 210
9.6.1链表概述 211
9.6.2处理动态链表所需的函数 213
9.6.3链表的基本操作 214
9.7共用体 222
9.7.1共用体类型与共用体变量 222
9.7.2共用体变量的引用 224
9.7.3共用体变量的应用 225
9.8枚举类型 226
9.9用typedef定义类型 229
习题9 231
第10章 文件 233
10.1文件概述 233
10.1.1数据文件 233
10.1.2文件的存取方式 234
10.1.3文件指针类型 234
10.1.4文件操作的步骤 234
10.2文件的打开与关闭 235
10.2.1文件的打开(fopen函数) 235
10.2.2文件的关闭(fclose函数) 236
10.3文件的读写 237
10.3.1字符读写函数fgetc和fputc 237
10.3.2字符串读写函数fgets和fputs 239
10.3.3数据块读写函数fread和fwtrite 240
10.3.4格式化读写函数fscanf和fprintf 242
10.4文件的随机读写 243
10.4.1文件定位 243
10.4.2文件的随机读写 244
10.5文件检测函数 245
习题10 245
第11章 C++基础 247
11.1 C++概述 247
11.2 C++对C的扩充 249
11.2.1 C++的输入输出 249
11.2.2 C++的行注释 252
11.2.3 const常量定义与使用 253
11.2.4局部变量的定义与全局变量作用域运算符 255
11.2.5变量的引用 256
11.2.6函数重载 259
11.2.7带默认参数的函数 260
11.2.8内联函数 261
11.2.9 new和delete算符 263
11.3 C++面向对象程序设计 264
11.3.1类与对象 265
11.3.2构造函数与析构函数 269
11.3.3静态成员 275
11.3.4友元 277
11.3.5运算符重载 279
11.3.6继承与派生 282
11.3.7多态性与虚函数 286
11.4应用举例 292
习题11 296
附录A 常用字符与ASCII码对照表 297
附录B C99标准的新特性 298
附录C Turbo C常用标准库函数 300
参考文献 314