第1章 C语言概述 1
1.1 C语言引例 1
1.1.1 C程序基本结构 3
1.1.2 C程序书写格式 4
1.2 基本的输入输出函数的用法 4
1.2.1 scanf()函数 4
1.2.2 printf()函数 9
1.3 C程序运行环境 12
1.3.1 Visual C++ 12
1.3.2 Turbo C下运行C语言源程序 16
1.4 算法 18
1.4.1 程序设计与算法 19
1.4.2 算法的描述 21
1.5 本章常见错误总结 24
本章小结 26
习题一 26
实验一 27
第2章 C语言基础 29
2.1 基本的数据类型 29
2.1.1 标识符 30
2.1.2 关键字 30
2.2 常量 31
2.2.1 整型常量 31
2.2.2 实型常量 32
2.2.3 字符型常量 33
2.2.4 转义字符 33
2.2.5 符号常量 34
2.3 变量 34
2.3.1 整型变量 35
2.3.2 实型变量 37
2.3.3 字符型变量 39
2.3.4 sizeof()运算符 41
2.4 运算符和表达式 42
2.4.1 赋值运算符和赋值表达式 42
2.4.2 算术运算符 45
2.4.3 自增自减运算符 47
2.4.4 关系运算 48
2.4.5 逻辑运算 49
2.4.6 条件运算 51
2.4.7 位运算 52
2.4.8 逗号运算符和逗号表达式 55
2.5 顺序结构程序设计 56
2.5.1 C语句 56
2.5.2 顺序结构程序举例 58
2.6 本章常见错误总结 59
本章小结 61
习题二 61
实验二 66
第3章 选择结构程序设计 68
3.1 if语句引例 68
3.2 if语句 69
3.3 if语句的嵌套 73
3.4 switch语句 76
3.5 选择结构程序实例 81
3.6 常见错误 85
本章小结 87
习题三 87
实验三 92
第4章 循环结构程序设计 96
4.1 循环引例 96
4.2 while语句 97
4.3 do…while语句 99
4.4 for语句 101
4.5 break和continue语句 104
4.5.1 break语句 104
4.5.2 continue语句 105
4.6 循环的嵌套 107
4.7 循环程序举例 109
4.8 本章常见错误总结 113
本章小结 115
习题四 116
实验四 119
第5章 数组 123
5.1 数组引例 123
5.2 一维数组 124
5.2.1 一维数组定义 125
5.2.2 一维数组引用和初始化 125
5.2.3 一维数组的应用 127
5.3 二维数组 132
5.3.1 二维数组的定义 132
5.3.2 二维数组的引用和初始化 133
5.3.3 二维数组程序举例 135
5.4 字符数组和字符串 138
5.4.1 字符数组 138
5.4.2 字符串 138
5.4.3 字符数组的输入输出方式 139
5.4.4 字符串处理函数 141
5.4.5 字符数组和字符串程序实例 145
5.5 数组实例 147
5.6 常见错误 151
本章小结 152
习题五 153
实验五 155
第6章 函数 160
6.1 函数引例 160
6.2 函数的定义与调用 162
6.2.1 函数的定义 162
6.2.2 函数调用 163
6.2.3 形式参数和实际参数 166
6.2.4 函数的返回值 167
6.3 函数的嵌套和递归 168
6.3.1 函数的嵌套 168
6.3.2 函数的递归调用 169
6.4 数组作为函数参数 173
6.5 变量的作用域及存储类型 178
6.5.1 静态、动态 179
6.5.2 变量的作用域 180
6.6 外部、内部函数 183
6.7 预处理命令 184
6.8 应用举例 186
6.9 本章常见错误总结 191
本章小结 193
习题六 194
实验六 197
第7章 指针 200
7.1 指针引例 200
7.2 指针变量的定义和引用 200
7.2.1 指针变量的定义 201
7.2.2 指针变量的引用 202
7.2.3 指针变量作函数的参数 205
7.3 指针与数组 206
7.3.1 指针与一维数组 206
7.3.2 指针与二维数组 210
7.3.3 数组指针作函数的参数 212
7.3.4 指针与字符数组 217
7.3.5 指针数组 220
7.4 指针与函数 221
7.4.1 指向函数的指针变量的定义及使用 221
7.4.2 用指针类型数据作函数参数 223
7.4.3 带参的主函数 225
7.4.4 返回指针的函数 226
7.5 指向指针的指针 228
7.6 指针应用举例 229
7.7 指针常见错误小结 232
本章小结 234
习题七 235
实验七 237
第8章 结构体与共用体 240
8.1 结构体引例 240
8.2 结构体类型声明与结构体变量定义 241
8.2.1 结构体类型声明 241
8.2.2 结构体类型定义 242
8.2.3 结构体变量的引用和初始化 244
8.2.4 结构体变量作为函数参数 247
8.3 结构体数组 249
8.3.1 结构体数组的定义 250
8.3.2 结构体数组的初始化 251
8.3.3 结构体数组作为函数参数 252
8.4 结构体指针 254
8.4.1 结构体指针变量的定义及引用 254
8.4.2 结构体数组指针 255
8.4.3 指向结构体的指针作为函数参数 256
8.5 链表——结构体应用 257
8.5.1 链表概述 258
8.5.2 链表基本运算 258
8.5.3 链表应用举例 261
8.6 共用体 264
8.6.1 共用体的定义 266
8.6.2 共用体的引用和初始化 267
8.7 枚举类型 268
8.7.1 枚举类型的声明和变量定义 269
8.7.2 枚举类型变量的操作 270
8.8 本章常见错误总结 271
本章小结 274
习题八 274
实验八 276
第9章 文件 283
9.1 文件引例 283
9.2 文件概述 284
9.3 文件打开与关闭 284
9.3.1 文件的打开 284
9.3.2 文件的关闭 285
9.4 文件的读写 286
9.4.1 文件的字符读写 286
9.4.2 文件的字符串读写 290
9.4.3 文件的格式化读写 292
9.4.4 文件的数据块读写 293
9.5 其他文件函数 295
9.5.1 文件定位 295
9.5.2 文件检测 298
9.6 综合应用举例 300
9.7 本章常见错误总结 307
本章小结 308
习题九 308
实验九 310
第10章 综合实例程序设计 314
10.1 程序设计的基本过程 314
10.2 综合程序设计实例 315
10.2.1 题目的内容要求 315
10.2.2 程序的功能设计 316
10.2.3 程序的数据设计 317
10.2.4 程序的函数设计 318
10.2.5 函数编程及调试 319
10.2.6 整体调试 338
10.2.7 程序维护 338
10.3 C语言大型程序项目的管理 338
本章小结 339
习题十 339
附录A 常用ASCII码字符对照表 340
附录B 编译错误信息 341
附录C 常用库函数 354
附录D 部分习题参考答案 363
习题一参考答案 363
习题二参考答案 364
习题三参考答案 366
习题四参考答案 368
习题五参考答案 371
习题六参考答案 373
习题七参考答案 378
习题八参考答案 383
习题九参考答案 386
参考文献 392