第1章 C语言基础知识 1
1.1 C语言概述 2
1.1.1 什么是C语言 2
1.1.2 C程序形式和程序执行过程 3
1.2 简单C程序与上机步骤 4
1.2.1 简单C程序 4
1.2.2 上机步骤 5
1.3 数据类型 7
1.4 常量与变量 8
1.4.1 常量与变量的概念 8
1.4.2 整型常量与变量 10
1.4.3 实型常量与变量 12
1.4.4 字符型常量与变量 13
1.5 运算符和表达式 16
1.5.1 算术运算符和表达式 16
1.5.2 赋值运算符和表达式 18
1.5.3 逗号运算符和表达式 20
1.5.4 自加、自减运算符 20
1.6 提高部分 21
1.6.1 Turbo C 2.0集成环境 21
1.6.2 Visual C++ 6.0集成环境 24
1.6.3 赋值运算符的进一步讨论 28
1.6.4 自加、自减运算符的进一步讨论 29
1.6.5 整型数据类型的进一步讨论 31
1.7 上机训练 33
习题1 34
基础部分 34
提高部分 35
第2章 顺序结构程序设计 37
2.1 结构化程序设计的基本结构 38
2.1.1 语句的概念 38
2.1.2 三种基本结构 38
2.2 赋值语句 40
2.3 输入输出语句 41
2.3.1 格式输入输出函数 41
2.3.2 字符输入输出函数 45
2.4 提高部分 46
2.4.1 输入输出函数的进一步讨论 46
2.4.2 实例的部分程序 50
2.5 上机训练 51
习题2 53
基础部分 53
提高部分 53
第3章 分支结构程序设计 55
3.1 关系运算符和关系表达式 56
3.1.1 关系运算符 56
3.1.2 关系表达式 56
3.2 逻辑运算符和逻辑表达式 57
3.2.1 逻辑运算符 57
3.2.2 逻辑表达式 58
3.3 if语句 59
3.3.1 if语句的一般形式 60
3.3.2 if语句的嵌套 67
3.4 switch语句 69
3.5 提高部分 72
3.5.1 if、switch语句的进一步讨论 72
3.5.2 条件运算符和表达式 79
3.5.3 实例的部分程序 80
3.6 上机训练 82
习题3 84
基础部分 84
提高部分 86
第4章 循环结构程序设计 87
4.1 for语句 88
4.2 while语句 97
4.3 do-while语句 100
4.4 break语句和continue语句 103
4.4.1 循环体中使用break语句 103
4.4.2 循环体中使用continue语句 105
4.5 循环语句的嵌套 105
4.6 提高部分 109
4.6.1 for语句的应用 109
4.6.2 三种循环的对比 112
4.6.3 goto语句以及用goto语句构成的循环 116
4.6.4 实例的部分程序 117
4.7 上机训练 120
习题4 123
基础部分 123
提高部分 126
第5章 数组 128
5.1 一维数组 129
5.1.1 一维数组的定义和引用 129
5.1.2 一维数组的初始化 132
5.1.3 一维数组程序举例 135
5.2 字符串 141
5.2.1 字符串的概念和字符串的输入输出 141
5.2.2 字符串处理函数 143
5.3 二维数组 146
5.4 提高部分 149
5.4.1 数组的补充程序举例 149
5.4.2 实例的部分程序 158
5.5 上机训练 160
习题5 163
基础部分 163
提高部分 164
第6章 指针 166
6.1 变量的地址和指针变量的概念 167
6.2 指针变量的定义和引用 167
6.3 指针和一维数组 170
6.3.1 使指针变量指向一维数组 171
6.3.2 对指针的算术运算 172
6.4 指针和字符串 175
6.4.1 通过字符数组名引用字符串 175
6.4.2 通过指针变量引用字符串 176
6.5 提高部分 178
6.5.1 指针的进一步讨论 178
6.5.2 指针和二维数组 180
6.5.3 实例的部分程序 183
6.6 上机训练 193
习题6 196
基础部分 196
提高部分 197
第7章 函数 198
7.1 函数的引例 199
7.2 函数的定义与调用 202
7.2.1 函数的定义 202
7.2.2 函数的调用 203
7.2.3 函数的调用过程 208
7.2.4 函数的返回值 211
7.2.5 被调函数的原型说明 215
7.3 函数的嵌套调用 216
7.4 数组做实参 217
7.4.1 一维数组名做实参 217
7.4.2 二维数组名做实参 220
7.5 变量的存储类别 221
7.5.1 内部变量和外部变量 221
7.5.2 动态存储变量和静态存储变量 223
7.6 提高部分 224
7.6.1 函数的递归调用 224
7.6.2 带参数的main函数 227
7.6.3 指向函数的指针 231
7.6.4 变量存储类别的进一步讨论 233
7.6.5 预处理命令 235
7.6.6 实例的部分程序 238
7.7 上机训练 241
习题7 244
基础部分 244
提高部分 247
第8章 结构体和其他构造类型 249
8.1 结构体类型变量的定义和使用 250
8.1.1 结构体类型的概念和声明 250
8.1.2 结构体类型变量的使用 251
8.2 结构体和函数调用 257
8.3 提高部分 261
8.3.1 结构体的进一步讨论 261
8.3.2 链表 264
8.3.3 共用体 272
8.3.4 实例的部分程序 274
8.4 上机训练 277
习题8 279
基础部分 279
提高部分 280
第9章 位运算 282
9.1 移位运算符 282
9.2 按位与、或、异或运算符 284
9.3 按位取反运算符 285
9.4 提高部分 286
9.4.1 位运算的复合赋值运算符 286
9.4.2 负整型数据的位运算 286
9.4.3 无符号整型数据的位运算 287
9.4.4 不同类型数据之间的位运算 287
习题9 287
基础部分 287
提高部分 288
第10章 文件 289
10.1 文件的概述 290
10.2 文件的基本操作 291
10.3 提高部分 299
10.3.1 文件读写操作的进一步讨论 299
10.3.2 文件的定位操作 305
10.3.3 实例的部分程序 309
10.4 上机训练 312
习题10 314
基础部分 314
提高部分 315
附录A C语言关键字 316
附录B 常用字符与ASCII代码对照表 317
附录C 运算符的优先级和结合方向 319
附录D 常用C库函数 320
附录E 常见错误、警告信息表 324
附录F 关键字、运算符、库函数索引 326
附录G 单号题参考答案 329
参考文献 348