第1章 C语言概述 1
1.1 C语言的发展史 1
1.1.1 C语言的起源 1
1.1.2 C语言的集成开发环境 2
1.2 C语言程序的构成 2
1.2.1 C语言程序的构成 2
1.2.2 C语言程序逻辑顺序和程序样板 6
1.2.3 C语言的风格 7
1.3 C语言的单词 10
1.3.1 C语言基本字符集 10
1.3.2关键字 11
1.3.3标识符 12
1.3.4常量与常量的类型 12
1.3.5运算符 15
1.4 Dev-C++集成开发环境 17
1.4.1 Dev-C+++的工作环境 17
1.4.2 Dev-C+++的文件操作 19
1.4.3源文件的编译及运行 21
1.5练习题 21
第2章 数据类型与表达式 24
2.1 C语言的数据类型 25
2.1.1数据与数据类型 25
2.1.2基本数据类型 25
2.2变量与变量的存储 27
2.2.1变量 27
2.2.2整型变量及其存储方式 27
2.2.3浮点型变量及其存储方式 31
2.2.4字符变量 33
2.3表达式与表达式语句 34
2.3.1算术运算与赋值运算 34
2.3.2关系运算与逻辑运算 39
2.3.3位运算 41
2.3.4其他运算 42
2.4练习题 45
第3章 顺序结构程序设计 47
3.1算法及算法描述 47
3.1.1算法的特征 48
3.1.2算法的控制结构 48
3.1.3算法的描述方法 48
3.1.4结构化程序设计 50
3.2 C语言的基本语句 50
3.2.1 C语言的语法语义和语用 50
3.2.2 C语言的基本语句 51
3.3输入/输出函数 53
3.3.1格式化输出函数 54
3.3.2格式化输入函数 59
3.3.3字符输入函数 63
3.3.4字符输出函数 64
3.4顺序程序设计 64
3.4.1顺序结构 64
3.4.2顺序结构的经典算法 65
3.5练习题 68
第4章 选择结构程序设计 71
4.1 if语句构成的选择结构 72
4.1.1单边if语句 72
4.1.2双边if语句 73
4.1.3 if语句的嵌套 74
4.1.4 if-else-if语句 76
4.2 switch-case语句构成的选择结构 78
4.2.1 switch-case语句 78
4.2.2语句集合中不带break;语句 80
4.3编译预处理 82
4.3.1宏定义 82
4.3.2文件包含处理 84
4.3.3条件编译 86
4.4练习题 89
第5章 循环结构程序设计 93
5.1当型循环 94
5.1.1 while循环 94
5.1.2 do-while循环 95
5.2 for循环 97
5.2.1 for语句 97
5.2.2嵌套的循环结构 99
5.2.3 break跳出语句 101
5.2.4 continue语句 102
5.3经典算法 103
5.3.1求级数算法 103
5.3.2分离数字算法 104
5.3.3求最大公约数和最小公倍数算法 105
5.3.4素数算法 106
5.3.5字符表示数值的运算方法 106
5.4语句标号与goto语句 107
5.4.1语句标号 107
5.4.2 goto语句 107
5.4.3使用if-goto构成循环 107
5.5练习题 108
第6章 数组 111
6.1整型数组与实型数组 112
6.1.1一维数组 112
6.1.2二维数组 117
6.2字符数组 122
6.2.1字符串与字符串结束标志 122
6.2.2声明字符数组 122
6.2.3字符数组的初始化 123
6.2.4字符数组的引用 124
6.2.5字符数组的输出 126
6.2.6字符数组的输入 126
6.2.7处理字符串的标准函数 128
6.3练习题 134
第7章 函数 138
7.1函数的定义与调用 139
7.1.1函数概述 139
7.1.2函数的定义 139
7.1.3函数声明 144
7.1.4函数的调用 145
7.2函数的参数传递 149
7.2.1实参和形参之间的单向数值传递 149
7.2.2实参和形参之间的地址传递方式 150
7.3变量的属性 155
7.3.1内部变量与局部变量 155
7.3.2外部变量与全局变量 157
7.3.3变量的存储方式 159
7.4练习题 161
第8章 指针 165
8.1指针的定义与引用 166
8.1.1指针变量的概念 166
8.1.2指针变量的初始化 168
8.1.3指针变量的引用 169
8.1.4指针变量的赋值运算 170
8.2指针与数组 171
8.2.1数组元素的指针 171
8.2.2指针的加减运算 171
8.2.3指针与一维数组 172
8.2.4指针与二维数组 174
8.2.5字符串与字符指针 178
8.2.6指针数组 180
8.2.7指针的指针 181
8.3指针与函数 182
8.3.1指向函数的指针 182
8.3.2返回指针值的函数 185
8.3.3指针变量作为函数的参数 185
8.4练习题 188
第9章 自定义数据类型 192
9.1结构体类型 193
9.1.1结构体类型定义及结构体变量的声明 193
9.1.2结构体变量的初始化及引用 197
9.1.3结构体变量的应用 198
9.1.4结构体数组 201
9.1.5线性链表 203
9.2共用体 210
9.2.1共用体类型定义与共用体变量的声明 210
9.2.2共用体变量的使用 211
9.3用typedef定义类型别名 213
9.3.1 typedef语句 213
9.3.2定义各种类型的别名 214
9.4枚举类型 216
9.4.1枚举类型 217
9.4.2枚举变量 217
9.5练习题 218
第10章 文件 222
10.1文件的基本概念 223
10.1.1外存文件 223
10.1.2设备文件 225
10.1.3文件缓冲区 225
10.1.4文件指针 225
10.2文件操作 226
10.2.1打开与关闭文件 226
10.2.2文本文件数据的读写操作 228
10.2.3二进制文件数据的读写操作 232
10.3文件的定位 233
10.4上机考试文件举例 235
10.5练习题 238
第11章 软件基础知识 242
11.1算法 242
11.1.1算法的基本概念 242
11.1.2算法设计的基本方法 245
11.2数据结构 253
11.2.1数据结构的基本概念 254
11.2.2线性表 256
11.2.3栈和队列 261
11.2.4树与二叉树 264
11.2.5查找技术 269
11.2.6排序技术 269
11.3程序设计基础 270
11.3.1程序设计方法和风格 270
11.3.2结构化程序设计 272
11.3.3面向对象的程序设计 274
11.4软件工程基础 278
11.4.1软件工程基本概念 278
11.4.2软件危机与软件工程 279
11.4.3结构化分析方法 283
11.4.4结构化设计方法 288
11.4.5软件的测试 295
11.4.6程序的调试 299
11.5数据库设计基础 300
11.5.1数据库系统的基本概念 300
11.5.2数据模型 304
11.5.3关系代数 309
11.5.4数据库设计与管理 315
附录 ASCII码表 316