第1章 C语言概述 1
1.1一个简单C语言程序 1
1.1.1简单C语言程序举例 1
1.1.2 C语言程序小结 3
1.2计算机程序与程序设计语言 4
1.2.1计算机程序 4
1.2.2程序设计语言 5
1.3 C语言简介 6
1.3.1 C语言的前世今生 6
1.3.2 C语言的特点 8
1.3.3 C语言的应用领域 9
1.4算法简介 10
1.4.1什么是算法 10
1.4.2算法的特点 10
1.4.3引例 10
1.5算法的描述方法 13
1.5.1用自然语言表示算法 13
1.5.2用流程图表示算法 14
1.5.3用伪代码表示算法 18
1.5.4用计算机语言表示算法 18
1.6 C语言编程环境 20
1.6.1 TC环境 20
1.6.2 C语言程序的执行 23
1.6.3 VC6.0环境 25
1.7本章小结 28
习题1 28
上机实验1 29
第2章 C语言基础知识 31
2.1基本数据类型 31
2.2常量与变量 32
2.2.1常量 33
2.2.2变量 35
2.3常用运算符及其表达式 39
2.3.1赋值运算符 39
2.3.2算术运算符 40
2.3.3关系运算符 41
2.3.4逻辑运算符 43
2.3.5逗号运算符 45
2.3.6复合赋值运算符 45
2.3.7增1和减1运算符 46
2.3.8强制类型转换运算符 47
2.4各类数值型数据间的混合运算 47
2.5赋值表达式中的类型转换 48
2.6本章小结 49
习题2 49
第3章 顺序结构程序设计 52
3.1 C语句概述 52
3.2格式化输入输出函数 54
3.2.1 printf函数(格式化输出函数) 54
3.2.2 scanf函数(格式化输入函数) 58
3.3字符数据的输入/输出 61
3.3.1 putchar函数(字符输出函数) 61
3.3.2 getchar函数(字符输入函数) 61
3.4顺序结构程序设计举例 62
3.5本章小结 63
习题3 63
上机实验3 66
第4章 选择结构程序设计 69
4.1 if语句 69
4.1.1简单if语句 69
4.1.2双分支if语句 70
4.1.3 if与多个else语句 71
4.1.4条件运算符 73
4.2 switch语句 74
4.3程序举例 75
4.4本章小结 79
习题4 79
上机实验4 82
第5章 循环程序设计 84
5.1 for语句实现循环 85
5.2 while语句实现循环 87
5.3 do while语句实现循环 89
5.4用if和goto语句构成的循环 91
5.5用break语句和continue语句控制循环 91
5.5.1 break语句 91
5.5.2 continue语句 93
5.5.3比较break和continue 94
5.5.4简单循环的应用 95
5.6嵌套循环 99
5.7本章小结 104
习题5 104
上机实验5 109
第6章 数组 110
6.1一维数组 110
6.1.1一维数组的定义和初始化 111
6.1.2一维数组的应用 112
6.2二维数组 115
6.2.1二维数组的定义和初始化 115
6.2.2二维数组的应用 117
6.3字符数组 119
6.3.1字符数组的定义及初始化 119
6.3.2字符串和字符串结束标志 120
6.3.3字符串处理函数 120
6.3.4字符数组的应用 121
6.4综合案例 122
6.5本章小结 127
习题6 128
上机实验6 133
第7章 函数 135
7.1函数的种类及定义 136
7.1.1函数概念及种类 136
7.1.2定义函数格式 138
7.2函数的调用 139
7.2.1函数参数之间关系 140
7.2.2函数调用 141
7.2.3函数的返回值 142
7.2.4函数的说明 143
7.3函数形参类型 144
7.3.1函数形参类型 144
7.3.2数组名作为函数形参 145
7.4函数的递归调用 148
7.4.1递归调用定义与种类 148
7.4.2递归调用应用举例 149
7.5变量的作用域与存储属性 151
7.5.1变量的作用域 152
7.5.2全局变量与局部变量同名 154
7.5.3变量存储属性 156
7.5.4存储类别小结 160
7.6内部函数与外部函数 161
7.7本章小结 162
习题7 163
上机实验7 169
第8章 指针 172
8.1指针的概念 173
8.1.1变量的指针和指向变量的指针变量 173
8.1.2指针作为函数的参数 175
8.1.3指针的简单应用 176
8.2指针与数组 177
8.2.1一维数组指针 177
8.2.2多维数组指针 180
8.2.3指针数组 182
8.3指针与函数 183
8.3.1函数指针 183
8.3.2指针函数 185
8.4字符串的指针 185
8.5指向指针的指针(二级指针) 188
8.6指针数组作为主函数main的形参 189
8.7综合案例 190
8.8本章小结 192
习题8 193
上机实验8 197
第9章 用户定义数据类型 201
9.1结构体 201
9.1.1结构体数据 201
9.1.2 typedef命令使用 205
9.1.3结构体类型嵌套 207
9.1.4结构体类型数组 210
9.1.5结构体指针 212
9.1.6结构体数据与函数 214
9.1.7结构体数据使用小结 215
9.2单链表 220
9.2.1单链表的基本操作 221
9.2.2多项式加法 224
9.3共用体 226
9.3.1混合计分制成绩管理 227
9.3.2共用体数据使用小结 229
9.4枚举 231
9.4.1枚举类型、枚举变量的定义和使用 231
9.4.2输入输出枚举变量 233
9.5本章小结 233
习题9 234
上机实验9 240
第10章 文件 243
10.1基本概念 244
10.1.1字节流 244
10.1.2文件 244
10.1.3缓冲文件系统 244
10.1.4文件指针 245
10.1.5文件的位置指针 245
10.2文件的打开与关闭 245
10.2.1文件的打开 246
10.2.2文件的关闭 246
10.3文本文件的读写 247
10.3.1文件中单个字符数据处理 247
10.3.2逐行字符串复制文件 249
10.3.3 fscanf()和fprintf() 250
10.4二进制文件的读写 251
10.4.1 fread函数和fwrite函数 251
10.4.2文件的随机读写 253
10.5本章小结 254
习题10 268
上机实验10 271
第11章 C语言预编译处理与位运算 272
11.1预处理命令 272
11.1.1文件包含 272
11.1.2宏定义 273
11.1.3条件编译 276
11.2位运算 276
11.2.1位运算概述 277
11.2.2位运算符 277
11.2.3位运算应用 278
11.2.4位段 279
11.3本章小结 280
习题11 281
上机实验11 283
附录A C语言的关键字 286
附录B C语言常用库函数 287
附录C C语言运算符的优先级 292
附录D ASCII码字符集 293
参考文谳 295