第1章C语言概述 1
1.1 C语言简介 1
1.1.1程序设计语言 1
1.1.2 C语言的起源 2
1.1.3 C语言的特点 3
1.2 C程序初体验 3
1.2.1简单C程序实例 3
1.2.2 C程序的组成 6
1.2.3 C程序的基本语法知识 6
1.3 C程序的执行 6
1.3.1 C程序的开发步骤 7
1.3.2 C程序的上机步骤 7
本章小结 9
习题 10
第2章 基本数据类型、运算符及表达式 12
2.1字符集与关键字、标识符 12
2.2数据与数据类型 13
2.2.1常量与变量 13
2.2.2数据类型 14
2.3基本数据类型 15
2.3.1整型数据 15
2.3.2实型数据 18
2.3.3字符型数据 19
2.4运算符与表达式 22
2.4.1算术运算符与算术表达式 22
2.4.2赋值运算符与赋值表达式 24
2.4.3关系运算符与关系表达式 26
2.4.4逻辑运算符与逻辑表达式 27
2.4.5逗号运算符与逗号表达式 27
2.4.6运算符的优先级和结合性 28
2.4.7位运算符 28
本章小结 31
习题 331
第3章 程序的控制结构 34
3.1算法和程序的控制结构 34
3.2顺序结构 35
3.2.1引例 35
3.2.2数据的输入/输出 36
3.3选择结构 40
3.3.1引例 40
3.3.2 if语句 41
3.3.3 switch语句 44
3.4循环结构 48
3.4.1引例 48
3.4.2 while语句 49
3.4.3 do…while语句 51
3.4.4 for语句 53
3.4.5 goto语句 56
3.4.6循环语句中的break语句与continue语句 56
3.4.7多重循环结构 60
3.5综合实例 63
本章小结 66
习题 66
第4章 数组 76
4.1一维数组 76
4.1.1一维数组的定义 76
4.1.2一维数组元素的引用 77
4.1.3一维数组的初始化 78
4.1.4一维数组的输入/输出 78
4.1.5实例剖析 78
4.2二维数组 86
4.2.1二维数组的定义 86
4.2.2二维数组的引用 87
4.2.3二维数组的初始化 87
4.2.4二维数组的输入/输出 88
4.2.5实例剖析 89
4.3字符数组 90
4.3.1字符数组的定义与引用 90
4.3.2字符数组与字符串 91
4.3.3字符数组的初始化 91
4.3.4字符数组的输入/输出 92
4.3.5常用的字符串函数 93
4.3.6实例剖析 96
本章小结 97
习题 98
第5章 函数 104
5.1函数与C语言的结构 104
5.2库函数 105
5.3自定义函数 106
5.3.1函数定义的一般形式 106
5.3.2函数参数和函数的值 108
5.3.3函数的调用 111
5.4函数的嵌套与递归调用 113
5.5内部函数与外部函数 115
5.6实例剖析 116
本章小结 119
习题 120
第6章 变量的作用域及存储类别 124
6.1变量的作用范围 124
6.1.1局部变量 125
6.1.2全局变量 126
6.2变量的存储类别 127
6.2.1自动变量auto 127
6.2.2静态变量static 128
6.2.3寄存器变量register 129
6.2.4外部变量exte 129
6.3实例剖析 130
本章小结 132
习题 132
第7章 编译预处理 136
7.1宏定义 136
7.1.1不带参数的宏定义 136
7.1.2带参数的宏定义 138
7.2文件包含 140
7.3条件编译 140
本章小结 142
习题 142
第8章 指针 144
8.1指针的基本知识 144
8.1.1地址与指针概念 144
8.1.2指针变量的定义 145
8.1.3指针变量的赋值与引用 146
8.1.4指针变量的运算 149
8.1.5指针变量作为函数的参数 151
8.2指针与一维数组 153
8.2.1指针与一维数组的关系 153
8.2.2数组名作为函数的参数 158
8.3指针与二维数组 163
8.3.1指针与二维数组的关系 163
8.3.2二维数组的行指针作为函数的参数 170
8.4指针与字符串 170
8.4.1字符串与字符指针 170
8.4.2字符指针作为函数的参数 173
8.4.3使用字符串指针变量与字符数组的区别 174
8.5指针与函数 175
8.5.1指向函数的指针 175
8.5.2返回指针值的函数 179
8.5.3 main函数的参数 181
8.6指针数组 182
8.6.1指针数组的定义 182
8.6.2指针数组的初始化 183
8.6.3指针数组作函数的参数 184
8.6.4指针数组的应用 184
8.7多级指针 187
8.7.1多级指针的定义 187
8.7.2多级指针的初始化 188
8.7.3多级指针的应用举例 189
8.8实例剖析 189
本章小结 194
习题 194
第9章 结构体、共用体与枚举 199
9.1定义结构体类型 199
9.2定义和使用结构体变量 201
9.2.1结构体变量的定义 201
9.2.2结构体变量的初始化 203
9.2.3结构体变量的引用 203
9.3结构体数组 205
9.3.1结构体数组的定义 205
9.3.2结构体数组的初始化 206
9.3.3结构体数组的引用 206
9.4结构体和指针 8
9.4.1指向结构体变量的指针 209
9.4.2指向结构体数组的指针 210
9.5单向链表 211
9.5.1链表概述 212
9.5.2链表的特点及操作原理 213
9.5.3链表的建立 214
9.5.4链表的删除 216
9.5.5链表的插入 218
9.6共用体 219
9.7枚举类型 221
9.7.1枚举类型的定义和枚举变量的说明 222
9.7.2枚举类型变量的赋值和使用 222
本章小结 223
习题 224
第10章 文件 226
10.1文件概述 226
10.2文件的打开与关闭 229
10.2.1打开文件 229
10.2.2关闭文件 231
10.3读/写文件 231
10.3.1以字符为单位读/写 232
10.3.2以字符串为单位读/写 233
10.3.3格式化方式读/写 233
10.3.4以数据块为单位读/写 234
10.4文件的定位 235
10.5实例剖析 236
本章小结 240
习题 241
附录A字符 244
附录B C语言中的关键字 247
附录C运算符的优先级与结合性 248
附录D常用标准库函数 250
参考文献 253