第1章 程序设计基础 1
1.1数在计算机内的表示形式 1
1.1.1进位计数制 1
1.1.2数制转换 3
1.1.3码制 4
1.1.4定点数和浮点数 7
1.1.5字符编码 8
1.2程序设计和算法 12
1.2.1计算机的工作原理 12
1.2.2程序设计 12
1.2.3算法 13
1.3程序设计语言 17
1.3.1程序设计语言分类 17
1.3.2 C语言的发展和特点 19
1.4 C语言的字符集和标识符 20
1.4.1字符集 20
1.4.2标识符 21
1.5 C程序的基本结构和上机步骤 22
1.5.1 C程序的基本结构 22
1.5.2 C程序的上机步骤 24
练习1 25
第2章 数据类型、运算符和表达式 27
2.1常量和变量 27
2.1.1常量 28
2.1.2变量 29
2.2基本数据类型 29
2.2.1整型数据 29
2.2.2实型数据 32
2.2.3字符型数据 33
2.2.4变量的初始化 36
2.3运算符和表达式 37
2.3.1算术运算符和算术表达式 38
2.3.2赋值运算符和赋值表达式 40
2.3.3逗号运算符和逗号表达式 41
2.3.4运算符和sizeof运算符 42
2.3.5运算符的优先级和结合性 43
2.4数据类型转换 43
2.4.1类型自动转换 43
2.4.2类型强制转换 45
练习2 46
第3章 结构化程序设计 48
3.1结构化程序设计概述 48
3.2顺序结构程序设计 49
3.2.1 C语言语句概述 49
3.2.2常用的输入和输出函数 51
3.2.3顺序结构程序设计举例 56
3.3选择结构程序设计 57
3.3.1关系运算符和关系表达式 57
3.3.2逻辑运算符和逻辑表达式 58
3.3.3 if语句 60
3.3.4条件运算符 67
3.3.5 switch语句 68
3.4循环结构程序设计 71
3.4.1 while循环结构 72
3.4.2 do-while循环结构 73
3.4.3 for循环结构 75
3.4.4循环结构的嵌套 78
3.4.5无条件转移语句 80
3.4.6循环程序设计方法举例 83
练习3 88
第4章 数组、指针 92
4.1一维数组 92
4.1.1一维数组的定义 92
4.1.2一维数组的初始化 93
4.1.3一维数组元素的引用 94
4.1.4一维数组应用举例 95
4.2二维数组 102
4.2.1二维数组的定义 102
4.2.2二维数组的初始化 103
4.2.3二维数组元素的引用 104
4.2.4二维数组应用举例 105
4.3指针与数组 107
4.3.1指针与指针变量 107
4.3.2与指针有关的运算 109
4.3.3指针与一维数组 113
4.3.4用typedef自定义类型 115
4.3.5指针与二维数组 116
4.4字符数组和字符串处理函数 119
4.4.1字符数组 119
4.4.2常用字符串处理函数 122
4.4.3字符数组应用举例 126
4.5指针数组和二级指针 130
4.5.1指针数组 130
4.5.2二级指针 132
练习4 133
第5章 函数 136
5.1函数概述 136
5.2函数的定义 137
5.3函数的调用 140
5.3.1函数声明 140
5.3.2函数调用 141
5.3.3形参与实参 143
5.3.4库函数调用实例 144
5.4数组作为函数的参数 147
5.4.1数组元素作函数实参 147
5.4.2指针作函数参数 147
5.4.3数组名作函数参数 150
5.5函数的嵌套调用和递归调用 155
5.5.1函数的嵌套调用 155
5.5.2函数的递归调用 156
5.6指针与函数 161
5.6.1返回指针值的函数 161
5.6.2动态存储分配函数 163
5.6.3指向函数的指针 164
5.7变量的作用域和存储类别 168
5.7.1变量的作用域 168
5.7.2变量的存储类别 171
5.8内部函数和外部函数 178
5.8.1内部函数 178
5.8.2外部函数 178
5.8.3外部函数应用举例 179
练习5 181
第6章 结构体类型 184
6.1结构体类型的定义 184
6.2结构体变量的定义和使用 186
6.2.1结构体变量的定义和初始化 186
6.2.2结构体变量的使用 187
6.3结构体数组 189
6.3.1结构体数组的定义和初始化 189
6.3.2结构体指针 190
6.4结构体作函数参数 191
6.4.1结构体变量作函数参数 191
6.4.2结构体指针(数组)作函数参数 192
6.5动态数据结构——链表 194
6.5.1单链表概述 194
6.5.2单链表的基本操作 195
6.5.3单链表应用举例 199
练习6 200
第7章 文件 202
7.1文件概述 202
7.2文件的打开和关闭 204
7.2.1文件类型指针 204
7.2.2文件的打开 204
7.2.3文件的关闭 206
7.3文件的读写 206
7.3.1文件的字符读写 206
7.3.2文件的字符串读写 209
7.3.3文件的格式化读写 211
7.3.4文件的数据块读写 213
7.4文件的定位 215
7.4.1 rewind()函数 216
7.4.2 fseek()函数 217
7.4.3 ftell()函数 219
7.5文件的出错检测与处理 219
7.5.1 ferror()函数 219
7.5.2 clearerr()函数 220
练习7 220
附录A常用运算符的含义、优先级和结合性 221
附录B常用C库函数 222
参考文献 226