前言 1
第1章 C语言程序设计介绍 1
1.1 C简史 1
1.2为什么C是程序设计语言中最好 1
的选择 1
目录 1
1.4 程序开发周期中的步骤 2
1.4.1 用编辑器输入源代码 2
1.3解决问题的技巧 2
1.4.2使用编译器 3
1.4.3生成可执行文件 4
1.4.4 运行程序 4
1.5怎样编写、编译并运行第一个 5
C程序 5
1.6编译器和连接器所产生的错误信息 6
1.7小结 7
1.8 练习 7
1.9 词汇 11
2.1 一个短小的C程序 12
第2章 C程序的结构 12
2.2程序成分 13
2.2.1 main()函数 13
2.2.2#include命令 13
2.2.3变量定义 13
2.2.4函数原型 13
2.2.8函数调用 14
2.3注释 14
2.2.9函数定义 14
2.2.6 printf() 14
2.2.7 scanf() 14
2.2.5程序语句 14
2.4实践 15
2.5小结 16
2.6练习 16
2.7词汇 18
3.1 计算机存储器 19
第3章 数值型变量与常量 19
3.2变量与变量名 20
3.3变量类型 21
3.4说明 23
3.5数值型变量 23
3.6常量 24
3.7小结 27
3.8练习 27
3.9词汇 29
第4章 语句、表达式和运算符 31
4.1语句 31
4.2代码块 32
4.3表达式 33
4.4运算符 33
4.5单目算术运算符 34
4.6双目算术运算符 35
4.7优先级和括号 37
4.9关系运算符 38
4.8求值 38
4.10表达式与if语句 39
4.11关系表达式 43
4.12关系运算符的优先级 44
4.13逻辑运算符 45
4.14真值和假值 46
4.15逻辑运算符的优先级 46
4.16复合赋值运算符 47
4.18逗号运算符 48
4.17条件运算符 48
4.19小结 49
4.20练习 49
4.21词汇 51
第5章 函数 52
5.1什么是函数? 52
5.2函数怎样工作 54
5.3结构化程序设计 55
5.4自顶向下的结构化程序设计 56
5.5编写一个函数 56
5.5.1 函数头 56
5.5.2函数体 58
5.7返回一个值 60
5.6函数语句 60
5.8函数原型 62
5.9将实参传递给函数 62
5.10调用函数 63
5.11 小结 64
5.12练习 64
5.13词汇 65
6.1什么是作用域? 67
第6章 变量的作用域 67
6.2作用域的重要性 68
6.3外部(全局)变量 69
6.4 extern关键字 69
6.5局部变量 70
6.6参数与作用域 72
6.7静态外部变量 73
6.8寄存器变量 73
6.10程序块 74
6.9选择存储级 74
6.11小结 75
6.12练习 76
6.13词汇 79
第7章 程序控制 80
7.1 C程序的执行 80
7.2 for语句 80
7.3 for语句嵌套 84
7.4 while语句 85
7.5 while语句嵌套 87
7.6 do…while循环 89
7.7嵌套的循环 91
7.8小结 92
7.9练习 92
7.10词汇 93
第8章 高级程序控制 95
8.1高级程序控制 95
8.2 continue语句 96
8.3 goto语句 97
8.4无限循环 99
8.5 switch语句 102
8.6 exit()函数 109
8.7 atexit()函数 109
8.8 system()函数 112
8.9小结 113
8.10练习 113
8.11词汇 115
9.1 用printf()函数显示信息 116
第9章 基本输入和输出 116
9.2 printf()转义符 117
9.3 printf()转换控制符 119
9.4 puts()函数 121
9.5 scanf()函数 121
9.6小结 124
9.7练习 125
9.8词汇 126
10.1.1一维数组 127
10.1什么是数组? 127
第10章 数值型数组 127
10.1.2多维数组 130
10.2数组的命名 131
10.3初始化数组 133
10.4数组的容量 137
10.5小结 138
10.6练习 138
10.7词汇 140
11.1什么是指针? 141
第11章 指针 141
11.2指针与简单变量 142
11.3初始化指针 143
11.4使用指针 143
11.5指针与数据类型 144
11.6数组与指针 146
11.6.1存储器存储 146
11.6.2其他指针运算 148
11.7其他指针操作 149
11.9指针与函数 151
11.8指针、数组与指向运算符 151
11.10小结 155
11.11练习 155
11.12词汇 156
第12章 字符与字符串 158
12.1字符 158
12.2字符型变量 158
12.5字符串与指针 161
12.4字符型数组 161
12.3字符串 161
12.6字符串与存储器 162
12.7分配存储器 163
12.8显示字符串 165
12.9键盘输入的字符串 166
12.10小结 170
12.11练习 170
12.13词汇 172
13.1简单结构 173
第13章 结构与共用体 173
13.2结构成员 174
13.3复杂结构 174
13.4数组作为结构成员 177
13.5结构数组 179
13.6初始化结构 182
13.7结构与指针 183
13.7.1访问结构数组的指针 187
13.7.2给函数传递结构 189
13.8共用体 190
13.9共用体成员 191
13.10类型定义typedef 194
13.11 小结 194
13.12练习 194
13.13词汇 196
第14章使用屏幕、打印机和键盘 197
14.1什么是程序的输入/输出? 197
14.2什么是流? 197
14.3流的模式 198
14.4输入函数 199
14.4.1 getchar()函数 200
14.4.2 getch()函数 201
14.4.3 getche()函数 202
14.4.4获得IBM PC的专用键 203
14.4.5 ungetc()函数 209
14.4.6 gets()函数 209
14.4.7 fgets()函数 210
14.4.8 scanf()函数 211
14.5.1 putchar()函数 216
14.5输出函数 216
14.5.2 putc()函数 217
14.5.3 puts()函数 218
14.5.4 printf()和fprintf() 219
14.6重定向 223
14.7 DOS下的打印机输出 224
14.8小结 225
14.9练习 225
14.10词汇 227
15.1指向指针的指针 229
第15章 高级指针 229
15.2指针与多维数组 230
15.3指针数组 236
15.4指向函数的指针 241
15.5使用指向函数的指针 242
15.6小结 249
15.7练习 249
15.8词汇 251
16.1使用文件 252
第16章 文件 252
16.2打开文件流 253
16.3读文件数据 256
16.3.1格式化文件输出 256
16.3.2格式化文件输入 258
16.4字符输入 259
16.5字符输出 260
16.6 fwrite()函数和fread()函数 260
16.7关闭和刷新文件 263
16.8随机文件存取 264
16.9 fseek()函数 266
16.10文件管理函数 271
16.11小结 275
16.12练习 276
16.13词汇 277
第17章 高级字符串操作 278
17.1串的操作 278
17.2串的复制 279
17.3串的连接 282
17.4串的比较 285
17.5串的搜索 287
17.6串的转换 291
17.7其他串函数 292
17.8将串转换为数值 293
17.9测试真假条件 295
17.10小结 298
17.11练习 298
17.12词汇 300
18.1 向函数传值 302
第18章 函数的高级应用 302
18.2 void关键字 305
18.3可变的实参表 307
18.4 从函数返回指针 309
18.5小结 311
18.6练习 311
18.7词汇 312
第19章 探索函数库 313
19.1时间函数 313
19.2 显示时间 314
19.3处理程序错误 317
19.4搜索与排序 320
19.5 qsort()函数 321
19.6小结 327
19.7练习 327
19.8词汇 328
第20章 存储器管理 330
20.1类型转换 330
20.3使用强制类型转换 331
20.2通过赋值进行类型转换 331
20.5存储空间 332
20.4强制转换指针 332
20.6存储器管理函数 333
20.7 calloc()函数 335
20.8 realloc()函数 336
20.9 free()函数 337
20.11 memcpy函数 339
20.12 memmove()函数 339
20.10 memset()函数 339
20.13小结 341
20.14练习 341
20.15词汇 342
第21章 预处理器、预处理器指令、 344
宏和命令行参数 344
21.1预处理器 344
21.2预处理器指令 344
21.3用#define建立函数宏 345
21.6 #include指令 347
21.4宏与函数 347
21.5观察宏的扩展 347
21.7 #if、#elif、#else和#endif 348
指令 348
21.8 #undef指令 350
21.9宏 351
21.10命令行实参 351
21.11小结 353
21.12练习 353
21.13词汇 354
第22章位处理 356
22.1位与位运算符 356
22.2位逻辑运算符 357
22.3求反运算符 358
22.4结构中的位字段 358
22.5小结 360
22.6练习 360
22.7词汇 361