目录 1
编者的话 1
前言 1
第1部分 C语言程序设计 1
第1章 C程序实例 1
1.1 几个例子 1
1.2 C的基本字符与词汇 3
1.2.1 C语言的字符集 4
1.2.2 词汇 4
1.3 C程序的上机操作 5
1.4 习题 6
第2章 数据类型、运算符及表达式 8
2.1 数据和数据类型 8
2.2 常量 8
2.2.1 整型常量 9
2.2.2 实型常量 9
2.2.3 字符常量 9
2.2.4 字符串常量 10
2.2.5 符号常量 10
2.3 变量 11
2.3.1 整型变量 11
2.3.3 字符型变量 12
2.3.2 实型变量 12
2.4 赋值与算术运算 13
2.4.1 赋值运算 13
2.4.2 二元算术运算 13
2.4.3 自加、自减运算 14
2.4.4 复合赋值运算 15
2.5 变量赋初值 15
2.6 类型转换 16
2.6.1 自动类型转换 16
2.6.2 强制类型转换 16
2.7 习题 17
3.1.1 字符输入函数getchar 19
第3章 数据的输入输出 19
3.1 字符输入输出函数 19
3.1.2 字符输出函数putchar 20
3.2 格式输入输出函数 21
3.2.1 格式输出函数printf 21
3.2.2 格式输入函数scanf 25
3.3 应用举例 26
3.4 习题 28
第4章 C语言程序的基本控制结构 30
4.1 程序的三种基本控制结构 30
4.2.3 顺序结构程序设计 31
4.2.2 复合语句 31
4.2.1 空语句和表达式语句 31
4.2 顺序结构 31
4.3 选择结构 33
4.3.1 关系运算和逻辑运算 33
4.3.2 if语句 35
4.3.3 switch语句 39
4.4 循环结构 40
4.4.1 while循环语句 40
4.4.2 do-while循环语句 42
4.4.3 for循环语句 43
4.4.4 循环的退出 46
4.5 应用举例 48
4.6 习题 51
第5章 数组 54
5.1 一维数组 54
5.1.1 一维数组的定义 54
5.1.2 一维数组的使用 55
5.1.3 一维数组的初始化 56
5.2 二维数组 57
5.2.1 二维数组的定义 57
5.2.2 二维数组的初始化 58
5.2.3 二维数组的引用 59
5.3.1 字符数组的定义 60
5.3 字符数组和字符串 60
5.3.2 字符串 61
5.4 应用举例 64
5.5 习题 67
第6章 函数 69
6.1 C程序与函数 69
6.2 函数的定义和说明 70
6.2.1 函数的定义 70
6.2.2 函数的说明 73
6.3 函数的调用 74
6.3.1 函数调用的格式 74
6.3.2 参数的传递 76
6.4 应用举例1 78
6.5 函数的嵌套调用与递归调用 80
6.5.1 函数的嵌套调用 80
6.5.2 函数的递归调用 82
6.6 作用域与存储类 84
6.6.1 作用域 84
6.6.2 存储类 86
6.6.3 内部函数与外部函数 89
6.7 应用举例2 90
6.8 习题 93
第7章 指针 96
7.1 指针的概念 96
7.1.1 什么是指针 96
7.1.3 指针的运算 97
7.1.2 指针变量的定义 97
7.2 指针与函数参数 99
7.3 指针与数组 101
7.3.1 一维数组的指针 101
7.3.2 多维数组的指针 106
7.3.3 字符指针与字符串 107
7.4 指针数组 111
7.4.1 指针数组的定义 111
7.4.2 用指针数组处理多维数组 112
7.4.3 用字符指针数组处理字符串组 113
7.4.4 用作main函数的形参 115
7.5.1 返回指针值的函数 116
7.5 指针与函数 116
7.5.2 指向函数的指针 118
7.6 指向指针的指针 119
7.7 应用举例 120
7.8 习题 122
第8章 结构、联合和枚举 125
8.1 结构的概念 125
8.1.1 结构类型的定义 125
8.1.2 结构变量的说明 125
8.1.3 结构变量的引用 127
8.1.4 结构变量的初始化 128
8.2 结构数组 129
8.3 指向结构的指针 131
8.3.1 指向结构的指针 131
8.3.2 结构指针作函数参数 133
8.4 动态数据结构 134
8.4.1 内存的动态分配和释放函数 135
8.4.2 链表 136
8.5 联合 143
8.5.1 联合的定义 143
8.5.2 联合变量的说明与引用 144
8.6 枚举 146
8.7 类型定义 148
8.8 应用举例 150
8.9 习题 154
第9章 位处理 156
9.1 位运算 156
9.2 位段 159
9.3 应用举例 161
9.4 习题 163
第10章 编译预处理 165
10.1 宏定义 165
10.1.1 简单的宏定义 165
10.1.2 带参数的宏定义 167
10.2 文件包含 168
10.3 条件编译 170
10.4 应用举例 172
10.5 习题 173
第11章 文件 175
11.1 C文件的概念 175
11.2 文件类型指针 176
11.3 文件的打开与关闭 177
11.3.1 文件的打开——fopen函数 177
11.3.2 文件的关闭——fclose函数 179
11.4 文件的读写 179
11.4.1 字符读写函数——fputc和fgetc 179
11.4.2 字符串读写函数——fgets和fputs 181
11.4.3 数据块读写函数——fread和fwrite 183
11.4.4 格式化读写函数——fscanf和fprintf 184
11.5 文件的定位 186
11.5.1 rewind函数 186
11.5.2 ftell函数 187
11.5.3 fseek函数 187
11.6 输入输出重定向 188
11.7 应用举例 189
11.8 习题 191
第2部分 上机实验 193
实验1 熟悉Turbo C 2.0系统与顺序结构程序设计 193
实验2 循环结构程序设计 196
实验3 程序调试 198
实验4 利用数组的编程 203
实验5 函数 204
实验6 指针 207
实验7 结构和枚举 208
实验8 链表应用 210
实验9 位处理与编译预处理 211
实验10 文件操作 212
第3部分 习题参考答案 213
第1章习题参考答案 213
第2章习题参考答案 214
第3章习题参考答案 214
第4章习题参考答案 216
第5章习题参考答案 219
第6章习题参考答案 224
第7章习题参考答案 229
第8章习题参考答案 232
第9章习题参考答案 236
第10章习题参考答案 239
第11章习题参考答案 241
附录 247
附录A Turbo C 2.0编译系统使用方法简介 247
附录B 运算符的优先级及其结合性 251
附录C 标准ASCII字符集 252
附录D 常用的C库函数 253
参考文献 256