1.1基础知识 1
1.1.1进位计数制及不同数制之间的转换 1
第1章 C语言程序设计基础 1
1.1.2计算机中数和字符的表示方式 4
1.2 C语言发展概述 8
1.3 C语言的特点 8
1.4 C语言程序的格式和结构特点 10
1.4.1 C语言程序的格式及特点 10
1.4.2 C语言程序的结构特点 12
1.5 C语言的词法 12
1.6.1赋值语句 13
1.6赋值语句和基本输入、输出函数 13
1.6.2 scanf()函数 14
1.6.3 printf()函数 16
习题1 18
第2章 基本数据类型及变量的存储属性 21
2.1 整型数据 22
2.1.1整型常量 22
2.1.2整型变量 22
2.2字符型数据 24
2.2.1字符常量 24
2.2.3换码序列 25
2.2.2字符串常量 25
2.2.4符号常量 26
2.2.5字符型变量 27
2.3实型数据 27
2.3.1单精度型常量和变量 27
2.3.2双精度型常量和变量 28
2.4数据类型的转换 29
2.4.1数据类型的自动转换 29
2.4.2数据类型的强制转换 30
2.5变量的存储属性 31
2.5.1变量的存在性和可见性 31
2.4.3数据类型的定义 31
2.5.2 自动变量与寄存器变量 32
2.5.3外部变量与静态变量 35
2.5.4变量的初始化 39
习题2 39
第3章 数组 43
3.1 一维数组 43
3.1.1 一维数组的定义和元素的引用 43
3.1.2一维数组的初始化和举例 45
3.2字符型数组 47
3.2.1 字符型数组的定义和初始化 47
3.2.2字符型数组的输入与输出 49
3.3多维数组 51
3.3.1 多维数组的定义和元素的引用 51
3.3.2多维数组的初始化和举例 53
习题3 55
第4章 运算符和表达式 58
4.1算术运算符和算术表达式 58
4.2关系运算符和关系表达式 61
4.3逻辑运算符和逻辑表达式 62
4.4位逻辑运算符和位逻辑表达式 64
4.5移位运算符及表达式 66
4.6增1、减1运算符及表达式 67
4.7 自反运算符 69
4.8条件运算符 71
4.9逗号运算符 72
4.10其他运算符 73
4.11综合举例 74
习题4 76
第5章 顺序与选择结构语句及其程序设计 80
5.1顺序结构语句 80
5.1.1说明语句和表达式语句 80
5.1.2复合语句、分程序和空语句 81
5.2顺序结构程序设计举例 82
5.3 if语句 83
5.4 if~else语句 84
5.5 else if结构 86
5.6 switch()语句 88
5.7分支结构程序设计举例 90
习题5 94
第6章 循环结构语句及程序设计 98
6.1 while()语句 98
6.2 for()语句 100
6.3 do~while()语句 102
6.4循环结构程序设计举例 103
6.5 break、continue和goto语句 106
6.5.1 break语句 107
6.5.2 continue语句 108
6.5.3语句标号 109
6.5.4 goto语句 109
6.6 return语句和exit()函数调用语句 110
6.6.1 return语句 110
6.6.2 exit()函数调用语句 111
6.6.3程序设计举例 112
习题6 113
7.1.1函数的定义和调用 119
第7章 函数 119
7.1函数的定义、调用、说明及其存在性 119
7.1.2函数的说明及其存在性 121
7.2 TurboC函数的扩展定义和形式参数的讨论 123
7.2.1 TurboC函数的扩展定义 123
7.2.2 TurboC函数形式参数的讨论 124
7.3函数间的数据传递 124
7.3.1采用传值方式传递数据 125
7.3.2采用传址方式传递数据 125
7.3.3利用全局变量传递数据 126
7.3.4处理结果在函数间的传递 127
7.4函数与数组 128
7.5递归函数 130
7.6程序设计举例 132
习题7 135
第8章 指针 140
8.1指针变量的定义和初始化 140
8.1.1指针与指针的目标变量 140
8.1.2指针变量的定义与初始化 142
8.1.3近程指针和远程指针 143
8.2指针运算 145
8.2.1指针的一般运算 145
8.2.2指针的算术运算 146
8.2.3指针的关系运算 147
8.3指针与数组 149
8.4指针数组 151
8.5向数组的指针 154
8.6级指针 155
8.7作为函数参数的指针 157
8.8指针型函数 158
8.9指向函数的指针 161
8.10命令行参数 164
习题8 166
9.1.1简单的字符串替换 171
第9章 C预处理程序 171
9.1宏替换 171
9.1.2带参数的宏定义及宏调用 173
9.2包含文件 176
9.3条件编译 177
9.4行控制 179
习题9 179
第10章 结构体 183
10.1结构体类型说明与结构体变量的定义 183
10.1.1结构体类型说明 183
10.1.2结构体变量的定义 184
10.2结构体成员的引用和初始化 187
10.3结构体数组 189
10.4指向结构体的指针 191
10.5结构体和函数 193
10.6结构体型函数 195
10.7结构体指针型函数 197
10.8结构体嵌套 199
10.9位域结构体 203
10.9.1位域结构体类型的说明 203
10.9.2位域结构体变量的定义 203
10.9.3位域结构体的应用 204
10.10程序设计举例 206
习题10 212
第11章 联合体和枚举 219
11.1联合体类型的说明与变量的定义 219
11.2结构体中嵌套联合体 222
11.3联合体中嵌套结构体 224
11.4枚举 228
11.4.1枚举类型的说明与变量的定义 228
11.4.2枚举的应用举例 230
习题11 232
12.1流和文件 235
第12章 文件 235
12.2标准设备文件的换向和管道连接 237
12.3控制台输入、输出函数 239
12.3.1字符输入、输出函数 239
12.3.2字符串输入、输出函数 241
12.4缓冲型输入、输出系统 242
12.4.1文件结构体指针 242
12.4.2 fopen()和fclose()函数 243
12.4.3 getc()和putc()函数 245
12.4.4 getw()和putw()函数 247
12.4.5 fgets()和fputs()函数 249
12.4.6 fread()和fwrite()函数 250
12.4.7 fscanf()和fprintf()函数 253
12.4.8 fseek()函数和随机访问 255
12.5非缓冲型输入、输出系统 258
12.5.1 open()、creat()和close()函数 258
12.5.2 read()和write()函数 260
12.5.3 lseek()函数和随机访问 261
习题12 262
附录 Turba C语言运算符的优先级和结合性 264
习题参考答案 266
参考文献 293