1.1 程序与程序设计语言 1
1.1.1 程序的基本概念 1
1.1.2 程序设计语言 1
第一章 C语言程序设计概述 1
1.2 算法与算法描述 2
1.2.1 算法的概念 2
1.2.2 算法的描述 3
1.3 C语言的发展与特点 5
1.3.1 C语言的发展概况 5
1.3.2 C语言程序的基本结构及其特点 6
1.4 C语言字符集、标识符与关键字 8
1.4.1 C语言字符集 9
1.4.2 标识符与关键字 9
1.4.3 C程序的书写风格 10
1.5.2 TC 2.0介绍 11
1.5 C程序的开发环境 11
1.5.1 C程序的开发过程 11
1.5.3 C程序的上机步骤 14
习题一 15
第二章 基本数据类型与表达式 17
2.1 C语言的基本数据类型 17
2.1.1 数据类型概述 18
2.1.2 整型 20
2.1.3 实型 21
2.1.4 字符型 21
2.2 常量与变量 22
2.2.1 常量 23
2.2.2 变量 23
2.3 运算符与表达式 25
2.3.1 算术运算符与算术表达式 25
2.3.2 赋值运算符与赋值表达式 27
2.3.3 逗号表达式 29
2.3.4 条件运算符 30
2.4 数据类型转换 31
2.4.1 类型自动转换 31
2.4.2 赋值转换 33
2.4.3 强制类型转换 33
习题二 34
第三章 输入输出和顺序结构程序设计 36
3.1 C语言的基本语句 36
3.1.1 简单语句 36
3.1.2 复合语句 37
3.2 格式输入输出函数 38
3.2.1 格式输入函数(scanf函数) 38
3.2.2 格式输出函数(printf函数) 41
3.3.1 单个字符输入函数(getchar函数) 46
3.3 字符输入输出函数 46
3.3.2 单个字符输出函数(putchar函数) 47
3.4 顺序结构程序设计举例 48
习题三 49
第四章 选择结构程序设计 52
4.1 关系运算符和关系表达式 52
4.1.1 关系运算符及其优先次序 52
4.1.2 关系表达式 52
4.2 逻辑运算符和逻辑表达式 53
4.2.1 逻辑运算符及其优先次序 53
4.2.2 逻辑表达式 54
4.3 if语句 56
4.3.1 if语句的三种格式 56
4.3.2 if语句的嵌套 58
4.3.3 条件运算符 59
4.4 switch语句 60
4.5 选择结构程序设计举例 62
习题四 65
第五章 循环结构程序设计 67
5.1 while循环 67
5.2 do-while循环 68
5.3 for循环 70
5.4 break、continue与goto语句 72
5.4.1 break语句 72
5.4.2 continue语句 73
5.4.3 goto语句 73
5.5 循环嵌套 74
5.6 几种循环结构比较 75
5.7 循环结构程序设计应用举例 75
习题五 79
6.1.1 一维数组的定义 82
6.1 一维数组 82
第六章 数组 82
6.1.2 一维数组元素的引用 83
6.1.3 一维数组的存储与初始化 84
6.2 二维数组 86
6.2.1 二维数组的定义 86
6.2.2 二维数组元素的引用 87
6.2.3 二维数组的存储与初始化 88
6.3 多维数组 90
6.3.1 多维数组的定义、引用与存储 90
6.3.2 多维数组的初始化 90
6.4 数组的应用 91
6.5 字符数组与字符串 98
6.5.1 字符数组的定义与初始化 99
6.5.2 字符串的概念及存储 99
6.5.3 字符串的输入与输出 100
6.5.4 字符串处理函数 104
6.6 典型例题分析 106
习题六 109
第七章 函数和编译预处理 114
7.1 程序结构与函数的定义 114
7.1.1 C语言程序的结构 114
7.1.2 函数的分类 115
7.1.3 函数的定义 116
7.2 函数的调用与执行 118
7.2.1 函数的参数与参数传递 118
7.2.2 函数的返回值 120
7.2.3 函数的调用方式 120
7.2.4 函数的执行 121
7.3 数组作为函数参数 122
7.3.1 数组元素作函数参数 122
7.3.2 数组名作为函数参数 123
7.4.2 函数的递归调用 126
7.4 函数的嵌套调用与递归 126
7.4.1 函数的嵌套调用 126
7.5 局部变量和全局变量 131
7.5.1 局部变量 131
7.5.2 全局变量 133
7.6 变量的存储 135
7.6.1 变量存储方式 135
7.6.2 变量的存储说明 135
7.7 编译预处理 137
7.7.1 预处理命令 138
7.7.2 宏定义 138
7.7.3 文件包含 142
7.7.4 条件编译 142
习题七 144
8.1.1 地址 146
第八章 指针 146
8.1 指针的定义 146
8.1.2 指针 147
8.2 指针变量 148
8.2.1 指针变量的定义 148
8.2.2 指针变量的赋值 149
8.2.3 指针变量的运算 151
8.2.4 指针变量的进一步说明 158
8.3 指针与数组 159
8.3.1 指向数组元素的指针 159
8.3.2 数组指针 160
8.3.3 指针数组 164
8.4 指针与字符串 165
8.4.1 字符串的表示 165
8.4.2 字符串指针变量与字符数组的区别 167
8.4.3 用指针数组表示字符串组 168
8.5 指针变量作为函数参数 169
8.5.1 形参是指针变量,实参是变量的地址 169
8.5.2 形参是指针变量,实参是指针变量 171
8.5.3 数组或指针变量作为函数的参数 172
8.5.4 指针数组作为函数的参数 177
8.6 函数指针变量与指针型函数 178
8.6.1 函数指针变量 178
8.6.2 指针型函数 179
8.7 二重指针与带参数的main函数 180
8.7.1 二重指针与指针数组的关系 180
8.7.2 main函数的参数 182
习题八 183
9.1 结构体 184
9.1.1 结构体的声明 184
第九章 结构体与共用体 184
9.1.2 结构体变量的引用及初始化赋值 186
9.1.3 嵌套结构体 186
9.2 结构体数组 188
9.2.1 结构体数组的定义和初始化 188
9.2.2 结构体数组成员的引用 189
9.3 结构体指针 189
9.3.1 指向结构体变量的指针 189
9.3.2 指向结构体数组的指针 191
9.3.3 用结构体变量和指向结构体变量的指针作为函数参数 192
9.4 链表的基本操作 193
9.4.1 链表基本知识 193
9.4.2 内存动态管理函数 194
9.4.3 建立链表 195
9.4.5 对链表的删除操作 197
9.4.4 输出链表 197
9.4.6 对链表的插入操作 199
9.4.7 对链表的综合操作 201
9.5 共用体 202
9.5.1 共用体的概念 202
9.5.2 共用型变量的定义 203
9.5.3 共用型变量的引用 204
9.5.4 共用体类型数据的特点 204
9.5.5 共用体变量的应用 205
9.6 枚举类型 206
9.7 用typedef定义 209
9.8 典型例题分析 210
习题九 210
第十章 文件和位运算 213
10.1 C文件的概念 213
10.3 文件操作函数 214
10.3.1 文件的打开与关闭 214
10.2 文件类型指针 214
10.3.2 读写字符函数 216
10.3.3 读写字符串函数 217
10.3.4 读写数据块函数 219
10.3.5 格式化读写函数(fprintf函数和fscanf函数) 221
10.4 文件的定位 222
10.4.1 移动位置指针函数(fseek) 222
10.4.2 确定当前位置函数(ftell) 223
10.4.3 位置复位函数(rewind) 223
10.5 文件检测函数 223
10.6 位运算和位段结构 224
10.6.1 位运算 224
10.6.2 位段结构 226
10.7 典型例题分析 228
习题十 230
11.1 勾股数 232
第十一章 程序设计综合应用 232
11.2 高斯八皇后问题 233
11.3 质因数分解 235
11.3.1 乘积形式分解 235
11.3.2 质因数指数形式分解 236
11.4 素数探求与合数世纪 237
11.4.1 探求区间素数 238
11.4.2 合数世纪 239
11.4.3 最小的连续n个合数 240
11.5 优美等式 241
11.5.1 优美乘积 241
11.5.2 优美和 242
11.5.3 桥本分式 243
11.6 泊松分酒 245
11.7 外索夫游戏 247
11.8 流水演示 250
习题十一 253
第十二章 C++简介 254
12.1 C++概述 254
12.2 C++对C的扩充 256
12.2.1 C++的输入输出 256
12.2.2 C++的行注释 260
12.2.3 Const常量 260
12.2.4 变量的引用 262
12.2.5 new与delete算符 266
12.3 C++面向对象程序设计简介 268
12.3.1 类与对象概述 269
12.3.2 类的使用 271
习题十二 272
实验 275
实验一 熟悉C程序开发环境 275
实验二 数据描述 276
实验三 顺序结构程序设计 278
实验四 选择结构程序设计 280
实验五 循环结构程序设计 282
实验六 数组 286
实验七 函数 289
实验八 指针 291
实验九 结构体与共用体 294
实验十 文件与位运算 297
附录 300
附录一 ASCII码表 300
附录二 C语言运算符和结合性一览表 301
附录三 C语言常用语法提要 302
附录四 常用C库函数 305
附录五 编译、连接与运行时出错提示信息 308
主要参考文献 312