前言 1
第1章 C语言概述 1
1.1 C语言的发展简史和特点 1
1.2 C语言程序的结构与书写规则 2
1.2.1 C语言程序的总体结构 2
1.2.2 函数的一般结构 4
1.2.3 源程序书写格式 6
1.3 C语言的语句和关键字 6
1.3.1 C语言的语句 6
1.3.2 C语言的关键字 8
1.4 Turbo CV2.0的基本操作 8
1.5 本章小结 13
1.6 习题 14
第2章 数据类型、运算符与表达式 15
2.1 程序设计概述 15
2.1.1 算法的概念和特性 16
2.1.2 算法设计的一般方法 16
2.1.3 算法描述 18
2.1.4 结构化程序设计方法 20
2.2 C语言的数据类型 20
2.3 常量和变量 20
2.3.1 常量 20
2.3.2 变量与标识符 21
2.4 整型数据 22
2.4.1 整型变量 22
2.5.1 实型变量 23
2.5 实型数据 23
2.4.2 整型常量 23
2.5.2 实型常量 24
2.6 字符型数据 24
2.6.1 字符常量 24
2.6.2 字符变量 25
2.6.3 字符串常量 27
2.7 算术运算与算术表达式 28
2.8 赋值运算与赋值表达式 29
2.9 C语言特有的运算和运算符 31
2.9.1 自增(++)、自减(--)运算 31
2.9.2 逗号运算(,)及其表达式 32
2.10 本章小结 32
2.11 习题 35
3.1.1 Printf()函数的一般格式 36
第3章 顺序结构程序设计 36
3.1 格式化输出--Printf()函数 36
3.1.2 格式指示符 39
3.1.3 使用说明 41
3.2 格式化输入--scanf()函数 41
3.2.1 scanf()函数的一般格式 41
3.2.2 格式指示符 42
3.2.3 数据输入操作 44
3.3 单个字符输入输出--getchar()和putchar()函数 45
3.3.1 单个字符的输出--putchar()函数 45
3.3.2 单个字符的输入--getchar()函数 46
3.4 顺序结构程序设计举例 46
3.5 本章小结 48
3.6 习题 49
第4章 选择结构程序设计 51
4.1 关系运算及其表达式 51
4.1.1 关系运算符及其优先次序 51
4.1.2 关系表达式 52
4.2 逻辑运算及其表达式 52
4.2.1 逻辑运算及其优先次序 53
4.2.2 逻辑表达式 53
4.3 if语句和条件运算符 54
4.3.1 if语句 54
4.3.2 条件运算符 58
4.4 switch语句 59
4.5 选择结构程序设计举例 61
4.6 本章小结 64
4.7 习题 65
第5章 循环结构程序设计 67
5.1 循环语句概述 67
5.2 for语句和while语句 68
5.3 直到型循环do-while语句 71
5.4 break语句与continue语句 72
5.5 循环造构程序设计举例 73
5.6 本章小结 74
5.7 习题 75
第6章 数组 77
6.1 一维数组的定义和引用 77
6.1.1 一维数组的定义 77
6.1.3 一维数组元素的初始化 80
6.1.2 一维数组元素的引用 80
6.1.4 一维数组应用举例 81
6.2 二维数组的定义和引用 82
6.2.1 二维数组的定义 82
6.2.2 二维数组元素的引用 84
6.2.3 二维数组元素的初始化 84
6.2.4 二维数组应用举例 85
6.3 字符数组与字符串 87
6.3.1 字符数组的逐个字符操作 87
6.3.2 字符数组的整体操作 89
6.3.3 常用的字符串处理函数 90
6.4 本章小结 94
6.5 习题 96
7.1 函数的定义与调用 97
第7章 函数 97
7.1.1 函数的定义 98
7.1.2 函数的返回值与函数类型 99
7.1.3 对被调用函数的说明和函数原型 100
7.1.4 函数的调用 101
7.1.5 函数的形参与实参 103
7.2 函数的嵌套调用和递归调用 104
7.2.1 函数的嵌套调用 104
7.2.2 函数的递归调用 105
7.3 数组作为函数参数 107
7.3.1 数组元素作为函数参数 107
7.3.2 数组名作为函数的形参和实参 108
7.4 内部变量与外部变量 112
7.4.1 内部变量 112
7.4.2 外部变量 113
7.5 内部函数和外部函数 116
7.5.1 内部函数(又称静态函数) 116
7.5.2 外部函数 116
7.5.3 多个源程序文件的编译和连接 117
7.6 变量的动态存储与静态存储简介 118
7.6.1 内部变量的存储方式 119
7.6.2 外部变量的存储方式 121
7.7 本章小结 123
7.8 习题 124
第8章 编译预处理 126
8.1 宏定义与符号常量 126
8.1.1 无参宏定义 126
8.1.2 符号常量 128
8.1.3 有参宏定义 129
8.2 文件包含 131
8.3 条件编译 132
8.3.1 #ifdef~#endif和#ifndef~#endif命令 132
8.3.2 #if~#endif 133
8.4 本章小结 134
8.5 习题 134
第9章 指针 135
9.1 指针和指针变量的概念 135
9.2 指针变量的定义与应用 137
9.2.1 指针变量的定义与相关运算 137
9.2.2 指针变量作函数参数 140
9.3.2 通过指针引用数组元素 143
9.3.1 概述 143
9.3 数组的指针和指向数组的指针变量 143
9.3.3 再论数组作函数参数 145
9.3.4 二维数组的指针及其指针变量 145
9.3.5 动态数组的实现 147
9.4 字符串的指针和指向字符串的指针变量 149
9.4.1 字符串的表示与引用 149
9.4.2 字符串指针作函数参数 152
9.5 返回指针值的函数 153
9.6 指针数组与主函数main()的形参 154
9.6.1 指针数组 154
9.6.2 主函数main()的形参 156
9.6.3 指向指针的指针变量简介 157
9.8 本章小结 158
9.7 函数的指针和指向函数的指针变量简介 158
9.9 习题 160
第10章 结构与链表 162
10.1 结构类型与结构变量的定义 162
10.1.1 结构类型定义 162
10.1.2 结构变量定义 164
10.2 结构变量的引用与初始化 165
10.3 结构数组 166
10.4 指向结构类型数据的指针 167
10.4.1 指向结构变量的指针 167
10.4.2 指向结构数组的指针 169
10.4.3 指向结构数据的指针作函数参数 169
10.5 链表处理--结构指针的应用 170
10.5.1 概述 170
10.5.2 创建一个新链表 172
10.5.3 对链表的插入操作 173
10.6 共用型和枚举型简介 174
10.6.1 共用型 174
10.6.2 枚举型 176
10.7 定义已有类型的别名 176
10.8 本章小结 177
10.9 习题 179
第11章 位运算 181
11.1 数值在计算机中的表示 181
11.2 位运算 182
11.2.1 位运算及其运算符 182
11.2.2 应用举例 184
11.3 位段简介 185
11.2.3 说明 185
11.4 本章小结 187
11.5 习题 187
第12章 文件 189
12.1 C语言文件概述 189
12.2 文件的打开与关闭 191
12.2.1 文件的打开--fopen()函数 192
12.2.2 文件的关闭--fclose()函数 193
12.3 文件的读写操作 193
12.3.1 读/写文件中的一个字符--fgets()和fputs()函数 193
12.3.2 读/写一个字符串--fgets()和fputs()函数 197
12.3.3 读/写一个数据块--fread()和fwrite()函数 199
12.3.4 对文件进行格式化读/写--fscanf()和fprintf()函数 199
12.4.2 随机读写与fseek()函数 200
12.4.1 位置指针复位函数rewind() 200
12.4 位置指针与文件定位 200
12.3.5 读/写函数的选用原则 200
12.4.3 返回文件当前位置的函数fteII() 201
12.5 出错检测 201
12.5.1 ferror()函数 201
12.5.2 clearerr()函数 201
12.6 本章小结 201
12.7 习题 203
第13章 TC V2.0综合应用 204
13.1 FoxBASE+模拟系统 204
13.1.1 模拟系统的功能 205
13.1.2 FoxBASE+库文件的逻辑结构与存储结构 205
13.1.3 参考源程序 206
13.1.4 理解题和程序设计题 216
13.2 TC V2.0图形功能 217
13.2.1 图形模式的设置 218
13.2.2 基本图形函数 220
13.2.3 画填充图的图形函数 222
13.2.4 图形方式下的文本输出 224
13.2.5 图形功能应用举例 226
附录 234
附录A 标准ASCII字符编码表 234
附录B C语言的运算符和结合性 235
附录C 标准库函数 236
附录D Turbo C2.0的安装和集成调试器的使用 242
附录E Turbo CV2.0常见错误 244
参考文献 253