第1章C语言概述 1
1.1 C语言及其特点 1
1.1.1 C语言的发展 1
1.1.2 C语言的特点 1
1.2 C语言的程序结构 2
1.2.1简单C语言程序的构成和格式 2
1.2.2 C语言程序的结构特点 4
1.3 C语言程序的开发步骤 4
1.3.1 C程序开发的一般过程 4
1.3.2 Turbo C环境的程序开发步骤 5
习题 6
第2章 数据类型 8
2.1 C语言的数据类型 8
2.2常量、变量和标识符 8
2.2.1标识符 8
2.2.2常量和符号常量 9
2.2.3变量 10
2.3整型数据 10
2.3.1整型常量 10
2.3.2整型变量 11
2.3.3整型常量的类型 12
2.3.4整型变量的初始化 12
2.4实型数据 13
2.4.1实型常量 13
2.4.2实型变量 13
2.5字符型数据 13
2.5.1字符型常量 13
2.5.2字符型变量4 14
2.5.3字符串常量 15
2.6运算符和表达式 16
2.6.1运算符 16
2.6.2表达式 17
2.7算术运算 17
2.7.1基本的算术运算符 17
2.7.2算术运算符的优先级与结合性 17
2.7.3算术表达式 18
2.7.4自增、自减运算符 18
2.8赋值运算和逗号运算 20
2.8.1赋值运算符和赋值表达式 20
2.8.2复合赋值运算符及复合赋值表达式 21
2.8.3赋值运算中的类型转换 22
2.8.4逗号运算符和逗号表达式 23
2.9不同类型数据之间的转换 24
2.9.1自动类型转换 24
2.9.2强制类型转换 25
习题 26
第3章 顺序结构程序设计 30
3.1 C程序概述 30
3.1.1结构化程序设计 30
3.1.2 C程序结构 31
3.1.3 C语言的语句 31
3.2赋值语句 33
3.3数据的输出 34
3.3.1字符输出函数putchar 34
3.3.2格式输出函数printf 35
3.4数据的输入 38
3.4.1字符输入函数getchar 38
3.4.2格式输入函数scanf 39
3.5顺序结构程序设计举例 41
习题 43
第4章 选择结构和循环结构程序设计 49
4.1关系运算和逻辑运算 49
4.1.1 C语言中的逻辑值 49
4.1.2关系运算符和关系表达式 49
4.1.3逻辑运算符和逻辑表达式 50
4.2选择结构程序设计 51
4.2.1 if…else的三种结构 51
4.2.2条件运算符和条件表达式 54
4.2.3 switch语句和break语句 55
4.3循环结构程序设计 57
4.3.1 while循环语句 57
4.3.2 do…while循环语句 58
4.3.3 for循环语句 58
4.3.4 break语句continue语句 60
4.4循环的嵌套 61
4.5程序举例 62
习题 64
第5章 数组 71
5.1一维数组 71
5.1.1一维数组的定义 71
5.1.2一维数组元素的引用 72
5.1.3一维数组的初始化 72
5.1.4一维数组程序举例 73
5.2二维数组 75
5.2.1二维数组的定义 75
5.2.2二维数组的引用 76
5.2.3二维数组的初始化 76
5.2.4二维数组程序举例 77
5.3字符数组 79
5.3.1字符数组的定义 79
5.3.2字符数组的初始化 79
5.3.3字符数组的引用 80
5.3.4字符串和字符的结束标志 80
5.3.5字符数组的输入输出 81
5.3.6字符串处理函数 83
5.3.7字符数组应用举例 85
习题 86
第6章 函数 91
6.1概述 91
6.2函数定义和函数声明 91
6.2.1函数定义 91
6.2.2函数调用 92
6.2.3函数声明 93
6.3函数参数 94
6.4数组作为函数参数 95
6.5函数的嵌套调用和递归调用 97
6.5.1函数的嵌套调用 97
6.5.2函数的递归调用 98
6.6变量的存储属性 101
6.6.1局部变量和全局变量 101
6.6.2动态变量与静态变量 103
6.7多文件编译 106
6.7.1外部变量 106
6.7.2内部函数和外部函数 106
6.7.3 工程文件 107
6.8编译预处理 108
6.8.1宏定义 108
6.8.2文件包含 110
6.8.3条件编译 111
习题 112
第7章 位运算 117
7.1概述 117
7.2位运算符 119
7.3位算运举例 122
习题 123
第8章 指针 124
8.1指针概述 124
8.1.1指针与地址 124
8.1.2指针变量的定义和引用 125
8.2指针与数组 128
8.2.1一维数组的指针 129
8.2.2二维数组的指针 131
8.2.3指针与字符串 133
8.2.4指针数组 135
8.2.5指向指针的指针 137
8.3指针与函数 138
8.3.1指针作为函数参数 138
8.3.2返回指针值的函数 141
8.3.3指向函数的指针 142
8.3.4命令行参数 145
习题 146
第9章 结构体和枚举类型 152
9.1概述 152
9.2结构体类型变量的定义和引用 153
9.2.1结构体类型变量的定义方法 153
9.2.2结构体变量的引用 155
9.2.3结构体变量的初始化 155
9.3结构体与数组 156
9.3.1结构包含数组 156
9.3.2结构体数组 157
9.4结构体与指针 159
9.4.1指向结构体变量的指针 159
9.4.2指向结构体数组的指针 160
9.4.3用指向结构体的指针作为函数参数 162
9.5动态存储分配和链表 165
9.5.1动态存储分配和链表的概念 165
9.5.2对链表的操作 166
9.6枚举类型数据 175
9.7用typedef定义类型 178
9.8共用体数据类型 179
9.8.1共用体变量的定义和引用 179
9.8.2共用体与结构体的区别 181
习题 181
第10章 文件 185
10.1文件概述 185
10.1.1文件的概念 185
10.1.2文件类型指针 186
10.2文件的打开与关闭 187
10.2.1文件的打开 187
10.2.2文件的关闭 188
10.3文件的读写 188
10.3.1文本文件的读写 188
10.3.2二进制文件的读写 191
10.4文件的定位 193
习题 195
第11章C语言的高级应用 196
11.1 C语言的图形应用 196
11.1.1图形显示器的工作方式 196
11.1.2图形系统管理 196
11.1.3屏幕管理 197
11.1.4基本图形函数 199
11.1.5图形属性控制 203
11.1.6填充图形 205
11.1.7图形方式下的字符输出 208
11.1.8其他图形屏幕控制函数 209
11.2 BIOS和DOS功能调用 211
11.2.1 BIOS中断调用 212
11.2.2 DOS中断调用 217
11.3端口访问 218
附录 221
参考文献 227