第1章 C语言概述 1
1.1 程序设计语言的发展 1
1.2 C语言的产生及特点 1
1.2.1 C语言的产生 1
1.2.2 C语言的特点 2
1.3 C语言的字符集和标识符 3
1.3.1 字符集 3
1.3.2 标识符 4
1.4 C程序的基本构成 4
1.4.1 C程序的组成 4
1.4.2 C程序的书写格式 5
1.4.3 C程序的算法 6
1.5 C程序的编辑、编译和连接 8
1.6 C语言的集成开发环境 9
1.7 C语言的应用 11
本章小结 11
习题1 11
第2章 数据类型、常量和变量 13
2.1 数据类型 13
2.2 常量 14
2.2.1 整型常量 14
2.2.2 实型常量 15
2.2.3 字符常量 16
2.2.4 字符串常量 18
2.2.5 符号常量 18
2.2.6 枚举常量 20
2.3 变量 20
2.3.1 变量的定义和初始化 20
2.3.2 整型变量 21
2.3.3 实型变量 23
2.3.4 字符型变量 24
2.3.5 数据类型转换 25
本章小结 27
习题2 27
第3章 运算符和表达式 28
3.1 概述 28
3.1.1 C语言运算符 28
3.1.2 C语言表达式 29
3.2 运算符及表达式简介 29
3.2.1 算术运算符及其表达式 29
3.2.2 关系运算符及其表达式 33
3.2.3 逻辑运算符及其表达式 34
3.2.4 位运算符及其表达式 38
3.2.5 赋值运算符及其表达式 41
3.2.6 逗号运算符及其表达式 44
3.2.7 条件运算符及其表达式 45
3.2.8 其他运算符…… 46
本章小结 48
习题3…… 48
第4章 程序结构 50
4.1 程序结构概述 50
4.2 顺序结构 51
4.3 选择结构 53
4.3.1 选择结构简介概述 53
4.3.2 简单的if结构 54
4.3.3 if-else语句语句 56
4.3.4 if-else-if语句 58
4.3.5 if语句的嵌套 61
4.3.6 switch语句 68
4.4 循环结构 73
4.4.1 循环结构简介 73
4.4.2 while循环语句 73
4.4.3 do-while循环语句 79
4.4.4 for循环语句 83
4.4.5 几种循环语句的比较 90
4.4.6 循环语句的嵌套 91
4.5 无条件转向语句 97
4.5.1 break语句 97
4.5.2 continue语句 100
4.5.3 goto语句 102
本章小结 104
习题4 104
第5章 数组 107
5.1 数组概述 107
5.2 一维数组的定义及应用 107
5.2.1 一维数组的定义 107
5.2.2 一维数组的引用 109
5.2.3 一维数组的初始化 110
5.2.4 一维数组的应用 112
5.3 二维数组的定义及应用 117
5.3.1 二维数组的定义 117
5.3.2 二维数组的引用 117
5.3.3 二维数组的初始化 119
5.3.4 二维数组的存储形式 120
5.3.5 二维数组的应用 122
5.4 多维数组的定义及应用 123
5.5 字符数组 125
5.5.1 字符数组的定义 125
5.5.2 字符数组的初始化 125
5.5.3 字符数组元素的引用 127
5.5.4 字符数组的输入输出 127
5.5.5 字符数组程序设计示例 129
本章小结 133
习题5 133
第6章 指针 135
6.1 地址和指针的概念 135
6.2 指向变量的指针变量 137
6.2.1 指针变量的定义 137
6.2.2 指针变量的引用 138
6.2.3 指针变量的运算 141
6.3 指针与数组 143
6.3.1 指向数组元素的指针变量 144
6.3.2 通过指针引用数组元素…… 145
6.3.3 指向多维数组的指针 148
6.3.4 指针数组 152
6.4 指针与字符串 153
6.4.1 指向字符串的指针变量 153
6.4.2 字符串指针与字符数组的区别 154
本章小结 155
习题6 155
第7章 函数 157
7.1 函数概述 157
7.2 函数的定义 159
7.3 函数的声明和调用 161
7.3.1 函数的声明 161
7.3.2 函数的调用 162
7.4 参数的传递 164
7.4.1 普通值传递 164
7.4.2 地址值传递 167
7.5 嵌套调用和递归调用 170
7.5.1 嵌套调用 170
7.5.2 递归调用…… 172
7.6 指针与函数 176
7.6.1 指针变量作函数参数 176
7.6.2 返回值为指针值的函数 178
7.6.3 函数的指针和指向函数的指针变量 179
7.7 数组作为函数参数 181
7.8 变量的作用域和存储类别 184
7.8.1 局部变量和全局变量 184
7.8.2 变量的存储类别 188
7.9 外部函数和内部函数 190
7.9.1 内部函数 190
7.9.2 外部函数 191
7.10 命令行参数 192
7.11 实例演示:“极限俱乐部会员信息系统”程序(一) 194
本章小结 207
习题7 207
第8章 复杂数据类型 210
8.1 复杂数据类型概述 210
8.2 结构体类型和结构体变量 210
8.2.1 结构体类型的定义 210
8.2.2 结构体变量的定义 213
8.3 结构体变量的使用和初始化 214
8.3.1 结构体变量成员的引用 214
8.3.2 结构体变量的初始化 217
8.3.3 结构体变量的使用 218
8.4 结构体数据的输入/输出 219
8.5 结构体变量作函数参数 222
8.6 带有位段成员的结构体 224
8.7 链表 226
8.6.1 链表的概念 226
8.6.2 链表的基本操作 227
8.8 共用体类型 233
8.8.1 共用体类型的定义 234
8.8.2 共用体变量的定义 235
8.8.3 共用体变量的引用 236
8.9 枚举类型 238
8.10 实例演示:“极限俱乐部会员信息系统”程序(二) 240
本章小结 253
习题8 253
第9章 预处理命令和常用库函数 256
9.1 预处理命令 256
9.1.1 文件包含命令 256
9.1.2 宏定义 259
9.1.3 条件编译 263
9.2 常用输入/输出函数 265
9.3 常用字符串函数 271
9.4 动态内存分配函数 276
本章小结 278
习题9 278
第10章 文件 280
10.1 文件的基本概念概述 280
10.1.1 文件的概念及分类 280
10.1.2 文件缓冲区 281
10.1.3 设备文件 282
10.2 文件类型及其指针 282
10.3 文件的打开和关闭 283
10.3.1 文件打开函数 283
10.3.2 文件关闭函数 286
10.4 文件的输入和输出 287
10.4.1 字符读/写函数 287
10.4.2 字符串读/写函数 289
10.4.3 格式化读/写函数 291
10.4.4 块读/写函数 293
10.5 文件的定位函数 297
10.5.1 rewind()函数 297
10.5.2 fseek()函数 298
10.6 出错检测函数 299
10.6.1 ftell()函数 299
10.6.2 ferror()函数和Clearerr()函数 300
本章小结 302
习题10 302
第11章 实例演示 304
11.1 “极限俱乐部会员信息系统”程序(三) 304
11.2 “极限俱乐部会员信息系统”程序(四) 319
11.3 “教学成绩管理系统”程序 338
附录Ⅰ C语言中的关键字 357
附录Ⅱ 运算符和结合性 358
附录Ⅲ C语言库函数 359