第1章初识C语言 2
1-1显示计算结果 2
计算整数的和并显示结果 2
程序和编译 2
注释 3
固定代码 4
格式化输出函数printf 4
语句 5
计算并显示整数的差 5
格式化字符串和转换说明 6
符号的称呼 7
无格式化输出 8
字符串常量 9
转义字符 9
1-2变量 10
常量和变量 10
声明多个变量 11
赋值 11
1-3输入和显示 12
通过键盘进行输入 12
格式化输入函数scanf 12
乘法运算 13
输出函数puts 14
第2章运算和数据类型 18
2-1运算 18
四则运算 18
运算符和操作数 18
商和余数 19
乘除运算符和加减运算符 19
使用printf函数打印% 19
获取整数的最后一位数字 20
多个转换说明 21
单目运算符 22
赋值运算符 23
表达式和赋值表达式 23
表达式语句 23
2-2数据类型 24
求平均值 24
数据类型 24
int类型和double类型 25
数据类型和对象 26
整数常量和浮点数常量 27
double类型的运算 27
数据类型和运算 28
类型转换 30
转换说明 32
第3章分支结构程序 36
3-1 if语句 36
程序的流程 36
if语句(1) 36
奇数的判定 37
if语句(2) 38
奇数和偶数 39
判断 39
非0的判断 40
语法结构 40
相等运算符 42
比较余数 43
关系运算符 44
嵌套的if语句 45
计算较大值 46
计算三个数的最大值 47
条件运算符 48
差值计算 49
复合语句(程序块) 50
判断季节 52
逻辑运算符 52
3-2 switch语句 54
程序的流程 54
switch语句和if语句 57
选择语句 57
第4章程序的循环控制 60
4-1 do语句 60
do语句 60
复合语句(程序块)中的声明 61
逻辑非运算符 61
逆向显示整数值 62
计算整数的位数 63
初始化 64
复合赋值运算符 66
后置递增运算符和 67
后置递减运算符 67
4-2 while语句 68
while语句 68
字符常量 69
putchar 69
用递减运算符简化程序代码 70
数据递增 71
限定次数的循环操作 72
前置递增运算符和 73
前置递减运算符 73
4-3 for语句 74
for语句 74
循环语句 75
固定次数的循环 76
4-4多重循环 78
九九乘法表 78
多重循环 79
长方形 80
直角三角形 80
4-5程序的组成元素和格式 82
关键字 82
标识符 82
分隔符 83
运算符 83
常量和字符串常量 83
自由的书写格式 84
连接相邻的字符串常量 85
缩进 85
第5章数组 88
5-1数组 88
数组 88
数组和for语句 90
数组初始化 92
数组的复制 93
输入数组元素的值 94
对数组进行倒序排列 94
使用数组进行成绩处理 96
对象式宏 96
赋值表达式 98
及格学生一览表 100
数组的元素个数 100
成绩分布图 101
5-2多维数组 102
矩阵 102
5-3质数计算 104
质数 104
质数计算程序(第1版) 104
大整数 104
break语句 104
质数计算程序(第2版) 106
质数计算程序(第3版) 107
质数计算程序(第4版) 108
质数计算程序(第5版) 110
逗号运算符 110
第6章函数 114
6-1什么是函数 114
main函数 114
库函数 114
函数定义和函数调用 114
三个数中的最大值 118
平方差 119
幂 120
值传递 120
调用其他函数 121
6-2函数设计 122
没有返回值的函数 122
通用性 122
不含形参的函数 124
函数返回值的初始化 125
作用域 125
计算最高分的程序 126
文件作用域 126
声明和定义 127
函数原型声明 127
头文件和文件包含指令 128
函数的通用性 129
数组的传递 130
对接收到的数组进行写入处理 132
const类型的修饰符 133
顺序查找 134
哨兵查找法 135
表达式语句和空语句 137
多维数组的传递 138
6-3作用域和存储期 140
作用域和标识符的可见性 140
存储期 142
第7章基本数据类型 148
7-1基本数据类型和数 148
基本数据类型 148
基数 149
基数转换 150
7-2整型和字符型 152
字符型和整型 152
〈limits.h〉头文件 154
字符型 155
sizeof运算符 156
size_t型和typedef明 157
整型的灵活运用 157
整型常量 158
整型常量的数据类型 158
内部表示和位 160
无符号整数的内部表示 160
有符号整数的内部表示 161
反码表示法和补码表示法 162
窥探整数内部 163
按位操作的逻辑运算 164
位移运算符 166
位数的计算 168
求出unsigned型的位数 168
显示位的内容 169
整数的显示 170
数据溢出和异常 171
7-3浮点型 172
浮点型 172
浮点型常量 173
循环的控制 174
〈math.h〉头文件 175
7-4运算 176
运算符一览 176
优先级 176
结合性 176
数据类型转换 178
sizeof运算符 180
sizeof运算符和数组 181
第8章动手编写各种程序吧 184
8-1函数式宏 184
函数和数据类型 184
函数式宏 185
函数和函数式宏 186
不带参数的函数式宏 187
函数式宏和逗号运算符 188
8-2枚举类型 190
枚举类型 190
枚举常量 192
命名空间 193
8-3递归 194
阶乘 194
最大公约数 196
问题和递归 197
8-4输入输出和字符 198
数字字符计数 198
getchar函数 198
EOF 198
字符和数值 199
字符 200
转义字符 203
复制 204
第9章字符串的基本知识 208
9-1什么是字符串 208
字符串字面量 208
字符串字面量的长度 208
字符串 210
字符数组的初始化赋值 211
空字符串 212
字符串的读取 212
格式化显示字符串 213
9-2字符串数组 214
字符串数组 214
读取字符串数组中的字符串 215
9-3字符串处理 216
字符串长度 216
遍历字符串 218
数字字符的出现次数 219
字符串数组的参数传递 220
大小写字符转换 222
第10章指针 226
10-1指针 226
函数的参数 226
变量和对象 227
地址 227
取址运算符 228
指针 229
指针运算符 231
10-2指针和函数 232
作为函数参数的指针 232
二值互换 234
引用传递(C+++语言) 235
计算和与差 236
scanf函数和指针 236
将两个值升序排列 237
指针的类型 238
标量型 239
10-3指针和数组 240
指针和数组 240
数组的传递 244
第11章字符串和指针 248
11-1字符串和指针 248
字符串和指针 248
数组和指针的相同点 249
数组和指针的不同点 250
字符串数组 252
11-2通过指针操作字符串 254
字符串和指针 254
判断字符串长度 254
const 254
使用指针进行遍历 255
字符串的复制 256
不正确的字符串复制 258
返回指针的函数 259
11-3 字符串处理库函数 260
字符串处理函数 260
字符串转换函数 264
第12章结构体 268
12-1结构体 268
排序 268
冒泡排序法 269
数据关联性 270
结构体 272
结构体成员(-﹥运算符) 274
成员的初始化 275
结构体成员(->运算符) 276
结构体和typedef 278
结构体和程序 279
聚合类型 280
命名空间 280
返回结构体的函数 281
结构体数组 282
派生类型 282
表示日期和时间的结构体 284
12-2作为成员的结构体 286
表示坐标的结构体 286
表示具有定位功能的汽车的结构体 286
第13章文件处理 290
13-1文件与流 290
文件 290
流 290
标准流 291
FILE型 291
打开文件 292
关闭文件 294
打开与关闭文件示例 295
文件数据汇总 296
写入日期和时间 298
获取上一次运行时的信息 300
标准输入输出 302
显示文件内容 302
文件的复制 304
13-2文本和二进制 306
在文本文件中保存实数 306
文本文件和二进制文件 307
在二进制文件中保存实数 308
显示文件自身 310
C语言的历史 314
K&R——C语言的圣经 314
附录1C语言简介 314
C语言标准规范 314
附录2 printf 函数与Scanf函数 318
printf函数 318
scanf函数 322
致谢 326
参考文献 326
索引 327
版权声明 338