第1章 C语言概述 1
1.1 C语言的发展 1
1.2 C语言的组成及特点 1
1.3 C程序的调试方法 3
1.4程序设计入门 5
1.5 Turbo C 2.0集成开发环境 5
1.5.1 Turbo C 2.0简介 5
1.5.2 TurboC 2.0集成开发环境 6
1.6 Visual C+++ 6.0集成环境调试 10
1.6.1启动Visual C+++ 6 0 10
1.6.2源程序的调试与运行 12
习题1 12
第2章 数据类型 13
2.1标识符和字符集 13
2.1.1标识符 13
2.1.2字符集 14
2.2数据类型 15
2.3常量和变量 15
2.3.1常量和符号常量 15
2.3.2变量 16
2.4整型数据类型 17
2.4.1整型常量 17
2.4.2整型变量 18
2.5浮点型数据类型 20
2.5.1浮点常量 20
2.5.2浮点变量 20
2.6字符类型 21
2.6.1字符常量 21
2.6.2字符变量 22
2.6.3字符串常量 24
2.7不同数据类型之间的转换 24
2.7.1自动转换 24
2.7.2强制类型转换 25
习题2 26
第3章 运算符和表达式 27
3.1算术运算符和算术表达式 27
3.1.1算术运算符 27
3.1.2算术表达式 27
3.2赋值运算符和赋值表达式 29
3.2.1赋值运算符 29
3.2.2赋值表达式 29
3.2.3赋值语句 30
3.3关系运算符和关系表达式 31
3.3.1关系运算符 31
3.3.2关系表达式 31
3.4逻辑运算符和逻辑表达式 32
3.4.1逻辑运算符 32
3.4.2逻辑表达式 32
3.5条件运算符和条件表达式 33
3.5.1条件运算符 33
3.5.2条件表达式 34
3.6逗号运算符和逗号表达式 34
3.6.1逗号运算符 34
3.6.2逗号表达式 35
习题3 36
第4章 C语言程序的基本结构 38
4.1结构化程序设计方法与算法 38
4.1.1结构化程序设计方法 38
4.1.2算法 39
4.2 C程序语句 44
4.3顺序结构程序设计 47
4.3.1字符的输入和输出 47
4.3.2字符串的输入与输出 49
4.3.3格式化输入与输出 50
4.4选择结构的基本形式 53
4.4.1简单分支结构 54
4.4.2双分支结构 54
4.4.3多分支结构 56
4.4.4 switch...case分支结构 58
4.5选择结构的嵌套 61
4.6循环结构的基本形式 64
4.6.1 if...goto...构成的循环 64
4.6.2 while循环 65
4.6.3 do...while循环 67
4.6.4 for循环 69
4.7循环结构的嵌套 71
4.8循环控制语句 73
4.8.1 break语句 73
4.8.2 continue语句 74
4.9实例 75
习题4 80
第5章 数组与指针 87
5.1一维数组 87
5.1.1数组的定义 87
5.1.2数组元素的引用 88
5.1.3数组的初始化 89
5.1.4一维数组的应用实例 91
5.2二维数组及多维数组 95
5.2.1二维数组的定义 95
5.2.2二维数组的引用 96
5.2.3二维数组的初始化 97
5.2.4二维数组的应用实例 98
5.3字符数组 100
5.3.1字符数组的定义 100
5.3.2字符数组的初始化 100
5.3.3字符数组的引用 101
5.3.4字符串 101
5.4指针变量和指针运算符 103
5.4.1地址与指针 103
5.4.2指针变量定义及指针运算 105
5.4.3指针变量的引用 106
5.4.4指针的运算 108
5.4.5 C语言中指针变量赋值的几种错误方法 109
5.5指向数组的指针 110
5.5.1指针与一维数组 110
5.5.2指针与二维数组 112
5.5.3指针与字符串 114
5.5.4指针数组 116
习题5 119
第6章 函数与参数传递 122
6.1概述 122
6.2函数的定义与调用 124
6.2.1函数定义的一般形式 124
6.2.2形式参数与实际参数 127
6.2.3函数的返回值 130
6.2.4函数的调用 130
6.2.5函数调用时参数间的传递 131
6.2.6函数的声明 133
6.3函数的嵌套调用与递归调用 134
6.3.1函数的嵌套调用 134
6.3.1函数的递归调用 137
6.4常用的数值和字符串处理函数 141
6.4.1数值处理函数 141
6.4.2字符串处理函数 142
6.5变量的作用域和存储类型 145
6.5.1局部变量 146
6.5.2全局变量 147
6.5.3变量的存储类别 149
6.6指针作为函数的参数 153
6.7指向函数的指针 155
6.7.1函数的指针 155
6.7.2用指向函数的指针作函数参数 157
6.8返回指针的函数 158
6.9 main函数中的参数 160
习题6 162
第7章 编译预处理 167
7.1宏定义 167
7.1.1无参宏定义 167
7.1.2带参宏定义 170
7.2文件包含 172
7.3条件编译 173
7.3.1 #ifdef命令 173
7.3.2 #ifndef命令 175
7.3.3 #if命令 175
习题7 176
第8章 结构体与链表 177
8.1结构体的定义和引用 177
8.1.1结构体类型定义 177
8.1.2结构体类型变量的定义 179
8.1.3结构体变量的初始化和成员引用 181
8.2结构体数组 183
8.2.1结构体数组的定义 183
8.2.2结构体数组的初始化 183
8.3指向结构体的指针 186
8.3.1结构体指针变量的定义 186
8.3.2结构体指针变量的赋值 187
8.3.3结构体指针变量成员的引用 187
8.3.4指向结构体数组的指针 188
8.3.5结构体指针数组 189
8.3.6结构体变量和结构体指针作为函数的参数 189
8.4链表的基本操作 190
8.4.1单链表 191
8.4.2内存操作函数 192
8.4.3单链表的基本操作 192
8.5共用体的定义和引用 201
8.5.1共用体类型及变量的定义 201
8.5.2共用体变量的引用方法 202
8.5.3共用体变量的赋值 203
8.5.4共用体类型数据的特点 203
8.6typedef定义类型 205
8.6.1用于对数据类型的命名 205
8.6.2用于对数组和指针类型的命名 205
8.6.3 typedef与#define 206
习题8 206
第9章 文件 209
9.1文件概述 209
9.1.1文件的基本概念 209
9.1.2文件的分类 209
9.1.3文件的基本操作 210
9.2文件类型指针 210
9.3文件的打开与关闭 211
9.3.1文件的打开 212
9.3.2文件的关闭 213
9.4文件读写 214
9.4.1读字符函数fgetc 214
9.4.2写字符函数fputc 215
9.4.3写字符串函数fputs 217
9.4.4读字符串函数fgets 217
9.4.5格式化读写函数fscanf和fprintf 218
9.4.6数据块读写函数fread和fwrite 219
9.5文件的定位 221
9.5.1随机定位函数fseek() 221
9.5.2文件头定位函数rewind() 222
9.5.3求当前读写位置函数fte11() 222
9.6文件检测函数 222
9.6.1文件结束检测函数feof 222
9.6.2读写文件出错检测函数ferror 222
9.6.3文件出错标志和文件结束标志置0函数clearerr 223
9.7文件应用举例 224
习题9 226
第10章 综合设计实例 227
10.1万年历设计 227
10.1.1功能要求 227
10.1.2算法分析 227
10.1.3 TC2.0工程设计 228
10.1.4函数介绍 228
10.1.5参考程序 229
10.1.6运行结果 230
10.2简单通讯录设计 230
10.2.1功能要求 230
10.2.2总体设计 231
10.2.3存储结构 231
10.2.4函数设计 232
10.2.5程序示例 233
10.2.6测试结果 238
10.3计算机图形设计 238
10.3.1图形模式控制函数 239
10.3.2图形屏幕管理函数 240
10.3.3颜色与线型 240
10.3.4图形操作函数 241
10.3.5图形模式下文本的输出 242
10.3.6实例 243
10.3.6程序示例 244
10.4图形模式下菜单设计 245
10.4.1菜单设计要点 246
10.4.2下拉菜单设计实例 247
10.5 Windows下字模转换 255
10.5.1国标汉字字符集与区位码 256
10.52汉字的内码 256
10.5.3内码转换为区位码 257
10.5.4实例 257
10.6读取dbf数据表格 259
10.6.1 dbf表格文件的结构 260
10.6.2读取dbf表格的内容 261
习题10 263
第11章 C语言在控制系统和嵌入式系统中的应用 264
11.1位运算符 264
11.1.1“按位与”运算符(&) 265
11.1.2“按位或”运算符(|) 266
11.1.3“按位异或”运算符(^) 266
11.1.4“求反”运算符(~) 267
11.1.5“左移”运算符(<<) 268
11.1.6“右移”运算符(>>) 268
11.1.7位复合赋值运算符 268
*11.2嵌入式系统C语言编程实例 269
*11.3 MCS51单片机的Keil C环境 272
习题11 274
第12章 实验指导 275
实验一TurboC2.0和VC6.0集成环境调试 275
实验二 数据类型、运算符和表达式 276
实验三 顺序程序设计 278
实验四 选择结构程序设计 278
实验五 循环控制 279
实验六 数组 280
实验七 指针 281
实验八 函数 282
实验九 预处理与指针 283
实验十 结构体与共同体 284
实验十一 文件、位操作 284
实验十二 综合程序设计 285
附录A运算符的优先级 287
附录B 常用字符与ASCII代码对照表 289
附录C常见调试错误 291
参考文献 294