目录 1
第1章 C程序设计基础知识 1
1.1 计算机语言和程序执行 1
1.1.1 程序和计算机语言 1
1.1.2 程序执行 2
1.2 C程序结构 2
1.2.1 简单C程序实例 2
1.2.2 C程序结构 4
1.2.3 初学编写程序 5
1.3 使C程序在计算机上执行 7
1.3.1 实现C程序执行的步骤 7
1.3.2 在Borland C++3.1环境下编辑、编译及运行C程序 8
1.4 C语言的特点 9
小结 10
习题 11
第2章 基本数据类型与常用库函数 13
2.1 字符集与标识符 13
2.2 数据类型与基本数据类型 14
2.2.1 数据类型 14
2.2.2 基本数据类型 15
2.3 常量与变量 16
2.3.1 常量 16
2.3.2 符号常量 18
2.3.3 变量 19
2.4 数据的输入/输出函数及常用库函数 20
2.4.1 数据的输入/输出 21
2.4.2 常用数学函数 29
2.4.3 常用字符函数 30
2.4.4 其他常用函数 31
小结 31
习题 32
第3章 运算符和表达式 35
3.1 运算符与表达式的基础知识 35
3.2 算术运算符和算术表达式 36
3.2.1 算术运算符与算术运算 36
3.2.2 自增、自减运算 38
3.3.1 简单赋值运算 39
3.3 赋值运算 39
3.3.2 复合赋值运算 40
3.4 关系运算符、逻辑运算符与逻辑表达式 40
3.4.1 关系运算符 41
3.4.2 逻辑运算符 43
3.4.3 逻辑表达式 44
3.5 条件表达式与逗号表达式 45
3.5.1 条件表达式 45
3.5.2 逗号表达式 46
小结 47
习题 47
第4章 控制结构与语句 51
4.1 算法与程序 51
4.2.1 程序的三种基本结构 52
4.2 结构化程序设计 52
4.2.2 程序设计过程 53
4.3 顺序结构 53
4.4 选择结构 54
4.4.1 if语句 54
4.4.2 switch语句 60
4.5 循环结构 63
4.5.1 goto语句 63
4.5.2 while语句 64
4.5.3 do-while语句 65
4.5.4 for语句 67
4.5.5 单重循环程序举例 69
4.5.6 break语句与continue语句 71
4.6 多重循环结构 74
4.7 实际应用举例 77
小结 81
习题 81
第5章 数组 86
5.1 一维数组 86
5.1.1 一维数组的定义 86
5.1.2 一维数组的初始化 86
5.1.3 一维数组元素的引用 87
5.1.4 一维数组应用举例 87
5.1.5 数组排序与数组查找 89
5.2 二维数组 93
5.2.2 二维数组的初始化 94
5.2.1 二维数组的定义 94
5.2.3 二维数组的引用 95
5.2.4 二维数组应用举例 96
5.3 字符数组 98
5.3.1 字符数组的定义、初始化和引用 98
5.3.2 字符串和字符数组 99
5.3.3 字符数组的输入/输出 99
5.3.4 常用字符串处理函数 100
5.3.5 字符串应用举例 102
5.4 二维字符数组 105
5.4.1 二维字符数组的定义、初始化和引用 105
5.4.2 字符串数组应用举例 106
小结 107
习题 108
第6章 函数 114
6.1 函数概述与C程序构成 114
6.1.1 函数概述 114
6.1.2 C程序构成 115
6.2 函数定义和函数调用 115
6.2.1 函数定义 115
6.2.2 retum返回语句 117
6.2.3 函数调用 118
6.2.4 函数声明 120
6.3 函数间的参数传递 121
6.3.1 函数调用过程及参数传递 121
6.3.2 传数值 122
6.3.3 传地址 124
6.3.4 参数求值顺序 127
6.4 函数嵌套调用和递归调用 128
6.4.1 函数嵌套调用 128
6.4.2 递归调用 129
6.5 变量的作用域和变量存储类别 134
6.5.1 全局变量和局部变量 134
6.5.2 变量的存储类别 137
小结 140
习题 141
第7章 编译预处理 148
7.1 宏定义 148
7.1.1 不带参数的宏定义 148
7.1.2 带参数的宏定义 150
7.2 文件包含 151
7.3 条件编译 153
小结 154
习题 155
第8章 指针 157
8.1 指针的基本概念 157
8.1.1 存储单元、内存地址及指针 157
8.1.2 指针变量 158
8.1.3 指针运算 161
8.1.4 指针作为函数的参数 163
8.2 指针与一维数组 166
8.2.1 一维数组元素表示 166
8.2.2 数组元素指针作为函数的参数 169
8.3.1 二维数组中的指针 170
8.3 指针与二维数组 170
8.3.2 二维数组元素表示 172
8.3.3 二维数组的行指针作函数参数 174
8.4 指针与字符串 176
8.4.1 字符串与字符串指针 176
8.4.2 字符串指针作函数参数 177
8.5 指针数组 178
8.5.1 指针数组的定义与初始化 178
8.5.2 指针数组应用举例 179
8.5.3 指针数组作main函数的参数 180
8.6 多级指针 181
8.7 指针与函数 183
8.7.1 指向函数的指针 183
8.7.2 返回指针的函数 185
小结 187
习题 188
第9章 结构体 193
9.1 结构体类型的定义和变量的定义 193
9.1.1 结构体类型的定义 193
9.1.2 结构体变量的定义 194
9.1.3 结构体变量的初始化 195
9.1.4 结构体变量的引用 196
9.1.5 嵌套结构体中成员的引用 197
9.2 结构体数组 198
9.2.1 结构体数组的定义及初始化 198
9.2.2 结构体数组的引用 199
9.3 结构体和指针 200
9.2.3 结构体数组的应用举例 200
9.3.1 结构体指针变量的定义 201
9.3.2 结构体指针变量的引用 201
9.4 结构体和函数 203
9.4.1 结构体变量作函数参数 203
9.4.2 结构体指针作函数参数 204
9.4.3 返回结构体数据的函数 205
9.4.4 返回结构体指针的函数 206
9.5 链表 207
9.5.1 链表的数据结构 208
9.5.2 动态存储分配库函数 208
9.5.3 链表的基本操作 209
9.6.1 共用体变量的定义 216
9.6 共用体 216
9.6.2 共用体变量的引用 217
*9.7 枚举 218
9.7.1 枚举变量的定义 218
9.7.2 枚举变量的引用 219
小结 220
习题 221
第10章 位运算 226
10.1 位运算概述 226
10.2 位运算符 226
10.2.1 位运算符简介 227
10.2.2 位运算符的优先级 231
10.3 位运算应用举例 231
习题 235
小结 235
11.1 文件概述 237
11.1.1 文件的基本概念 237
第11章 文件 237
11.1.2 文件类型指针 238
11.2 文件的打开与关闭 240
11.2.1 打开文件 240
11.2.2 关闭文件 241
11.3 文本文件的顺序读写 241
11.3.1 字符读/写 241
11.3.2 字符串读/写 243
11.3.3 格式化输入/输出 245
11.4.1 输入/输出函数 248
11.4 二进制文件的顺序读写 248
11.4.2 二进制文件顺序读写应用举例 249
11.5 文件定位函数及文件随机读写举例 251
11.5.1 文件定位函数 252
11.5.2 文件随机读写应用举例 252
小结 254
习题 255
附录 258
附录1 C语言中的关键字 258
附录2 字符与ASCII码对照表 258
附录3 运算符的优先级与结合性 259
附录4 常用库函数 260