第1章C语言概述 1
1.1程序设计语言简介 1
1.2 C语言发展过程 3
1.3 C语言的特点 4
1.3.1 C语言是优秀的程序语言 4
1.3.2 C语言与C++的关系 6
1.4初识简单的C程序 7
1.5 C程序语法概述 10
1.5.1 C程序的结构特点 10
1.5.2 C程序的书写规则 11
1.5.3 C语言字符集与词汇 11
1.6如何运行C程序 13
1.7本章小结 15
1.8习题 15
第2章 结构化程序设计与算法 18
2.1初识算法 18
2.1.1算法的概念 18
2.1.2算法举例 19
2.1.3算法的特征 20
2.2结构化程序设计 21
2.2.1结构化程序设计方法简介 21
2.2.2结构化程序设计方法的原则 21
2.2.3结构化程序设计的三种基本结构 22
2.3表示算法的多种方法 23
2.3.1用自然语言表示算法 23
2.3.2用流程图表示算法 23
2.3.3用N-S流程图表示算法 26
2.3.4用伪代码表示算法 27
2.3.5用计算机语言表示算法 27
2.4结构化程序设计应用举例 28
2.5本章小结 30
2.6习题 30
第3章 数据类型及其运算 32
3.1数据类型 32
3.2常量与变量 33
3.2.1常量 33
3.2.2变量 34
3.3整型数据 35
3.3.1整型常量 35
3.3.2整型变量 36
3.4实型数据 40
3.4.1实型常量 40
3.4.2实型变量 41
3.5字符型数据 45
3.5.1字符常量 45
3.5.2转义字符 45
3.5.3字符变量 46
3.5.4字符数据的存储与使用 46
3.5.5字符串常量 47
3.6变量赋初值 48
3.7算术运算符和表达式 48
3.7.1 C运算符简介 48
3.7.2算术运算符和算术表达式 49
3.8不同类型数据混合运算 52
3.9赋值运算符和表达式 54
3.10逗号运算符和逗号表达式 56
3.11应用实例 57
3.12本章小结 60
3.13习题 60
第4章 顺序结构程序设计 63
4.1 C语言语句概述 63
4.2 C语言赋值语句 64
4.3数据输入输出的概念 65
4.4字符数据的输入输出 66
4.4.1 putchar函数 66
4.4.2 getchar函数 67
4.5格式数据的输入输出 68
4.5.1格式输出函数printf 68
4.5.2格式输入函数scanf 75
4.6应用实例 79
4.7本章小结 85
4.8习题 85
第5章 选择结构程序设计 89
5.1关系运算符和表达式 89
5.1.1关系运算符及其优先级 89
5.1.2关系表达式 90
5.2逻辑运算符和表达式 90
5.2.1逻辑运算符及其优先级 90
5.2.2逻辑运算及其取值 91
5.2.3逻辑表达式 92
5.3 if语句的用法 93
5.3.1 if语句的三种形式 93
5.3.2 if语句的嵌套 96
5.3.3条件运算符和条件表达式 98
5.4 switch语句的用法 99
5.5应用实例 100
5.6本章小结 108
5.7习题 108
第6章 循环结构程序设计 112
6.1概述 112
6.2 goto语句简介 112
6.3 while语句的用法 113
6.4 do-while语句的用法 114
6.5 for语句的用法 116
6.6循环的比较及其嵌套 118
6.7 break和continue语句用法 119
6.7.1 break语句 119
6.7.2 continue语句 119
6.8应用实例 120
6.9本章小结 135
6.10习题 135
第7章 数组及其应用 143
7.1一维数组的定义和引用 143
7.1.1一维数组的定义方式 143
7.1.2一维数组元素的引用 145
7.1.3一维数组的初始化 146
7.1.4一维数组程序举例 146
7.2二维数组的定义和引用 149
7.2.1二维数组的定义 149
7.2.2二维数组元素的引用 150
7.2.3二维数组的初始化 151
7.3字符数组 153
7.3.1字符数组的定义 153
7.3.2字符数组的初始化 153
7.3.3字符数组的引用 154
7.3.4字符串和字符串结束标志 154
7.3.5字符数组的输入输出 155
7.3.6字符串处理函数 156
7.4应用实例 162
7.5本章小结 171
7.6习题 171
第8章函数及其应用 176
8.1 C语言函数概述 176
8.2函数定义的一般形式 177
8.3函数的参数和函数的值 179
8.3.1形式参数和实际参数 179
8.3.2函数的返回值 180
8.4函数的调用 181
8.4.1函数调用的一般形式 181
8.4.2函数调用的方式 181
8.4.3被调用函数的声明 182
8.5函数的嵌套调用 183
8.6函数的递归调用 184
8.7数组作为函数参数 187
8.8局部变量和全局变量 191
8.8.1局部变量 191
8.8.2全局变量 193
8.9变量的存储类别 194
8.9.1 auto变量 195
8.9.2用static声明局部变量 195
8.9.3 register变量 197
8.9.4用static声明全局变量 197
8.10内部函数和外部函数 199
8.11函数与模块化程序设计 200
8.12应用实例 200
8.13本章小结 213
8.14习题 213
第9章指针及其应用 219
9.1指针的基本概念 219
9.2指针变量 220
9.2.1定义指针变量 220
9.2.2指针变量的引用 221
9.2.3指针变量作为函数参数 225
9.2.4指针变量的几个问题 228
9.3指针与数组 231
9.3.1指向数组元素的指针 231
9.3.2通过指针引用数组 232
9.3.3数组指针变量作函数参数 233
9.3.4指向多维数组的指针 239
9.4指针与字符串 241
9.4.1字符串的表示形式 241
9.4.2字符(串)指针变量与字符数组 244
9.5指针与函数 245
9.5.1函数指针变量 246
9.5.2指针型函数 247
9.6多级指针 248
9.6.1指针数组概念 248
9.6.2指向指针的指针 253
9.6.3 main函数参数 254
9.7应用实例 255
9.8本章小结 259
9.9习题 260
第10章 自定义类型及其应用 266
10.1结构体与结构体变量 266
10.1.1如何定义结构体 266
10.1.2如何说明结构体变量 267
10.1.3结构体变量成员的表示方法 269
10.1.4结构体变量的赋值 269
10.1.5结构体变量的初始化 270
10.2结构体数组与结构体指针 270
10.2.1结构体数组的定义与使用 270
10.2.2指向结构体变量的指针 272
10.2.3指向结构体数组的指针 273
10.2.4结构体指针变量作函数参数 274
10.3 C语言动态存储分配 275
10.4 C语言链表的概念 277
10.5共用体 280
10.5.1共用体类型的定义 280
10.5.2共用体变量的说明 281
10.5.3共用体变量的赋值和使用 281
10.6 C语言枚举类型 282
10.6.1枚举类型的定义及其变量说明 283
10.6.2枚举类型变量的赋值和使用 283
10.7 C语言类型定义符typedef详解 285
10.8应用实例 286
10.9本章小结 296
10.10习题 296
第11章 文件及其应用 301
11.1 C语言文件概述 301
11.1.1文件的分类 301
11.1.2库文件 302
11.2文件指针 303
11.3文件的打开与关闭 304
11.3.1文件打开函数fopen 304
11.3.2文件关闭函数fclose 306
11.4文件的读写 306
11.4.1字符读写函数fgetc和fputc 306
11.4.2字符串读写函数fgets和fputs 309
11.4.3数据块读写函数fread和fwtrite 310
11.4.4格式化读写函数fscanf和fprintf 311
11.5文件的随机读写 312
11.5.1文件定位 312
11.5.2文件的随机读写 313
11.6文件检测函数 314
11.7应用实例 315
11.8本章小结 317
11.9习题 317
第12章 预处理命令 322
12.1 C语言预处理概述 322
12.2宏定义 322
12.2.1无参宏定义 323
12.2.2有参宏定义 325
12.3文件包含命令 329
12.4 C语言条件编译 330
12.5应用实例 333
12.6本章小结 334
12.7习题 334
第13章 位运算 338
13.1 C语言位运算符 338
13.2 C语言位域(位段) 340
13.3应用实例 342
13.4本章小结 344
13.5习题 344
第14章C语言应用案例 347
14.1应用实例 347
14.1.1简单的接口程序 347
14.1.2大整数四则运算 348
14.1.3学生成绩管理系统 350
14.1.4模拟时钟的实现 352
14.2习题 353
附录A ASCII与扩展ASCII编码表 354
附录B C语言关键字大全 355
附录C C语言运算符及其优先级 357
附录D C语言编程时常见错误汇编 358
附录E VC++6.0程序调试常见错误信息 366
附录F C语言库函数 369
参考文献 376