第一章 C语言及其简史 1
目录 1
第二章 C语言的快速入门 4
§2.1 步起 4
§2.2 变量、语句和算术运算 8
§2.3 另一种循环—FOR语句 11
§2.4 符号常数 12
§2.5 一组有用的程序 12
§2.6 数组 18
§2.7 函数 19
§2.8 函数的参数—传值调用 21
§2.9 字符数组 22
§2.10 作用域与外部变量 24
§2.11 再谈命名 27
§2.12 C程序的文件 28
§2.14 编程风格 29
§2.13 标准库 29
§2.15 小结 31
第三章 基本数据类型 32
§3.1 整型 32
§3.2 字符型 34
§3.3 浮点型 34
§3.4 双精度型 35
§3.5 变量的说明及初始化 35
§3.6 常数 36
§3.7 混合运算及类型转换 38
第四章 代储类 42
§4.1 自动变量 42
§4.2 寄存器变量 43
§4.3 静态变量 44
§4.4 外部变量 46
§5.1 算术运算符和赋值运算符 50
§4.5 变量的作用域 51
§4.6 变量的初始化 56
第五章 运算符 59
§5.2 模运算符 61
§5.3 关系运算符和逻辑运算符 62
§5.4 增1和减1算符 62
§5.5 字位逻辑算符 64
§5.6 条件运算符 65
§5.7 运算符的嵌套 66
§5.8 逗号运算符 67
§5.9 优先级与解算顺序 67
第六章 流程控制 70
§6.1 程序块 70
§6.2 If-Else 流程 70
§6.3 Else-If 流程 72
§6.4 多路分支—开关语句 73
§6.5 While和For循环 74
§6.6 Do-While循环 77
§6.7 Break语句 78
§6.8 Continue语句 79
§6.9 Goto语句和标号 80
第七章 函数 82
§7.1 基础 82
§7.2 返回非整型值的情形 85
§7.3 再谈函数的参数 87
§7.4 块结构 87
§7.5 函数的递归使用 88
§8.1 字符串替换 90
第八章 C语言预处理程序 90
§8.2 带参数的宏替换 92
§8.3 文件的包含 95
第九章 指针和数组 97
§9.1 指针和地址 97
§9.2 指针和函数参数 99
§9.3 指针和数组 100
§9.4 地址运算 102
§9.5 字符指针与函数 105
§9.6 指针不是整数的情形 108
§9.7 多维数组 109
§9.8 指针数组和指向指针的指针 110
§9.9 指针数组的初始化 113
§9.10 指针与多维数组 114
§9.11 命令行参数 115
§9.12 指向函数的指针 119
第十章 结构 122
§10.1 结构的说明 122
§10.2 结构的成员、初始化和嵌套 124
§10.3 结构与函数 125
§10.4 结构数组 127
§10.5 指向结构的指针 131
§10.6 结构的自引用 132
§10.7 结构的一种应用一查表 136
§10.8 存储空间的充分利用一字段 138
§10.9 联合 139
§10.10 typedef—定义类型的另一种方法 141
第十一章 输入与输出 143
§11.1 标准库的使用 143
§11.2 字符的输入输出—Getchar和Putchar 144
§11.3 格式化输出—Printf 145
§11.4 格式输入—Scanf 146
§11.5 存储格式的变换 148
§11.6 字符串的输入输出—Gets和Puts 149
§11.7 文件的使用 150
§11.8 把数字数据送入程序 154
§11.9 出错处理—Stderr和Exit 155
§11.10 行输入和行输出 156
§11.11 其他各类函数 157
§11.12 库的管理 158
第十二章 与UNIX系统的接口 161
§12.1 文件描述子 161
§12.2 低层I/O—Read和Write 162
§12.3 打开、创建、关闭和撤消—Open,Creat,Close,Unlink 163
§12.4 随机存取—Seek和Lseek 165
§12.5 例—Fopen和Getc的实现 166
§12.6 例—列目录表 169
§12.7 例—存储分配程序 173
第十三章 微型机上的C语言 178
§13.1 编译和连接问题 178
§13.2 阅读系统库资料的有关问题 180
§13.3 微型机用的C语言编译程序 180
§13.4 DOS下的内存的安排 184
§14.1 常见的错误类型 186
第十四章 编程中常见的错误和排错问题 186
§14.2 一些出错的实例 193
§14.3 排错问题 198
附录A C语言参考手册 202
1.概述 202
2.词汇约定 202
3.语法的表示 204
4.名字有些什么含义? 204
6.类型转换 205
5.对象和左值 205
7.表达式 207
8.说明 213
9.语句 221
10.外部定义 224
11.作用域 225
12.编译程序的控制行 226
13.隐式说明 227
14.再谈类型 228
15.常数表达式 230
16.可移植性考虑 230
17.一些已经过时的东西 231
18.语法摘要 231
附录B 如何上机 237
附录C UNIX的编辑程序和一些常用的编辑命令 241
附录D 一些常用的UNIX命令 245
附录E ASCII码 249