上篇 理论篇 3
第1章C语言概述 3
1.1C语言的起源和发展 3
1.2C语言的主要特点 4
1.3C编译器 4
1.4C语言程序设计 5
1.5C语言程序的开发步骤和上机调试流程 7
习题 8
第2章数据类型、运算符和表达式 9
2.1C语言的字符集、关键字和标识符 9
2.1.1C语言的字符集 9
2.1.2标识符和关键字 9
2.2C语言的基本数据类型 10
2.2.1基本数据类型 11
2.2.2常量 13
2.2.3变量 16
2.3运算符与表达式 18
2.3.1算术运算符与算术表达式 19
2.3.2十十和一一运算符 22
2.3.3赋值运算符与赋值表达式 22
2.3.4数据类型转换 23
2.3.5关系运算符与关系表达式 25
2.3.6逻辑运算符与逻辑表达式 25
2.3.7逗号运算符 26
2.3.8条件运算符 27
2.3.9sizeof运算符 27
2.3.10位运算符 28
2.4常用库函数 29
2.4.1数学库函数 29
2.4.2伪随机函数 31
习题 31
第3章 基本类型数据的输入和输出 33
3.1C语言的输入输出 33
3.2字符输入输出函数 33
3.3格式化输出函数printf 34
3.3.1printf函数概述 34
3.3.2printf函数的格式说明 35
3.3.3printf函数的使用 37
3.4格式化输入函数scanf 40
3.4.1scanf函数概述 40
3.4.2scanf函数的格式说明 41
3.4.3scanf函数的使用 42
3.5程序举例 44
习题 46
第4章 流程控制 49
4.1算法 49
4.1.1算法的概念 49
4.1.2算法举例 50
4.1.3算法的特性 50
4.1.4算法的表达 50
4.1.5三种基本流程控制结构 51
4.2C语言的语句 52
4.3选择结构语句 52
4.3.1条件语句 53
4.3.2开关语句 57
4.4循环结构语句 60
4.4.1while语句 61
4.4.2do…while语句 62
4.4.3for语句 63
4.4.4循环语句小结 66
4.5转向语句 68
4.5.1break语句 68
4.5.2continue语句 70
4.5.3goto语句简介 70
4.5.4exit函数 71
4.6程序举例 71
4.7程序调试简介 78
4.7.1程序的错误类型 78
4.7.2程序调试 79
习题 79
第5章 函数 81
5.1函数定义和调用 81
5.1.1函数定义 81
5.1.2函数调用 83
5.1.3函数原型 85
5.2标识符的作用域 88
5.2.1块作用域(局部作用域) 88
5.2.2文件作用域(全局作用域) 89
5.2.3函数原型作用域 90
5.2.4函数作用域 91
5.3变量的存储种类 91
5.3.1自动变量 92
5.3.2寄存器变量 92
5.3.3外部变量 93
5.3.4静态变量 95
5.3.5小结 97
5.4指针基础 97
5.4.1地址的概念 98
5.4.2指针的概念 98
5.4.3指针变量 98
5.4.4指针做函数的参数 99
5.4.5指针做函数的返回值 101
5.5递归函数 102
5.6模块化程序设计方法 106
习题 111
第6章编译预处理 115
6.1文件包含 115
6.2宏 117
6.2.1不带参数的宏 117
6.2.2带参数的宏 119
6.3条件编译 121
6.4程序的多文件组织 125
6.4.1程序的多文件组织方法 125
6.4.2多文件程序举例 125
6.4.3多文件程序的编译和链接 126
习题 127
第7章 数组 129
7.1一维数组 129
7.1.1一维数组的定义、引用和初始化 129
7.1.2一维数组的赋值和输入输出 131
7.1.3一维数组做函数参数 133
7.1.4排序 136
7.1.5查找 140
7.1.6大整数运算和高精度运算 144
7.2二维数组 148
7.2.1二维数组的定义 148
7.2.2二维数组的引用 149
7.2.3二维数组的初始化 149
7.2.4二维数组的赋值和输入输出 150
7.2.5应用举例 151
7.3字符数组 153
7.3.1字符数组的定义、初始化和使用 153
7.3.2字符数组的输入和输出 155
7.3.3字符串处理函数 158
7.3.4应用举例 161
习题 165
第8章 指针 171
8.1指针的运算 171
8.1.1指针的赋值 171
8.1.2指针的算术运算 173
8.1.3指针的关系运算 174
8.1.4指针值的输出 175
8.2指针与数组 176
8.2.1指针与一维数组 176
8.2.2指针与多维数组 177
8.2.3指针与字符串 180
8.3指针数组和指向指针的指针变量 182
8.3.1指针数组 182
8.3.2指向一维数组的指针变量 185
8.3.3指向指针的指针变量 186
8.4指针与函数 187
8.4.1数组做函数的参数 187
8.4.2带参数的main函数 190
8.4.3返回值为指针的函数 193
8.4.4指向函数的指针及通用算法设计 194
8.5指针参数传递与数据安全 197
8.5.1const变量 197
8.5.2const指针做函数参数 198
8.6void型指针及通用类型程序设计 200
8.7堆内存的申请、使用和释放 203
8.7.1malloc函数和free函数 204
8.7.2应用举例 205
8.8参数个数可变的函数 208
习题 212
第9章 自定义数据类型 215
9.1结构体 215
9.1.1结构体类型的定义 216
9.1.2结构体变量的定义 216
9.1.3结构体变量的使用 218
9.1.4位域 223
9.2单向链表 227
9.2.1单向链表的概念 227
9.2.2单向链表的建立和基本操作 228
9.3共用体 233
9.3.1共用体类型的定义 233
9.3.2共用体类型变量的定义和使用 233
9.4枚举 237
9.4.1枚举类型的定义 238
9.4.2枚举类型变量的定义 238
9.4.3枚举类型变量的使用 239
9.5类型别名 243
习题 245
第10章 文件 247
10.1基本概念 247
10.1.1字节流 247
10.1.2文件 247
10.1.3缓冲 248
10.1.4文件指针 248
10.2文件的打开与关闭 249
10.2.1文件的打开 249
10.2.2文件的关闭 250
10.3文本文件的读写 250
10.3.1fputc函数和fgetc函数 251
10.3.2fgets函数和fputs函数 254
10.3.3fprintf函数和fscanf函数 255
10.4二进制文件的读写 257
10.4.1fread函数和fwrite函数 257
10.4.2文件的位置指针与随机读写 258
10.5出错状态的检测和清除 263
10.5.1ferror函数 263
10.5.2clearerr函数 263
10.6综合应用举例 263
习题 267
下篇 实践篇 271
第11章 实验指导 271
11.1实验目的与要求 271
11.2实验一VC++6.0IDE与C语言程序开发 273
11.3实验二基本数据的输入输出 279
11.4实验三选择结构 280
11.5实验四循环结构 282
11.6实验五函数 284
11.7实验六递归 286
11.8实验七数组 288
11.9实验八字符串 291
11.10实验九指针(1) 293
11.11实验十指针(2) 295
11.12实验十一结构体与单向链表 298
11.13实验十二文件 302
11.14实验十三综合 304
第12章 VisualC++++6.0集成开发环境 307
12.1VisualC++++的集成开发环境 307
12.1.1菜单栏 307
12.1.2工具栏 312
12.1.3工作区窗口 314
12.1.4文本编辑器和编辑菜单 315
12.1.5文件菜单 317
12.1.6Build菜单 318
12.2VisualC++++开发C语言程序的基本过程 319
12.2.1创建C语言程序的方式 319
12.2.2源程序的编辑与格式化 322
12.2.3多文件程序的组织 323
12.2.4程序的编译、链接和运行 323
12.3程序调试 324
12.3.1程序的错误类型 324
12.3.2编译错误、链接错误的查看和修改 325
12.3.3运行错误、逻辑错误的判断与调试 326
12.3.4基本调试手段 327
12.3.5集成开发环境的跟踪调试功能 329
12.4VisualC++的帮助功能 333
第13章 TurboC2.0集成开发环境 335
13.1TurboC2.0的安装 335
13.2TC环境的启动与退出 336
13.3TC环境的工作界面介绍 337
13.4编辑源程序 339
13.5编译、连接和运行程序 341
13.6设置TC工作环境 347
13.7程序调试方法 348
13.8TC菜单项的功能 352
13.8.1File菜单 352
13.8.2Edit命令 353
13.8.3Run菜单 355
13.8.4Compile菜单 355
13.8.5Project菜单 356
13.8.6Debug菜单 356
13.8.7Break/watch菜单 357
13.8.8Options菜单 357
13.8.9常用热键 360
13.9常见错误信息 362
13.9.1严重错误 362
13.9.2一般错误 362
13.9.3警告 366
13.10联机帮助 367
附录A ASCII码表 370
附录B 数制 371
B.1数制的基本概念 371
B.2不同数制之间数的相互转换 372
附录C 实数的表示法 374
附录D C语言常用标准库函数 376
D.1数学库函数 376
D.2字符处理函数 377
D.3字符串处理函数 378
D.4内存操作函数 379
D.5标准输入输出库函数 379
D.6通用函数 381
D.6.1堆内存分配函数 381
D.6.2伪随机函数 381
D.6.3数据转换函数 382
D.6.4其他函数 382
D.7访问函数可变参数的宏 383
D.8时间和日期函数 384
附录E C99简介 385
参考文献 386