第1章C语言概述 1
1.1程序设计语言简介 1
1.2 C语言发展过程 3
1.3 C语言是优秀的程序语言 4
1.4 C语言与C++的关系 5
1.5初识简单的C语言程序 6
1.6 C程序的结构特点 9
1.7 C程序的书写规则 10
1.8 C语言字符集与词汇 10
1.9运行C程序 12
1.10本章小结 13
1.11习题 14
实验1初识运行环境和运行过程 15
第2章 结构化程序设计与算法 18
2.1初识算法 18
2.1.1算法的概念 18
2.1.2算法举例 19
2.1.3算法的特征 20
2.2结构化程序设计 20
2.2.1结构化程序设计方法 20
2.2.2结构化程序设计方法的原则 21
2.2.3结构化程序设计的三种基本结构 21
2.3算法的表示方法 22
2.3.1用自然语言表示算法 23
2.3.2用流程图表示算法 23
2.3.3用N-S流程图表示算法 24
2.3.4用伪代码表示算法 25
2.3.5用计算机语言表示算法 26
2.4结构化程序设计应用举例 26
2.5本章小结 27
2.6习题 27
实验2熟悉VC++ 6.0环境及算法 29
第3章 数据类型及其运算 30
3.1数据类型 30
3.2常量与变量 31
3.2.1常量 31
3.2.2变量 32
3.3整型数据 32
3.3.1整型常量 32
3.3.2整型变量 33
3.4实型数据 37
3.4.1实型常量 37
3.4.2实型变量 37
3.5字符型数据 40
3.5.1字符常量 40
3.5.2转义字符 41
3.5.3字符变量 41
3.5.4字符数据的存储与使用 41
3.5.5字符串常量 42
3.6变量赋初值 43
3.7数据类型的转换 43
3.8算术运算符和表达式 45
3.8.1运算符简介 45
3.8.2算术运算符和表达式 45
3.9赋值运算符和表达式 48
3.10逗号运算符和表达式 49
3.11应用实例 50
3.12本章小结 52
3.13习题 53
实验3数据类型及其运算 54
第4章 顺序结构程序设计 56
4.1 C语言语句概述 56
4.2 C语言赋值语句 57
4.3数据输入和输出的概念 58
4.4字符数据的输入和输出 58
4.4.1putchar函数 58
4.4.2 getchar函数 59
4.5格式数据的输入和输出 60
4.5.1格式输出函数printf 60
4.5.2格式输入函数scanf 64
4.6应用实例 68
4.7本章小结 72
4.8习题 72
实验4顺序结构程序设计 74
第5章 选择结构程序设计 75
5.1关系运算符和表达式 75
5.1.1关系运算符及其优先级 75
5.1.2关系表达式 75
5.2逻辑运算符和表达式 76
5.2.1逻辑运算符及其优先级 76
5.2.2逻辑运算及其取值 77
5.2.3逻辑表达式 77
5.3 if语句 78
5.3.1 if语句的三种形式 78
5.3.2 if语句的嵌套 81
5.3.3条件运算符和表达式 83
5.4 switch语句 83
5.5应用实例 85
5.6本章小结 89
5.7习题 90
实验5选择结构程序设计 92
第6章 循环结构程序设计 94
6.1概述 94
6.2 goto语句 94
6.3 while语句 95
6.4 do-while语句 96
6.5 for语句 97
6.6循环的比较及其嵌套 99
6.7 break和continue语句 100
6.7.1 break语句 100
6.7.2 continue语句 100
6.8应用实例 101
6.9本章小结 111
6.10习题 112
实验6循环结构程序设计 116
第7章 数组及其应用 118
7.1一维数组的定义和引用 118
7.1.1一维数组的定义 118
7.1.2一维数组元素的引用 119
7.1.3一维数组的初始化 120
7.1.4一维数组程序举例 121
7.2二维数组的定义和引用 123
7.2.1二维数组的定义 123
7.2.2二维数组元素的引用 124
7.2.3二维数组的初始化 125
7.3字符数组 127
7.3.1字符数组的定义 127
7.3.2字符数组的初始化 127
7.3.3字符数组的引用 127
7.3.4字符串和字符串结束标志 128
7.3.5字符数组的输入和输出 128
7.3.6 字符串处理函数 129
7.4应用实例 132
7.5本章小结 139
7.6习题 139
实验7数组及其应用 142
第8章 函数及其应用 144
8.1 C语言函数概述 144
8.2函数定义的一般形式 145
8.3函数的参数和函数的值 147
8.3.1形式参数和实际参数 147
8.3.2函数的返回值 148
8.4函数的调用 149
8.4.1函数调用的一般形式 149
8.4.2函数调用的方式 149
8.4.3被调用函数的声明 150
8.5函数的嵌套调用 151
8.6函数的递归调用 152
8.7数组作为函数参数 155
8.8局部变量和全局变量 158
8.8.1局部变量 159
8.8.2全局变量 160
8.9变量的存储类别 161
8.9.1 auto变量 162
8.9.2用static声明局部变量 162
8.9.3 register变量 163
8.9.4用static声明全局变量 164
8.10内部函数和外部函数 166
8.11函数与模块化程序设计 166
8.12应用实例 167
8.13本章小结 173
8.14习题 173
实验8函数及其应用 176
第9章 指针及其应用 178
9.1指针的基本概念 178
9.2指针变量 179
9.2.1指针变量的定义 179
9.2.2指针变量的引用 180
9.2.3指针变量作为函数参数 183
9.2.4指针变量的几个问题 186
9.3指针与数组 189
9.3.1指向数组元素的指针 189
9.3.2通过指针引用数组 189
9.3.3数组名作函数参数 191
9.3.4指向多维数组的指针 195
9.4指针与字符串 197
9.4.1字符串的表示形式 197
9.4.2字符(串)指针变量与字符数组 200
9.5指针与函数 201
9.5.1函数指针变量 201
9.5.2指针型函数 202
9.6指针数组 203
9.7指向指针的指针 206
9.8 main函数参数 207
9.9应用实例 208
9.10本章小结 211
9.11习题 213
实验9指针及其应用 216
第10章 自定义类型及其应用 218
10.1如何定义结构体 218
10.2结构体类型变量的说明 219
10.3结构体变量 220
10.3.1结构体变量成员的表示方法 220
10.3.2结构体变量的赋值 221
10.3.3结构体变量的初始化 221
10.3.4指向结构体变量的指针 222
10.4结构体数组 223
10.4.1结构体数组的定义 223
10.4.2指向结构体数组的指针 224
10.5结构体指针变量作函数参数 225
10.6 C语言动态存储分配 226
10.7 C语言链表的概念 227
10.8共用体 229
10.8.1共用体的定义 230
10.8.2共用体变量的说明 230
10.8.3共用体变量的赋值和使用 231
10.9 C语言枚举类型 232
10.9.1枚举类型的定义及其变量说明 232
10.9.2枚举类型变量的赋值和使用 232
10.10 C语言类型定义符pedef详解 234
10.11应用实例 234
10.12本章小结 241
10.13习题 242
实验10自定义类型及其应用 245
第11章 文件及其应用 247
11.1 C语言文件概述 247
11.2文件指针 248
11.3文件的打开与关闭 249
11.3.1文件打开函数fopen 249
11.3.2文件关闭函数fclose 251
11.4文件的读写 251
11.4.1字符读写函数fgetc和fputc 251
11.4.2字符串读写函数fgets和fputs 254
11.4.3数据块读写函数fread和fwtrite 255
11.4.4格式化读写函数fscanf和fprintf 256
11.5文件的随机读写 256
11.5.1文件定位 257
11.5.2文件的随机读写 257
11.6文件检测函数 258
11.7库文件 258
11.8应用实例 259
11.9本章小结 260
11.10习题 260
实验11文件及其应用 263
第12章 预处理命令 265
12.1 C语言预处理概述 265
12.2宏定义 265
12.2.1无参宏定义 266
12.2.2有参宏定义 268
12.3文件包含命令 272
12.4 C语言条件编译 272
12.5应用实例 274
12.6本章小结 276
12.7习题 276
第13章 位运算 278
13.1 C语言位运算符 278
13.2 C语言位域(位段) 280
13.3应用实例 282
13.4本章小结 284
13.5习题 284
附录 286
附录A ASC II与扩展ASC II编码表 286
附录B C语言关键字大全 287
附录C C语言运算符及其优先级 288
附录D VC++6.0程序调试常见错误信息 289
附录E C语言库函数 291
参考文献 292