第1章 程序设计概述 1
1.1 计算机语言及程序设计 1
1.2 算法 5
本章小结 11
习题 12
第2章 C语言概述 13
2.1 C语言的发展历史 13
2.2 C语言的特点 14
2.3 C程序的构成和书写格式 14
2.4 C语言的基本组成 17
2.5 C程序的上机步骤 20
本章小结 28
习题 29
第3章 数据类型、运算符和表达式 31
3.1 C的数据类型 31
3.2 常量和变量 31
3.3 整型数据 35
3.4 实型数据 40
3.5 字符型数据 42
3.6 运算符及表达式概述 46
3.7 算术运算符和算术表达式 48
3.8 赋值运算符和赋值表达式 50
3.9 自增自减运算符 53
3.10 不同数据类型间的转换 55
3.11 关系运算符和关系表达式 57
3.12 逻辑运算符和逻辑表达式 58
3.13 条件运算符和条件表达式 61
3.14 逗号运算符和逗号表达式 62
本章小结 63
习题 63
第4章 顺序结构程序设计 70
4.1 C程序的组成结构及C语句种类 70
4.2 数据的输入输出 72
4.3 格式化输出函数——printf() 73
4.4 格式化输入函数——scanf() 80
4.5 字符输入输出函数 85
4.6 输入输出流缓冲区的概念 87
4.7 顺序结构应用举例 90
本章小结 94
习题 94
第5章 选择结构程序设计 101
5.1 if语句 101
5.2 switch语句 111
5.3 选择结构应用举例 115
本章小结 122
习题 122
第6章 循环结构程序设计 131
6.1 while语句 131
6.2 do-while语句 136
6.3 for语句 137
6.4 三种循环语句的比较 142
6.5 循环的嵌套 144
6.6 循环的异常跳转 146
6.7 循环结构及常用算法应用举例 152
6.8 随机数的产生和应用 160
本章小结 163
习题 163
第7章 数组 174
7.1 一维数组 174
7.2 多维数组 191
7.3 字符串的存储与处理 200
本章小结 211
习题 212
第8章 指针 219
8.1 变量与地址 219
8.2 指针的概念 221
8.3 指针与一维数组 226
8.4 字符指针与字符串 235
8.5 指针与二维数组 237
8.6 指针数组 242
8.7 多级指针 246
本章小结 248
习题 248
第9章 函数 254
9.1 函数的概念 254
9.2 函数的定义 256
9.3 函数的调用 259
9.4 函数参数的传递 262
9.5 数组的传递 266
9.6 字符串的传递 275
9.7 函数的嵌套调用和递归调用 276
9.8 变量的作用域 280
9.9 变量的存储类型 284
9.10 指针型函数 287
9.11 指向函数的指针 288
本章小结 292
习题 293
第10章 结构体与共用体 300
10.1 结构体类型及结构体变量 300
10.2 结构体数组 308
10.3 指向结构体数据的指针 311
10.4 结构体数据的传递和返回 314
10.5 动态存储分配的相关函数 318
10.6 链表 321
10.7 共用体 337
10.8 枚举类型数据 339
10.9 用typedef自定义类型 343
本章小结 345
习题 346
第11章 位运算与编译预处理 355
11.1 位运算 355
11.2 编译预处理 362
本章小结 367
习题 367
第12章 文件 370
12.1 文件的概述 370
12.2 文件的打开与关闭 373
12.3 文件的读写 375
12.4 使用文件的程序设计 385
本章小结 389
习题 389
附录 392
附录A ASCII字符编码一览表 392
附录B 关键字及其用途 393
附录C 运算符的优先级和结合性 394
附录D C常用库函数 395
参考文献 400