第一章 绪论 1
为何使用C? 1
关于读者的某些假设 3
C程式的基本特性 4
C的函式 4
标准C函式库 7
C中的分号 9
函式的引数 10
综合说明 11
程式规划风格 12
小写及大写字母 12
大括号的位置及对齐 13
程式变数 15
变数名称 17
关键字 17
变数及printf()的简单用法 18
风格摘要 21
第二章 运算子、变数、及回路 23
运算子 23
算术/关系运算子 23
逻辑运算子 27
变数:在C中增加/减少 29
回路 32
while回路 32
do-while回路 35
附录2 八进位及十六进位数系 43
二进位数系 43
八进位数系 45
十六进位数系 47
第三章 设计自己的函式 51
C函式的格式 51
型态宣告辞 53
函式名称 54
引数列 55
引数的宣告 56
函数本体 57
C中的return叙述 58
从函式归还一个数值 59
变数的范围、储存种类、及寿命 60
编译器及连结器 61
外部变数 63
自动变数 67
值和有范围的变数 69
静态变数 70
暂存器变数 71
隐私权及函式 72
设计C程式 76
第四章 指标 81
宣告及指标 83
设定指标初值 85
左值及右值 85
左值、右值及指标 86
指标的重要性 89
一个使用指标的程式范例 90
另一个范例 95
增加及减少指标值 101
第五章 输入及输出 103
使用标准函式库中的I/O函式 103
一个简单的程式 105
#include 106
#define 107
Null 结束字元 109
累积函式 110
进一步说明字串阵列 112
读取数值资料 114
程式的输出:printf()的选择 117
scanf(),通用输入函式 119
含小写字母的输入函式 122
其他状况 125
switch()叙述 130
第六章 其他的资料型态 133
基本资料型态 133
基本资料型态的扩充 135
short 135
unsigned 135
long 136
混合资料型态 136
char及int 137
转换及设定 137
二元运算子及混合的资料型态 138
浮点算术运算及倍准确度 139
函式的引数及提升 139
提升及被提升的资料型态 140
使用其他的资料型态 141
转换ASCII字元成浮点数目 142
计算一数的平方根 145
使用不带符号的资料型态 148
使用long资料型态 150
右——左规则 151
资料型态的缩写 152
多维阵列 153
第七章 结构及组合 157
设定结构的初值 159
使用结构 162
结构和函式并用 163
结构与隐私权 165
在呼叫的函式中改变结构元素的内容 167
传送整个结构给函式 168
结构及阵列 170
组合 178
运算子的层次及简写 181
第八章 磁碟档案作业 185
低层次对高层次的磁碟I/O 186
启开档案 186
读取档案 193
命令列引数:argc及argv 194
简易资料绘图 197
低层次档案I/O 203
open() 203
read() 205
write() 206
close() 207
使用低层次档案I/O 208
其他选择 211
附录八 进一步探讨档案I/O 215
FILE结构 215
和档案交谈 219
stdin,stdout,及stderr 219
第九章 常犯的错误及除错 221
常见的错误 221
遗漏或错置分号 221
遗漏大括号 223
设定与关系测试 226
程式注解 227
传给函式的引数是拷贝 228
在函式呼叫中忘了宣告引数 230
在main()中忘了宣告函式 231
函式呼叫归还整数给main() 232
指标在被设定初值之前含的是垃圾 233
彻底的愚蠢 234
除错 235
错误的种类 236
语法错误 236
程式错误 236
潜伏性的臭虫 236
错误的侦测及分离 238
结论 242
附录A ASCII码 243
附录B 供应中的C编译器 247
附录C 语法摘要 251