第1章C语言概述/1
1.1计算机语言的发展/1
1.1.1机器语言/1
1.1.2汇编语言/2
1.1.3高级语言/2
1.1.4结构化程序设计语言/2
1.2C语言的发展/3
1.3C语言的特点及简单程序组成/4
1.3.1C语言的特点/4
1.3.2C语言程序的组成/4
1.4C程序的调试方法/7
1.5简单程序设计入门/8
1.6Visual C++ 6.0 集成环境调试/9
1.6.1启动Visual C++ 6.0/9
1.6.2源程序的调试与运行/11
习题/11
第2章数据类型/12
2.1标识符和字符集/12
2.1.1标识符/12
2.1.2字符集/13
2.2数据类型/14
2.3常量和变量/14
2.3.1常量和符号常量/14
2.3.2变量/15
2.4整型数据类型/15
2.4.1整型常量/15
2.4.2整型变量/16
2.5浮点型数据类型/19
2.5.1浮点常量/19
2.5.2浮点变量/20
2.5.3单精度浮点型数据的存储/212.6字符型数据类型/22
2.6.1字符型常量/22
2.6.2字符型变量/23
2.6.3字符串型常量/24
2.7不同数据类型之间的转换/24
2.7.1自动转换/25
2.7.2强制类型转换/25
习题/26
第3章运算符和表达式/28
3.1算术运算符和算术表达式/28
3.1.1算术运算符/28
3.1.2算术表达式/30
3.2赋值运算符和赋值表达式/31
3.2.1赋值运算符/31
3.2.2赋值表达式/31
3.2.3赋值语句/32
3.3关系运算符和关系表达式/33
3.3.1关系运算符/33
3.3.2关系表达式/33
3.4逻辑运算符和逻辑表达式/34
3.4.1逻辑运算符/34
3.4.2逻辑表达式/35
3.5条件运算符和条件表达式/36
3.5.1条件运算符/36
3.5.2条件表达式/36
3.6逗号运算符和逗号表达式/37
3.6.1逗号运算符/37
3.6.2逗号表达式/37
习题/38
第4章C语言程序的基本结构/41
4.1结构化程序设计方法与算法/41
4.1.1结构化程序设计方法/41
4.1.2算法/43
4.2C程序语句/47
4.3顺序结构程序设计/50
4.3.1字符的输入和输出/50
4.3.2字符串的输入与输出/52
4.3.3格式化输入与输出/54
4.4选择结构的基本形式/58
4.4.1简单分支结构/58
4.4.2双分支结构/59
4.4.3多分支结构/61
4.4.4switch…case分支结构/63
4.5选择结构的嵌套/65
4.6循环结构的基本形式/68
4.6.1if…goto构成的循环/68
4.6.2while循环/69
4.6.3do…while循环/72
4.6.4for循环/74
4.7循环结构的嵌套/76
4.8循环控制语句/78
4.8.1break语句/78
4.8.2continue语句/79
4.9实例/80
习题/84
第5章数组与指针/87
5.1一维数组/87
5.1.1数组的定义/87
5.1.2数组元素的引用/89
5.1.3数组的初始化/90
5.1.4一维数组的应用实例/92
5.2二维数组及多维数组/96
5.2.1二维数组的定义/96
5.2.2二维数组的引用/97
5.2.3二维数组的初始化/97
5.2.4二维数组的应用实例/98
5.3字符数组/101
5.3.1字符数组的定义/102
5.3.2字符数组的初始化/102
5.3.3字符数组的引用/103
5.3.4字符串/103
5.4指针变量和指针运算符/105
5.4.1地址与指针/105
5.4.2指针变量定义及指针运算/107
5.4.3指针变量的引用/109
5.4.4指针的运算/110
5.4.5C语言中指针变量赋值的几种
错误方法/112
5.5指向数组的指针/112
5.5.1指针与一维数组/113
5.5.2指针与二维数组/115
5.5.3指针与字符串/117
5.5.4指针数组/119
5.6实例/121
习题/125
第6章函数与参数传递/129
6.1概述/129
6.2函数的定义与调用/132
6.2.1函数定义的一般形式/132
6.2.2函数的声明/135
6.2.3函数的调用/136
6.2.4形式参数与实际参数/137
6.2.5函数的返回值/140
6.2.6函数调用时参数间的传递/141
6.3函数的嵌套调用与递归调用/142
6.3.1函数的嵌套调用/142
6.3.2函数的递归调用/145
6.4常用的数值和字符串处理函数/150
6.4.1数值处理函数/150
6.4.2字符串处理函数/151
6.5变量的作用域和存储类型/156
6.5.1局部变量/156
6.5.2全局变量/158
6.5.3变量的存储类别/160
6.6指针作为函数的参数/165
6.7指向函数的指针/167
6.7.1函数的指针/167
6.7.2用指向函数的指针作函数
参数/169
6.8返回指针的函数/171
6.9main函数中的参数/173
6.10实例/175
习题/178
第7章编译预处理/183
7.1宏定义/183
7.1.1无参宏定义/183
7.1.2带参宏定义/187
7.2文件包含/189
7.3条件编译/190
7.3.1#ifdef命令/190
7.3.2#ifndef命令/192
7.3.3#if命令/192
7.4实例/193
习题/194
第8章结构体与链表/196
8.1结构体的定义和引用/196
8.1.1结构体类型定义/196
8.1.2结构体类型变量的定义/198
8.1.3结构体变量的初始化和成员
引用/200
8.2结构体数组/204
8.2.1结构体数组的定义/204
8.2.2结构体数组的初始化/205
8.3指向结构体的指针/208
8.3.1结构体指针变量的定义/208
8.3.2结构体指针变量的赋值/209
8.3.3结构体指针变量成员的引用/209
8.3.4指向结构体数组的指针/210
8.3.5结构体指针数组/211
8.3.6结构体变量和结构体指针作为
函数的参数/211
8.4链表的基本操作/215
8.4.1单链表/215
8.4.2内存操作函数/216
8.4.3单链表的基本操作/217
8.5共用体的定义和引用/229
8.5.1共用体类型及变量的定义/229
8.5.2共用体变量的引用方法/230
8.5.3共用体变量的赋值/231
8.5.4共用体类型数据的特点/232
8.6typedef定义类型/233
8.6.1用于对数据类型的命名/233
8.6.2用于对数组和指针类型的
命名/234
8.6.3typedef与#define/235
习题/235
第9章文件/237
9.1文件概述/237
9.1.1文件的基本概念/237
9.1.2文件的分类/237
9.1.3文件的基本操作/238
9.2文件类型指针/238
9.3文件的打开与关闭/239
9.3.1文件的打开/240
9.3.2文件的关闭/241
9.4文件读写/242
9.4.1读字符函数fgetc/242
9.4.2写字符函数fputc/244
9.4.3写字符串函数fputs/245
9.4.4读字符串函数fgets/246
9.4.5格式化读写函数fscanf和
fprintf/247
9.4.6数据块读写函数fread和
fwrite/249
9.5文件的定位/251
9.5.1随机定位函数fseek/251
9.5.2文件头定位函数rewind/252
9.5.3当前读写位置函数ftell/252
9.6文件检测函数/252
9.6.1文件结束检测函数feof/252
9.6.2读写文件出错检测函数ferror/252
9.6.3文件出错标志和文件结束标志置0
函数clearerr/253
9.7文件应用举例/254
习题/257
第10章综合设计实例/258
10.1万年历设计/258
10.1.1功能要求/258
10.1.2算法分析/258
10.1.3函数介绍/259
10.1.4参考程序/259
10.1.5运行结果/261
10.2大数字进制转换/261
10.2.1功能要求/261
10.2.2函数设计/261
10.2.3程序示例/262
10.2.4程序验证/265
10.3彩票模拟程序/265
10.3.1功能要求/265
10.3.2总体设计/266
10.3.3函数设计/266
10.3.4程序代码/267
10.3.5测试结果/271
10.4简单通讯录设计/271
10.4.1功能要求/271
10.4.2总体设计/272
10.4.3存储结构/272
10.4.4函数设计/272
10.4.5程序示例/274
10.4.6测试结果/279
10.5读取dbf数据表格/280
10.5.1dbf表文件的结构/281
10.5.2读取dbf表的内容/282
习题/284
第11章C语言在单片机开发中的应用/285
11.1位运算/285
11.1.1“按位与”运算/286
11.1.2“按位或”运算/287
11.1.3“按位异或”运算/288
11.1.4“求反”运算/289
11.1.5“左移”运算/289
11.1.6“右移”运算/289
11.1.7位复合赋值运算/290
11.289C52单片机C语言应用/290
11.2.1STC89C52RC单片机介绍/290
11.2.2Keil μVision2单片机开发
环境/291
11.2.3STCISP软件介绍/295
11.2.4C51单片机开发板介绍/297
11.2.5C语言单片机应用/299
第12章实验指导/306
实验一Visual C++ 6.0集成环境调试/306
实验二数据类型、运算符和表达式/307
实验三顺序程序设计/309
实验四选择结构程序设计/310
实验五循环控制/311
实验六数组/312
实验七指针/312
实验八函数/314
实验九预处理/315
实验十结构体与共用体/315
实验十一文件、位操作/316
附录A运算符的优先级/318
附录B常用字符与ASCII代码对照表/320
附录C2012年3月全国计算机等级考试二级C
笔试试卷/322
附录D2012年9月全国计算机等级考试二级C
笔试试卷/332
参考文献/343