1.1 程序与程序设计语言 1
1.1.1 程序的概念 1
1.1.2 程序设计语言的发展 1
第1章 C语言及程序设计概述 1
1.1.3 C语言的发展及特点 2
1.2 程序设计方法 3
1.2.1 结构化程序设计方法 3
1.2.2 面向对象程序设计方法 4
1.3 算法及其表示 4
1.3.1 算法的概念 5
1.3.2 算法的组成要素 5
1.3.3 算法的特性 6
1.3.4 算法的表示 6
1.4 C语言程序的基本结构 9
1.5 C语言的基本语法单位 10
1.5.1 C语言的字符集 10
1.4.1 C程序的结构特点 10
1.4.2 源程序书写格式 10
1.5.2 关键字 11
1.5.3 标识符 11
1.5.4 分隔符 11
1.5.5 注释 12
1.6 C语言程序的开发环境 12
1.6.1 源程序的编辑、编译、连接与执行 12
1.6.2 Visual C++6.0集成开发环境 13
1.6.3 Turbo C2.0集成开发环境 15
习题一 16
第2章 数据类型、运算符及表达式 18
2.1 基本数据类型 18
2.1.2 实型数据 19
2.1.1 整型数据 19
2.1.3 字符型数据 20
2.2 常量与变量 21
2.2.1 常量 22
2.2.2 变量 23
2.3 运算符与表达式 25
2.3.1 算术运算符与算术表达式 26
2.3.2 自增与自减运算 27
2.3.3 关系运算符与关系表达式 29
2.3.4 逻辑运算符与逻辑表达式 29
2.3.5 赋值运算符与赋值表达式 31
2.3.6 条件运算符与求字节运算符 31
2.3.7 逗号运算符与逗号表达式 32
2.4 数据类型转换 33
2.4.1 自动类型转换 33
2.4.3 强制类型转换 34
2.4.2 赋值转换 34
习题二 35
第3章 控制结构 38
3.1 C语言的基本语句 38
3.1.1 说明语句 38
3.1.2 表达式语句 38
3.1.3 函数调用语句 39
3.1.4 空语句 39
3.1.5 复合语句 39
3.2 数据的输入与输出 40
3.2.1 字符数据的输入与输出函数 40
3.2.2 格式输出函数 41
3.2.3 格式输入函数 42
3.3.2 流程控制语句 44
3.3 基本控制结构与流程控制语句 44
3.3.1 三种基本结构 44
3.4 选择结构控制 45
3.4.1 if语句的形式 45
3.4.2 if语句的嵌套 48
3.5 多分支选择控制switch语句 49
3.6 循环控制 50
3.6.1 while语句 50
3.6.2 do...while语句 51
3.6.3 for语句 53
3.6.4 循环嵌套 54
3.7 辅助控制语句 54
3.7.1 break语句 54
3.7.2 continue语句 55
3.8 程序设计举例 56
3.7.3 goto语句 56
习题三 59
第4章 函数 63
4.1 结构化程序设计与C程序结构 63
4.1.1 结构化程序设计的特征与风格 63
4.1.2 模块与函数 63
4.2 函数的定义 64
4.2.1 标准库函数 64
4.2.2 函数的定义 65
4.3 函数的调用 67
4.3.1 函数的声明 67
4.3.2 函数调用 68
4.3.3 参数传递 69
4.3.4 函数的返回值 70
4.4.1 函数的嵌套调用 72
4.4 函数的嵌套调用与递归调用 72
4.4.2 函数的递归调用 73
4.5 变量的作用域 75
4.5.1 局部变量 75
4.5.2 全局变量 76
4.6 变量的存储类别 78
4.6.1 变量的存储方式 78
4.6.2 自动变量 79
4.6.3 静态变量 79
4.6.4 寄存器变量 80
4.6.5 外部变量 81
4.7 内部函数与外部函数 82
4.7.1 内部函数 82
4.7.2 外部函数 82
4.8 多文件的程序运行 83
4.9 程序设计举例 84
习题四 88
第5章 编译预处理 92
5.1 宏定义 92
5.1.1 无参宏定义 92
5.1.2 带参宏定义 95
5.2 文件包含 99
5.3 条件编译 100
习题五 102
第6章 数组 106
6.1 一维数组 106
6.1.1 一维数组的定义 106
6.1.2 一维数组的逻辑结构和存储结构 107
6.1.3 一维数组元素的引用 108
6.1.4 一维数组的初始化 109
6.1.5 一维数组的应用举例 111
6.2 二维数组 113
6.2.1 二维数组的定义 113
6.2.2 二维数组的逻辑结构和存储结构 113
6.2.3 二维数组元素的引用 115
6.2.4 二维数组的初始化 116
6.2.5 二维数组应用举例 117
6.3 字符数组和字符串 120
6.3.1 字符数组的定义和初始化 120
6.3.2 字符数组的输入/输出 122
6.3.3 字符串的概念和存储表示 123
6.3.4 字符串处理函数 125
6.4 数组作为函数的参数 129
6.4.1 数组元素作为函数参数 129
6.4.2 数组名作为函数的参数 130
6.5 程序设计举例 132
习题六 135
第7章 指针 139
7.1 指针的概念 139
7.1.1 变量的地址 139
7.1.2 指针和指针变量 140
7.2 指针变量的定义和引用 141
7.2.1 指针变量的定义和初始化 141
7.2.2 指针变量的引用 143
7.3 指针运算 144
7.3.1 指针的赋值运算 144
7.3.2 指针的算术运算 145
7.3.3 指针的关系运算 146
7.3.4 指针的下标运算 146
7.4.1 指针作为函数的参数 147
7.4 指针与函数 147
7.4.2 返回指针的函数 149
7.4.3 指向函数的指针 150
7.5 指针与数组 152
7.5.1 指向一维数组的指针 153
7.5.2 指向二维数组的指针 155
7.6 指针与字符串 157
7.6.1 字符指针与字符串 157
7.6.2 字符串数组 162
7.7 指针数组和多级指针 163
7.7.1 指针数组 163
7.7.2 多级指针 165
7.8 程序设计举例 166
习题七 169
8.1.1 结构体类型的声明 173
第8章 结构体、共用体和枚举类型 173
8.1 结构体 173
8.1.2 结构体变量的定义 174
8.1.3 结构体变量的引用 175
8.1.4 结构体变量的使用 176
8.1.5 结构体数组 177
8.1.6 结构体指针变量 180
8.1.7 结构体与函数 181
8.2 共用体 184
8.2.1 共用体类型声明及共用体类型变量的定义 184
8.2.2 共用体变量的引用 185
8.3 枚举类型 187
8.3.1 枚举类型的声明 187
8.3.2 枚举类型变量的定义 187
8.4.1 typedef的概念 188
8.4 用typedef定义类型 188
8.4.2 typedef的用法 189
8.5 程序设计举例 189
习题八 193
第9章 位运算 200
9.1 位运算符与位运算 200
9.1.1 位运算符 200
9.1.2 按位取反运算符 200
9.1.3 左移运算符 200
9.1.4 右移运算符 200
9.1.5 按位与运算符 201
9.1.6 按位或运算符 202
9.1.7 按位异或运算符 202
9.2.1 位段结构体说明 203
9.2 位段 203
9.2.2 位段的引用 204
9.3 程序设计举例 204
习题九 206
第10章 文件 208
10.1 文件的基本概念 208
10.1.1 文本文件与二进制文件 208
10.1.2 缓冲文件系统和非缓冲文件系统 208
10.2 文件类型指针 209
10.3 文件的打开与关闭 210
10.3.1 文件的打开 210
10.3.2 文件的关闭 212
10.4 文件的读写操作 212
10.4.1 字符读写函数 212
10.4.2 字符串读写函数 215
10.4.3 数据块读写函数 216
10.4.4 格式化读写函数 218
10.5 文件的随机读写操作 219
10.5.1 重返文件头函数 219
10.5.2 指针位置移动函数 220
10.5.3 取指针当前位置函数 221
10.5.4 文件处理 221
10.6 文件检测函数 227
习题十 227
第11章 C语言高级编程技术及应用 229
11.1 多模块编程方法 229
11.1.1 程序模块组织 229
11.1.2 模块之间的通信 229
11.1.3 包含文件的应用 230
11.2 链表及其应用 230
11.2.1 动态内存分配 230
11.2.2 单链表的构造 232
11.2.3 单链表的操作 234
11.3 图形处理及应用 240
11.3.1 图形处理相关知识 240
11.3.2 基本图形函数 244
11.4 中断技术及应用 247
11.4.1 中断技术 247
11.4.2 BIOS和DOS系统调用函数 248
11.4.3 编写中断服务程序的方法 251
习题十一 254
附录1 常用字符与ASCII代码表 255
附录2 C语言的关键字及说明 256
附录3 运算符的优先级和结合方向 257
附录4 常用的C库函数 258
附录5 建立自己的函数库的方法 264
参考文献 266