C语言程序设计目录
第1章 C语言概述.... 1
1.1 C语言的发展与特点... 1
1.1.1 C语言的发展... 1
1.1.2 C语言的特点... 3
1.2 C程序的基本组成... 3
1.3 程序算法简介... 5
1.3.1 算法举例... 5
1.3.2 算法应具备的特性... 6
1.3.3 流程图表示法... 7
1.3.4 N-S流程图表示法... 8
1.4 使用Visual C++编写一个程序... 9
1.4.1 创建新项目... 9
1.4.2 设置项目选项... 10
1.4.3 创建新CPP文件... 11
1.4.4 编译与执行示例程序... 12
1.5 上机实验... 13
1.6 练习题... 14
第2章 基本数据类型及运算符.... 16
2.1 C语言标识符... 16
2.2 基本数据类型... 17
2.3 常量... 19
2.3.1 整型、实型及符号常量... 19
2.3.2 字符型常量... 20
2.4 变量... 22
2.4.1 变量的概念... 22
2.4.2 变量的定义与初始化... 23
2.5 表达式... 23
2.5.1 运算符简介... 23
2.5.2 算术运算符和算术表达式... 24
2.5.3 赋值运算符和赋值表达式... 24
2.5.4 逗号运算符和逗号表达式... 25
2.6 类型转换... 25
2.7 位运算... 26
2.8 上机实验... 30
2.9 练习题... 32
第3章 顺序结构程序设计.... 34
3.1 程序的3种基本控制结构... 34
3.2 顺序执行语句... 36
3.3 格式化输出函数printf()38
3.3.1 printf()函数的一般格式... 38
3.3.2 格式指示符... 39
3.3.3 使用说明... 40
3.4 格式化输入函数scanf()41
3.4.1 scanf()函数的一般格式... 41
3.4.2 格式指示符... 42
3.4.3 使用说明... 43
3.5 单个字符的输入/输出函数... 45
3.6 上机实验... 46
3.7 练习题... 48
第4章 选择结构程序设计.... 51
4.1 关系运算及其表达式... 51
4.1.1 关系运算符及其优先次序... 51
4.1.2 关系表达式... 52
4.2 逻辑运算及其表达式... 53
4.2.1 逻辑运算符及其优先次序... 53
4.2.2 逻辑表达式... 54
4.3 if语句... 54
4.3.1 单分支if语句... 54
4.3.2 双分支if语句... 55
4.3.3 多分支if语句... 57
4.4 switch语句... 58
4.5 上机实验... 62
4.6 练习题... 63
第5章 循环结构程序设计.... 66
5.1 while语句... 66
5.2 do-while语句... 69
5.3 for语句... 72
5.4 break语句和continue语句... 75
5.5 循环结构的嵌套... 80
5.6 goto语句... 83
5.7 循环结构程序设计应用... 84
5.7.1 穷举法... 84
5.7.2 迭代法... 87
5.8 上机实验... 89
5.9 练习题... 91
第6章 数组.... 96
6.1 数组概述... 96
6.2 一维数组的定义和引用... 97
6.2.1 一维数组的定义... 97
6.2.2 一维数组的初始化... 98
6.2.3 一维数组的引用... 99
6.2.4 一维数组程序实例... 100
6.3 二维数组的定义和引用... 101
6.3.1 二维数组的定义... 101
6.3.2 二维数组元素的引用... 102
6.3.3 二维数组的初始化... 102
6.4 字符数组... 105
6.4.1 字符数组的定义... 105
6.4.2 字符数组的初始化... 106
6.4.3 字符数组的引用... 106
6.4.4 字符串和字符串结束标志... 107
6.4.5 字符数组的输入/输出... 107
6.4.6 字符串处理相关函数... 109
6.4.7 字符串应用举例... 112
6.5 多维数组... 114
6.6 上机实验... 115
6.7 练习题... 120
第7章 函数.... 123
7.1 函数概述... 123
7.2 函数的定义... 125
7.2.1 函数定义的一般形式... 125
7.2.2 无参函数的一般形式... 126
7.2.3 有参函数的一般形式... 126
7.2.4 空函数... 127
7.3 函数参数和函数的值... 128
7.3.1 形式参数和实际参数... 128
7.3.2 函数的返回值... 131
7.3.3 函数返回值的类型... 134
7.4 函数的调用... 135
7.4.1 函数的调用方式... 135
7.4.2 对被调函数的声明和函数原型... 136
7.5 变量的存储属性... 137
7.5.1 变量的生存期和作用域... 138
7.5.2 自动变量... 140
7.5.3 外部变量... 141
7.5.4 静态变量... 144
7.5.5 寄存器变量... 146
7.6 数组作为函数参数... 147
7.6.1 数组元素作为函数参数... 147
7.6.2 数组名作为函数参数... 148
7.7 函数的嵌套调用... 150
7.8 递归函数... 151
7.8.1 递归模型... 151
7.8.2 递归的执行过程... 152
7.9 库函数... 154
7.10 上机实验... 155
7.11 练习题... 158
第8章 编译预处理.... 161
8.1 预处理概述... 161
8.2 宏定义... 162
8.2.1 不带参数的宏定义... 162
8.2.2 带参数的宏定义... 165
8.3 文件包含... 170
8.4 条件编译... 172
8.5 上机实验... 175
8.6 练习题... 176
第9章 指针.... 178
9.1 指针与指针变量... 178
9.2 指针变量的定义与引用... 179
9.2.1 指针变量的定义... 179
9.2.2 指针变量的引用... 180
9.3 指针运算符的使用... 181
9.3.1 指针运算符与指针表达式... 181
9.3.2 指针变量作函数的参数... 183
9.4 指针变量与数组... 184
9.4.1 指针与一维数组... 184
9.4.2 指针与二维数组... 189
9.4.3 数组指针作函数的参数... 192
9.4.4 指针变量与字符串... 194
9.5 指针的地址分配... 198
9.6 指针数组... 200
9.7 指向指针的指针... 203
9.8 main函数的参数... 206
9.9 上机实验... 208
9.10 练习题... 211
第10章 结构体与共用体.... 214
10.1 结构体类型变量的定义和引用... 214
10.1.1 结构体类型变量的定义... 216
10.1.2 结构体变量的定义... 217
10.1.3 结构体类型变量的引用... 218
10.1.4 结构体类型变量的初始化... 219
10.2 结构体数组的定义和引用... 220
10.3 结构体指针的定义和引用... 220
10.3.1 指向结构体类型变量的使用... 221
10.3.2 指向结构体类型数组的指针的使用... 222
10.4 链表... 224
10.4.1 建立单链表... 224
10.4.2 查找运算... 226
10.4.3 输出链表... 226
10.4.4 插入运算... 227
10.4.5 删除运算... 228
10.4.6 释放链表... 229
10.5 联合... 231
10.6 枚举类型... 233
10.6.1 枚举的概念... 233
10.6.2 枚举运算... 234
10.7 共用体... 235
10.7.1 共用体的定义... 235
10.7.2 共用体变量的引用... 236
10.8 typedef定义类型... 238
10.9 上机实验... 239
10.10 练习题... 241
第11章 排序与查找算法及其实现.... 246
11.1 互换类排序... 246
11.1.1 冒泡排序... 246
11.1.2 快速排序... 248
11.2 插入类排序... 250
11.2.1 简单插入排序... 251
11.2.2 希尔排序... 252
11.3 简单选择排序... 254
11.4 顺序查找... 255
11.5 有序表的二分查找... 256
11.6 上机实验... 257
11.7 练习题... 258
第12章 文件操作.... 260
12.1 文件概述... 260
12.1.1 文件的分类... 260
12.1.2 文件的操作流程... 262
12.1.3 文件缓冲区... 262
12.1.4 流和文件指针... 263
12.2 文件的打开与关闭... 263
12.2.1 文件的打开... 264
12.2.2 文件的关闭... 265
12.3 文件的顺序读/写... 265
12.3.1 文件的字符读/写函数... 265
12.3.2 文件的字符串读/写函数... 269
12.3.3 文件格式化读/写... 271
12.4 文件的随机读/写... 273
12.4.1 文件定位操作... 273
12.4.2 文件的随机读/写... 275
12.5 文件检测函数... 278
12.5.1 文件结束检测函数feof()278
12.5.2 ferror函数... 279
12.5.3 clearerr函数... 279
12.6 上机实验... 279
12.7 练习题... 281