第1章C语言程序设计基础 1
1.1简单C语言程序的构成和格式 1
1.2 C语言的特点 2
1.3练习题 3
第2章 数据类型与运算 5
2.1常量与变量 5
2.1.1常量与符号常量 5
2.1.2变量 6
2.2整型数据 6
2.2.1整型常量 6
2.2.2整型变量 8
2.2.3整型数据的分类 8
2.3实型数据 9
2.3.1实型常量 9
2.3.2实型变量 9
2.4字符型数据 9
2.4.1字符常量 9
2.4.2字符变量 11
2.5各种数据类型间的混合运算 11
2.6算数运算符和算数表达式 12
2.6.1基本算术运算符和算术表达式 12
2.6.2算术运算符的优先级和结合性 13
2.6.3强制类型转换运算符 13
2.6.4自加、自减运算符 13
2.7赋值运算符和赋值表达式 14
2.7.1赋值运算符和赋值表达式 14
2.7.2复合的赋值运算符 14
2.7.3赋值运算中的类型转换 15
2.8关系运算和逻辑运算 15
2.8.1关系运算符和关系表达式 15
2.8.2逻辑运算符和逻辑表达式 16
2.9逗号运算符和逗号表达式 17
2.10位运算 17
2.11练习题 18
第3章 顺序结构 21
3.1C语句概述 21
3.2格式数据输入输出 22
3.2.1 printf函数 22
3.2.2 scanf函数 25
3.3字符数据输入输出 27
3.3.1 putchar函数 27
3.3.2 getchar函数 28
3.4程序举例 28
3.5练习题 30
第4章 选择结构 34
4.1 if语句 34
4.1.1 if语句的三种基本形式 34
4.1.2嵌套的if语句 37
4.2 switch语句 40
4.3条件运算符和条件表达式 42
4.4练习题 43
第5章 循环结构 48
5.1用while语句构成循环 48
5.2用do -while语句构成循环 50
5.3用for语句构成循环 52
5.4循环的嵌套 55
5.5 break语句和continue语句 57
5.5.1 break语句 57
5.5.2 continue语句 58
5.6练习题 60
第6章 数组与字符串 65
6.1一维数组 65
6.2二维数组 67
6.3字符数组 70
6.3.1字符数组的定义和初始化 70
6.3.2字符数组输入和输出 70
6.4字符串处理函数 72
6.5练习题 74
第7章函数 81
7.1函数的定义和返回值 81
7.2函数的调用 82
7.2.1函数调用的形式 82
7.2.2对被调用函数的说明 83
7.2.3函数间变量作参数的传递 84
7.2.4函数的嵌套调用和递归调用 86
7.3函数间数组做参数的传递 87
7.3.1数组元素作函数实参 87
7.3.2数组名作函数实参 87
7.4局部变量和全局变量 90
7.4.1局部变量 90
7.4.2全局变量 91
7.5变量的存储类别 92
7.5.1局部变量的存储类别 92
7.5.2全局变量的存储类别 93
7.6编译预处理 94
7.6.1宏定义和调用 94
7.6.2文件包含 95
7.7练习题 96
第8章指针 104
8.1指针和指针变量的概念 104
8.2用指针访问变量 104
8.2.1指针变量的定义、赋值 104
8.2.2指针变量的引用 105
8.3数组与指针 106
8.3.1一维数组与指针 106
8.3.2二维数组与指针 108
8.4字符串与指针 108
8.5指针作函数参数 110
8.5.1指针变量作函数参数 110
8.5.2数组名作函数参数 111
8.5.3字符指针作函数参数 112
8.6返回指针值的函数 114
8.7指针数组和指向指针的指针 114
8.7.1指针数组 114
8.7.2指向指针的指针 115
8.8关于函数的进一步讨论 116
8.8.1 main()函数的参数 116
8.8.2指向函数指针变量的定义 116
8.9练习题 117
第9章 结构体与共用体 123
9.1用typedef定义新类型 123
9.2结构体类型 124
9.2.1结构体类型的定义 124
9.2.2结构体变量定义、成员引用和初始化 125
9.2.3结构体数组的定义、初始化和引用举例 128
9.2.4结构体指针变量 130
9.2.5结构体在函数内的传递 131
9.2.6用结构体构成链表 134
9.3共用体类型 137
9.3.1共用体变量的定义 137
9.3.2共用体变量的成员引用 137
9.3.3共用体类型数据的特点 137
9.4练习题 138
第10章文件 142
10.1 C语言文件的概念 142
10.2文件类型指针 142
10.3文件的打开和关闭 143
10.3.1文件的打开(fopen函数) 143
10.3.2文件的关闭(felose函数) 144
10.4文件的读写 144
10.4.1 fgetc函数和fputc函数 145
10.4.2 fgets函数和fputs函数 146
10.4.3 fread函数和fwrite函数 147
10.4.4 fscanf和fprintf函数 148
10.5文件的定位与检测 149
10.5.1文件的定位 149
10.5.2文件的检测函数 151
10.6练习题 151
第11章数据结构与算法 154
11.1算法与数据结构的基本概念 154
11.1.1算法的描述与分析 154
11.1.2数据结构的基本概念 156
11.2线性表 156
11.2.1线性表的顺序存储结构 157
11.2.2线性表的链式存储结构 158
11.3栈和队列 158
11.3.1栈及其基本运算 158
11.3.2队列及其基本运算 159
11.4二叉树 161
11.4.1二叉树的基本概念 161
11.4.2二叉树的性质 163
11.4.3二叉树的遍历 164
11.5查找与排序 165
11.5.1查找技术 165
11.5.2排序技术 166
11.6练习题 169
第12章 程序设计基础 171
12.1结构化程序设计 171
12.1.1结构化程序设计的原则和方法 171
12.1.2结构化程序的基本结构与特点 172
12.2面向对象程序设计 173
12.2.1关于面向对象方法 173
12.2.2面向对象方法的基本概念 174
12.3练习题 176
第13章 软件工程 177
13.1软件工程基本概念 177
13.1.1软件的定义与软件生命周期 177
13.1.2软件开发工具与软件开发环境 181
13.2结构化分析方法和设计方法 182
13.2.1结构化分析方法 182
13.2.2结构化设计方法 184
13.3软件测试 188
13.3.1软件测试的目的和准则 188
13.3.2软件测试技术与方法 189
13.3.3软件测试的过程 193
13.4程序的调试 194
13.5练习题 196
第14章数据库 198
14.1数据库的基本概念 198
14.1.1数据库的基本概念 198
14.1.2数据库系统的基本特点 200
14.2数据模型 201
14.2.1数据模型的基本概念 201
14.2.2数据模型的组成要素 202
14.2.3 E-R模型 202
14.2.4层次模型 204
14.2.5网状模型 205
14.2.6关系模型 205
14.3关系代数 208
14.3.1传统的集合运算 209
14.3.2专门的关系运算 210
14.4数据库设计方法及步骤 213
14.4.1数据库设计方法 214
14.4.2数据库设计步骤 215
14.5练习题 216
第15章C语言上机指导 219
15.1实验一:熟悉C语言的运行环境 219
实验目的 219
实验要求 219
15.2实验二:数据类型和运算符的运用 221
实验目的 221
实验要求 222
15.3实验三:格式输入输出 223
实验目的 223
实验要求 224
15.4实验四:选择语句的应用 225
实验目的 225
实验要求 225
15.5实验五:while和do…while语句的应用 227
实验目的 227
实验要求 227
15.6实验六:for语句和嵌套循环语句的应用 229
实验目的 229
实验要求 230
15.7实验七:一维数组的应用 232
实验目的 232
实验要求 232
15.8实验八:二维数组的应用 234
实验目的 234
实验要求 235
15.9实验九:字符数组的应用 238
实验目的 238
实验要求 238
15.10实验十:函数的定义和调用 241
实验目的 241
实验要求 241
15.11实验十一:数组作为函数参数 244
实验目的 244
实验要求 244
15.12实验十二指针变量的定义、数组和指针 249
实验目的 249
实验要求 249
15.13实验十三:指针作函数参数 252
实验目的 252
实验要求 252
15.14实验十四:结构体的应用 257
实验目的 257
实验要求 257
15.15实验十五:用指针处理链表 261
实验目的 261
实验要求 261
15.16实验十六:文件的应用 267
实验目的 267
实验要求 267
附录1 C语言中的关键字 271
附录2 C语言中的运算符及优先级 272
附录3常用字符与ASCII码对照表 274
附录4库函数 275