目录 1
出版说明 1
前言 1
第1章 C语言程序设计概述 1
1.1 C语言的发展、特点与应用 1
1.1.1 C语言的发展 1
1.1.2 C语言的特点 1
1.1.3 C语言的应用 2
1.2 Turbo C的集成环境 4
1.2.1 Turbo C2.0的特点与配置要求 4
1.2.2 Turbo C2.0的内容 4
1.2.3 Turbo C2.0的安装与启动 5
1.2.4 Turbo C的热键 7
1.3 C语言程序的结构 8
1.3.1 C语言程序的组成 8
1.3.2 C语言的标识符 15
1.3.3 C语言的关键字 16
1.4 小结 16
1.5 习题 16
第2章 数据类型及其运算 19
2.1 常量和变量 19
2.1.1 常量 19
2.1.2 变量 21
2.2 数据类型 23
2.2.1 整型数据 24
2.2.2 实型数据 27
2.2.3 字符型数据 29
2.3 运算符和运算表达式 32
2.4 类型转换 38
2.5 小结 39
2.6 习题 39
第3章 顺序结构程序设计 42
3.1 顺序结构 42
3.2 顺序结构基本语句 43
3.2.1 表达式语句 43
3.2.2 空语句 43
3.2.3 复台语句 44
3.2.4 无条件转向语句 44
3.3.1 字符数据的输入输出 45
3.3 数据输入输出处理 45
3.2.5 函数调用语句 45
3.3.2 格式输入输出 47
3.4 小结 55
3.5 习题 55
第4章 选择结构程序设计 61
4.1 if条件分支结构 61
4.1.1 简单if分支结构 61
4.1.2 if~else两路分支结构 62
4.1.3 if~else if~else多路分支结构 63
4.2 switch-case开关语句 65
4.3 选择结构的嵌套 68
4.4 选择结构程序举例 70
4.5 小结 73
4.6 习题 74
第5章 循环结构程序设计 78
5.1 当型循环while结构 78
5.2 直到型循环do-while结构 80
5.3 for循环结构 82
5.4 break和continue语句 84
5.4.1 break语句 85
5.4.2 continue语句 86
5.5 循环嵌套 87
5.6 综合实例分析 88
5.7 小结 90
5.8 习题 90
6.1.1 一维数组的定义 98
6.1 一维数组 98
第6章 数组的定义和引用 98
6.1.2 一维数组的引用 99
6.1.3 一维数组的初始化 99
6.1.4 一维数组应用举例 100
6.2 多维数组 104
6.2.1 二维数组 104
6.2.2 二维数组程序举例 108
6.2.3 三维数组 110
6.2.4 多维数组的使用 111
6.3 字符数组与字符串 112
6.3.1 字符数组 113
6.3.2 字符串及其使用 114
6.3.3 常用的字符串处理函数 115
6.3.4 字符数组应用举例 119
6.4 小结 122
6.5 习题 122
第7章 函数 126
7.1 C语言函数 126
7.1.1 库函数 127
7.1.2 自定义函数 127
7.2 函数的值与函数的类型 129
7.3 函数的参数以及参数传递 130
7.3.1 形参和实参的特点 131
7.3.2 数组作为函数参数 132
7.4 函数的调用 136
7.5 函数的嵌套调用 137
7.6 函数的递归调用 138
7.7 函数变量 140
7.7.1 局部变量 140
7.7.2 全局变量 141
7.8 动态存储变量和静态存 143
储变量 143
7.8.1 自动变量(auto) 144
7.8.2 外部变量(extern) 144
7.8.3 静态变量(static) 145
7.8.4 寄存器变量(static) 146
7.9 外部函数和内部函数 147
7.9.1 内部函数 147
7.9.2 外部函数 147
7.10 小结 148
7.11 习题 149
第8章 编译预处理 157
8.1 什么是编译预处理 157
8.2 宏定义 157
8.2.1 不带参数的宏定义 158
8.2.2 带参数的宏定义 159
8.2.3 宏定义的终止 162
8.3 文件包含处理 163
8.4 条件编译 165
8.5 小结 167
8.6 习题 167
第9章 指针 171
9.1 指针与指针变量 171
9.1.2 指针变量的赋值 173
9.1.1 定义指针变量 173
9.1.3 指针变量的运算 174
9.1.4 指针变量作函数参数 177
9.2 数组与指针 180
9.2.1 指向数组的指针变量 180
9.2.2 指向数组元素的指针变量 181
9.2.3 数组名作函数参数 184
9.2.4 指针变量作函数参数 185
9.2.5 多维数组与指针变量 188
9.3 字符串指针及其指针变量 194
9.3.1 字符数组实现字符串 194
9.3.2 字符指针实现字符串 194
9.3.3 字符串指针作函数参数 198
9.4.2 通过函数指针来调用函数 200
9.4 函数的指针及指向函数的指针变量 200
9.4.1 函数指针变量的定义与使用 200
9.4.3 用函数指针变量作函数参数 202
9.5 返回指针值的指针函数 204
9.6 指针数组和指向指针的指针 208
9.6.1 指针数组 208
9.6.2 指向指针的指针变量 210
9.7 main函数的命令行参数 211
9.8 小结 212
9.9 习题 213
10.1 结构体类型及其变量的 226
10.1.1 结构体类型的定义 226
定义和引用 226
类型 226
第10章 结构体、共用体与枚举 226
10.1.2 结构体类型变量的定义、引用和初始化 227
10.2 结构体数组的定义、初始化和引用 231
10.2.1 结构体数组的定义和初始化 231
10.2.2 结构体数组的引用 232
10.3 指向结构体类型数据的 234
指针 234
10.3.1 指向结构体变量的指针 234
10.3.2 指向结构体数组的指针 235
10.3.3 向函数传递结构体类型数据 236
10.4 链表及其处理操作 240
10.4.1 动态链表操作的有关函数 240
10.4.2 单向动态链表的建立和输出 241
10.4.3 在单向动态链表中插入节点 245
10.4.4 在单向动态链表中删除节点 247
10.5 共用体类型变量的定义 250
和引用 250
10.5.1 共用体类型及共用体变量的定义 250
10.5.2 共用体变量的引用 252
10.6 枚举类型 253
10.6.1 枚举类型的定义 253
10.6.2 枚举类型变量的定义和引用 254
10.7 用户自定义类型 255
10.8 小结 260
10.9 习题 260
11.1 位运算符 265
第11章 位运算 265
11.1.1 位“与”运算(&) 266
11.1.2 位“或”运算(|) 266
11.1.3 “异或”运算(∧) 267
11.1.4 “取反”运算(~) 268
11.1.5 “左移”运算(<<) 268
11.1.6 “右移”运算(>>) 268
11.1.7 位运算赋值运算 268
11.2 位段 269
11.2.1 位段的定义 270
11.2.2 位段的引用 271
11.3 小结 272
11.4 习题 272
12.1 文件的概念 274
第12章 文件处理 274
12.2 文件类型指针 275
12.3 文件的打开与关闭 276
12.3.1 文件的打开(fopen) 276
12.3.2 文件的关闭(fclose) 278
12.4 文件的读写 279
12.4.1 字符读写函数(fputc函数和fgetc函数) 279
12.4.2 数据读写函数(fread函数和fwrite函数) 281
12.4.3 格式读写函数(fprintf函数和fscanf函数) 283
12.4.4 字读写函数(putw函数和getw函数) 284
12.4.5 字符串读写函数(fputs函数和fgets函数) 285
12.5.1 rewind函数 287
12.5.2 fseek函数 287
12.5 文件的定位 287
12.5.3 ftell函数 288
12.6 出错检测函数 289
12.6.1 ferror函数 289
12.6.2 clearerr函数 289
12.7 应用举例 289
12.8 小结 291
12.9 习题 291
附录 294
附录A 习题参考答案 294
附录B 常用字符与ASCII码 303
对照表 303
附录C 全国计算机等级考试二级C语言考试大纲 304
参考文献 307