第一章 C语言基础 1
1.1 C语言的由来与特点 1
1.1.1 C语言的由来 1
1.1.2 C语言的特点 2
1.2 C语言的基本概念 3
1.2.1 基本符号 3
1.2.2 标识符 3
1.2.3 数据类型 4
1.2.4 常量与变量 4
1.2.5 语句 5
1.2.6 函数与程序 6
1.3 整型数据 6
1.3.1 整型常量 6
1.3.2 整型数据分类 6
1.3.3 整型变量定义及其初始化 7
1.4 实型数据 8
1.4.1 实型常数 8
1.4.2 实型数的分类 8
1.4.3 浮点型变量的定义及其初始化 8
1.5 字符型数据 9
1.5.1 字符常量 9
1.5.2 字符串常量 10
1.5.3 字符型变量 10
习题一 11
第二章 运算符与表达式 12
2.1 算术运算符与算术表达式 12
2.1.1 算术运算符的种类 12
2.1.2 算术运算符的优先级与结合性 13
2.2 赋值运算符和赋值表达式 13
2.2.1 赋值运算 13
2.2.2 复合赋值运算 14
2.3 自增与自减运算 15
2.3.1 运算符及其用法 15
2.3.2 表达式的序列点 15
2.3.3 运算符使用说明 16
2.4 按位运算 16
2.4.1 原码、反码和补码 17
2.4.2 位逻辑运算 18
2.4.3 移位运算 19
2.4.4 使用说明 19
2.5 关系运算与逻辑运算 20
2.5.1 关系运算符 20
2.5.2 关系表达式 20
2.5.3 逻辑运算符 21
2.5.4 逻辑表达式 21
2.6 其它运算符及其表达式 22
2.6.1 条件运算符 22
2.6.2 逗号运算符 23
2.6.3 求字节数运算符 23
2.7 运算符总表与数据类型转换 24
2.7.1 运算符总表 24
2.7.2 数据类型转换 25
习题二 27
第三章 简单程序与分支控制 29
3.1 简单程序 29
3.2 数据输入输出 30
3.2.1 格式输入输出库函数 31
3.2.2 字符输入输出函数 38
3.3 if语句 40
3.3.1 if语句的三种形式 40
3.3.2 if语句的嵌套 42
3.4 switch语句 45
习题三 48
第四章 循环控制 49
4.1 while语句 49
4.2 do—while语句 50
4.3 for语句 52
4.3.1 for语句及其执行过程 52
4.3.2 for语句的无限循环结构 53
4.3.3 for语句中的逗号表达式 54
4.3.4 空语句的循环体 54
4.4 中断语句和转移语句 55
4.4.1 break语句 55
4.4.2 continue语句 55
4.4.3 goto语句 56
4.5 循环的嵌套与复合程序结构 57
4.5.1 循环嵌套 57
4.5.2 复合程序结构 60
习题四 65
第五章 字符串与数组 67
5.1 字符串 67
5.1.1 字符串常量 67
5.1.2 字符串的定义方法 67
5.2 数组 68
5.2.1 一维数组的定义 68
5.2.2 二维数组的定义 69
5.2.3 数组的初始化 69
5.2.4 数组应用程序实例 71
5.3 字符数组 74
5.3.1 字符数组的定义 74
5.3.2 字符数组的初始化 74
5.3.3 字符串的输出 75
5.3.4 字符串的输入 75
5.3.5 字符数组应用程序实例 75
5.4 字符串处理函数 78
5.4.1 字符串输入函数 78
5.4.2 字符串输出函数 79
5.4.3 字符串连接函数 79
5.4.4 字符串拷贝函数 80
5.4.5 字符串比较函数 80
5.4.6 求字符串长度函数 81
5.4.7 字符串大小写字母转换函数 81
习题五 83
第六章 函数 85
6.1 函数的分类和作用 85
6.1.1 从函数使用角度分类 86
6.1.2 从函数的参数形式分类 86
6.1.3 C函数的作用 86
6.2 函数的定义 86
6.2.1 函数说明部分 87
6.2.2 函数体 88
6.3 函数的返回值 88
6.3.1 返回语句 88
6.3.2 返回语句使用说明 89
6.3.3 return语句的功能 90
6.4 函数的调用 90
6.4.1 函数语句调用 90
6.4.2 函数表达式调用 91
6.4.3 函数参数调用 92
6.4.4 函数的嵌套调用 93
6.4.5 参数传递方式 94
6.5 局部变量与全局变量 95
6.5.1 局部变量 96
6.5.2 全局变量 97
6.6 变量的存储类别 99
6.6.1 自动存储变量 100
6.6.2 静态存储变量 100
6.6.3 寄存器存储变量 102
6.6.4 变量存储类别小结 103
6.7 函数的递归调用 106
6.7.1 递归函数体现了递归算法的实现 106
6.7.2 递归过程分析 106
6.7.3 函数递归调用讨论 107
6.8 函数的存储类别 107
习题六 109
第七章 宏指令 111
7.1 宏定义 111
7.1.1 不带参数的宏定义 111
7.1.2 带参数的宏定义 113
7.1.3 取消宏定义 116
7.2 文件包含定义 117
7.2.1 #include命令格式 117
7.2.2 #include命令的嵌套使用 118
7.3 条件编译 119
7.3.1 控制条件为常量表达式的条件编译 119
7.3.2 控制条件为定义标识符的条件编译 120
习题七 121
第八章 指针 124
8.1 指针的概念 124
8.1.1 数据的存储单元 124
8.1.2 变量的地址 124
8.1.3 变量的存取方式 124
8.1.4 指针与指针变量 125
8.2 指针变量的定义 125
8.3 指针运算符及指针运算 126
8.3.1 指针运算符 126
8.3.2 指针运算 127
8.4 指针与数组 130
8.4.1 数组的指针与指向数组的指针变量 130
8.4.2 指针与数组的关系 130
8.4.3 数组名与指针的区别 131
8.4.4 指针数组 133
8.4.5 多级指针 135
8.5 指针与字符串 137
8.5.1 字符串指针变量 137
8.5.2 字符串指针变量的应用实例 139
8.6 指针与函数 140
8.6.1 指针函数 140
8.6.2 函数指针的定义及用函数指针变量调用函数 141
8.6.3 指向函数的指针变量的应用 143
8.7 指针小结 146
8.7.1 有关指针的数据类型 146
8.7.2 指针的应用特点 146
8.7.3 使用指针时应注意的几个问题 147
习题八 149
第九章 结构体与共用体 151
9.1 结构体的定义方法 151
9.1.1 结构体类型的定义 151
9.1.2 结构体变量的定义 152
9.1.3 关于结构体类型的几点说明 153
9.2 结构体类型变量的引用 154
9.2.1 结构体变量作为一个整体使用 154
9.2.2 单独使用结构体变量中的成员域 154
9.2.3 结构体变量的地址引用 155
9.3 结构体变量的初始化 155
9.3.1 对全局结构体变量初始化 155
9.3.2 对局部静态的结构体变量初始化 156
9.4 结构体数组 156
9.4.1 结构体数组的定义 156
9.4.2 结构体数组的初始化 157
9.4.3 结构体数组应用举例 157
9.5 结构体的指针 158
9.5.1 指向结构体变量的指针 158
9.5.2 指向结构体数组的指针 159
9.5.3 指向结构体的指针作函数参数 160
9.6 链表 161
9.6.1 链表的数据类型定义 161
9.6.2 单链表的建立 162
9.6.3 单链表上的访问 164
9.6.4 单链表上的插入 165
9.6.5 单链表上的删除 167
9.7 共用体 168
9.7.1 共用体类型定义 169
9.7.2 共用体变量的定义 169
9.7.3 共用体变量的应用 170
9.7.4 共用体类型数据的特点 170
9.8 枚举类型 172
9.8.1 枚举类型的定义 172
9.8.2 枚举类型变量的定义 172
9.8.3 枚举类型变量的使用 173
9.9 用typedef自定义类型 175
9.9.1 用typedef规定新类型的方法 175
9.9.2 用typedef规定新类型的作用 175
9.9.3 使用typedef的规则说明 177
习题九 177
第十章 文件 178
10.1 文件概述 178
10.2 文件类型的指针 179
10.3 文件的打开与关闭 179
10.3.1 文件的打开 179
10.3.2 文件的关闭 180
10.4 文件的读和写 180
10.4.1 字符型数据的读和写 181
10.4.2 字符串的读和写 182
10.4.3 多种类型数据的读和写(fread和fwrite) 182
10.4.4 格式化输入输出函数fscanf和fprint 184
10.4.5 getw和putw函数 185
10.5 定位函数及其它函数 185
10.5.1 反绕函数rewind 186
10.5.2 随机定位函数fseek 186
10.5.3 求当前读写位置函数ftell 186
10.5.4 检测出错函数ferror 187
10.5.5 初始化清零函数clearerr 187
10.6 非缓冲文件系统 187
10.6.1 非缓冲文件的打开、建立和关闭 187
10.6.2 文件的读和写 188
10.6.3 Iseek()函数及随机访问 188
习题十 188
第十一章 C语言程序设计应用实例 189
11.1 大型C应用程序的设计技术 189
11.1.1 工程文件使用 189
11.1.2 文件包含 191
11.1.3 C语言程序使用FOXBASE的库文件 192
11.2 学生成绩管理系统的设计与实现 199
11.2.1 系统功能 199
11.2.2 软件模块层次图及各模块功能 200
11.2.3 源程序清单 203
11.2.4 程序运行情况及结果 213
第十二章 Turbo C上机操作 217
12.1 Turbo C系统组成、安装和启动 217
12.1.1 Turbo C 2.0系统文件配置 217
12.1.2 Turbo C安装和启动 219
12.2 集成环境菜单系统及其使用 219
12.2.1 主屏幕 219
12.2.2 菜单命令介绍 222
12.2.3 热键 224
12.2.4 存储模式 225
12.3 Turbo C命令行环境 226
12.4 源程序的输入、编译、运行 227
12.4.1 源程序的输入及编辑 227
12.4.2 源程序的编译、连接 228
12.4.3 程序运行 229
12.4.4 操作实例 229
12.4.5 使用project菜单项 231
12.5 部分常见屏幕提示信息 232
习题十二 237
附录Ⅰ 常用字符与ASCII代码对照表 239
附录Ⅱ C语言中常用的标准函数 240
参考文献 249