第1章 C语言基础知识 1
1.1 C语言概述 1
1.1.1 什么是C语言 1
1.1.2 C程序形式和程序执行过程 2
1.2 简单C程序与上机步骤 3
1.2.1 简单C程序 3
1.2.2 上机步骤 5
1.3 数据类型 7
1.4.1 常量与变量的概念 8
1.4 常量与变量 8
1.4.2 整型常量与变量 10
1.4.3 实型常量与变量 11
1.4.4 字符型常量与变量 13
1.5 运算符和表达式 15
1.5.1 算术运算符和表达式 15
1.5.2 赋值运算符和表达式 17
1.5.3 逗号运算符和表达式 19
1.5.4 自加、自减运算符 20
1.6 提高部分 21
1.6.1 Turbo C集成环境 21
1.6.2 赋值运算符的进一步讨论 24
1.6.3 自加、自减运算符的进一步讨论 25
1.6.4 整型数据类型的进一步讨论 27
习题1 29
1_1 基础部分习题 29
1_2 提高部分习题 31
第2章 顺序结构程序设计 32
2.1 结构化程序设计的基本结构 32
2.1.1 语句的概念 32
2.1.2 三种基本结构 33
2.2 赋值语句 35
2.3 输入输出语句 36
2.3.1 格式输入输出函数 36
2.3.2 字符输入输出函数 39
2.4 提高部分 40
2.4.1 输入输出函数的进一步讨论 40
2.4.2 实例的部分程序 44
习题2 46
2_1 基础部分习题 46
2_2 提高部分习题 46
3.1 关系运算符和关系表达式 48
3.1.1 关系运算符 48
第3章 分支结构程序设计 48
3.1.2 关系表达式 49
3.2 逻辑运算符和逻辑表达式 50
3.2.1 逻辑运算符 50
3.2.2 逻辑表达式 50
3.3 if语句 52
3.3.1 if语句的一般形式 52
3.3.2 if语句的嵌套 60
3.4 switch语句 64
3.5.1 if和switch语句的进一步讨论 67
3.5 提高部分 67
3.5.2 条件运算符和表达式 75
3.5.3 实例的部分程序 76
习题3 78
3_1 基础部分习题 78
3_2 提高部分习题 79
第4章 循环结构程序设计 82
4.1 for语句 82
4.2 while语句 91
4.3 do-while语句 95
4.4.1 循环体中使用break语句 98
4.4 break语句和continue语句 98
4.4.2 循环体中使用continue语句 100
4.5 循环语句的嵌套 101
4.6 提高部分 104
4.6.1 for语句的应用 104
4.6.2 三种循环的对比 108
4.6.3 goto语句以及用goto语句构成的循环 112
4.6.4 实例的部分程序 113
习题4 116
4_1 基础部分习题 116
4_2 提高部分习题 119
第5章 数组 122
5.1 一维数组 122
5.1.1 一维数组的定义和引用 122
5.1.2 一维数组的初始化 125
5.1.3 一维数组程序举例 128
5.2 字符串 140
5.2.1 字符串的概念和字符串的输入输出 140
5.2.2 字符串处理函数和实现相应功能的自编程序 143
5.3 二维数组 147
5.4 提高部分 150
5.4.1 二维数组的程序举例 150
5.4.2 实例的部分程序 154
习题5 157
5_1 基础部分习题 157
5_2 提高部分习题 158
第6章 指针 159
6.1 变量的地址和指针变量的概念 159
6.2 指针变量的定义和引用 160
6.3 指针和一维数组 163
6.3.1 使指针变量指向一维数组 163
6.3.2 对指针的算术运算 164
6.4.1 通过字符数组名引用字符串 168
6.4 指针和字符串 168
6.4.2 通过指针变量引用字符串 169
6.5 提高部分 171
6.5.1 指针的进一步讨论 171
6.5.2 指针和二维数组 173
6.5.3 实例的部分程序 177
习题6 186
6_1 基础部分习题 186
6_2 提高部分习题 188
第7章 函数 189
7.1 函数的引例 190
7.2.1 函数的定义 192
7.2 函数的定义与调用 192
7.2.2 函数的调用 193
7.2.3 函数的调用过程 198
7.2.4 函数的返回值 201
7.2.5 被调函数的原型说明 205
7.3 函数的嵌套调用 206
7.4 数组做实参 207
7.4.1 数组元素做实参 207
7.4.2 一维数组名做实参 208
7.4.3 二维数组名做实参 211
7.5.1 内部变量和外部变量 213
7.5 变量的存储类别 213
7.5.2 动态存储变量和静态存储变量 215
7.6 提高部分 216
7.6.1 函数的递归调用 216
7.6.2 带参数的main函数 219
7.6.3 指向函数的指针 224
7.6.4 变量存储类别的进一步讨论 226
7.6.5 预处理命令 228
7.6.6 实例的部分程序 232
7_1 基础部分习题 236
习题7 236
7_2 提高部分习题 238
第8章 结构体和其他构造类型 241
8.1 结构体类型变量的定义和使用 241
8.1.1 结构体类型的概念和声明 241
8.1.2 结构体类型变量的定义和使用 242
8.2 结构体和函数调用 249
8.3 提高部分 252
8.3.1 结构体的进一步讨论 252
8.3.2 链表 256
8.3.3 共用体 264
8.3.4 枚举类型 266
8.3.5 实例的部分程序 268
习题8 270
8_1 基础部分习题 270
8_2 提高部分习题 272
第9章 位运算与位段 274
9.1 移位运算符 274
9.2 按位与、或、异或运算符 275
9.4 提高部分 277
9.4.1 位运算的进一步讨论 277
9.3 按位取反运算符 277
9.4.2 位段 279
习题9 280
9_1 基础部分习题 280
9_2 提高部分习题 281
第10章 文件 282
10.1 文件的概述 282
10.2 文件的基本操作 283
10.3 提高部分 291
10.3.1 文件读写操作的进一步讨论 291
10.3.2 文件的定位操作 297
10.3.3 实例的部分程序 301
习题10 304
10_1 基础部分习题 304
10_2 提高部分习题 305
附录Ⅰ C语言关键字 306
附录Ⅱ 常用字符与ASCII代码对照表 307
附录Ⅲ 运算符的优先级和结合方向 308
附录Ⅳ 常用C库函数 309
附录Ⅴ 常见错误、警告信息表 312
单号题参考答案 313
参考文献 333