第1章 程序设计基础 1
1.1 C语言的发展及特点 1
1.1.1 C语言出现的历史背景 1
1.1.2 C语言的特点 1
1.2 C语言程序的构成 2
1.3 程序的书写风格和书写格式 3
1.4 实验 3
1.4.1 Turbo C的基本操作 3
1.4.2 Visual C++ 6.0上机环境简介 9
1.4.3 Turbo C的使用 15
1.5 习题 16
第2章 数据类型、运算符和表达式 18
2.1 C语言数据类型简介 19
2.2 标识符 19
2.2.1 字符集 19
2.2.2 标识符概述 19
2.2.3 标识符的分类 19
2.3 常量与变量 20
2.3.1 常量 20
2.3.2 符号常量 20
2.3.3 变量 20
2.3.4 变量赋初值 20
2.4 整型数据 21
2.4.1 整型数据在内存中的存储形式 21
2.4.2 整型常量 21
2.4.3 整型变量 21
2.5 实型数据 21
2.5.1 实型常量 21
2.5.2 实型变量 22
2.6 字符型数据 22
2.6.1 字符常量 22
2.6.2 字符串常量 23
2.6.3 字符变量 23
2.7 运算符和表达式 23
2.7.1 C语言运算符简介 23
2.7.2 表达式的求值规则 24
2.7.3 混合运算中的类型转换 24
2.8 算术运算符和算术表达式 24
2.8.1 基本算术运算符 24
2.8.2 算术表达式和运算符的优先级与结合性 25
2.8.3 自增、自减运算符 25
2.9 赋值运算与赋值表达式 25
2.9.1 赋值运算符 25
2.9.2 类型转换 25
2.9.3 复合的赋值运算符 26
2.9.4 赋值表达式 26
2.10 逗号运算符和逗号表达式 26
2.11 关系运算符和关系表达式 27
2.11.1 关系运算符及其优先次序 27
2.11.2 关系表达式 27
2.12 逻辑运算符及逻辑表达式 27
2.12.1 逻辑运算符及其优先次序 27
2.12.2 逻辑表达式 28
2.13 条件运算符与条件表达式 28
2.13.1 条件运算符与条件表达式概述 28
2.13.2 条件运算符的优先级与结合性 28
2.14 实验 28
2.15 习题 31
第3章 顺序结构程序设计 37
3.1 C语言语句概述 37
3.2 赋值语句 38
3.3 字符数据的输入/输出 38
3.3.1 字符输出函数 38
3.3.2 字符输入函数 38
3.4 格式的输入/输出 39
3.4.1 格式输出函数 39
3.4.2 格式输入函数 40
3.5 实验 40
3.5.1 输入/输出函数及格式 40
3.5.2 顺序结构程序设计 43
3.6 习题 45
第4章 选择结构程序设计 56
4.1 if语句 56
4.1.1 简单if语句 56
4.1.2 双分支if语句 56
4.1.3 多分支if语句 57
4.1.4 if语句使用说明 58
4.2 if语句的嵌套 58
4.3 多分支结构 58
4.4 实验 59
4.4.1 if语句 59
4.4.2 多分支选择语句 60
4.5 习题 62
第5章 循环结构程序设计 75
5.1 while语句 75
5.2 do…while语句 76
5.3 for语句 76
5.4 几种循环的比较 76
5.5 循环嵌套 77
5.6 continue语句 77
5.7 break语句 77
5.8 实验 78
5.8.1 循环程序设计(一) 78
5.8.2 循环程序设计(二) 79
5.8.3 多重循环 81
5.9 习题 82
第6章 数组 97
6.1 数组和数组元素 97
6.2 一维数组 97
6.2.1 一维数组的定义和引用 98
6.2.2 一维数组的初始化 98
6.3 多维数组 98
6.3.1 二维数组的定义和引用 98
6.3.2 二维数组的初始化 98
6.4 字符数组 99
6.4.1 字符数组的定义和引用 99
6.4.2 字符数组的初始化 99
6.4.3 字符串的输入和输出 99
6.4.4 用于字符处理的库函数 99
6.5 实验 100
6.5.1 一维数组的使用 100
6.5.2 二维数组的使用 102
6.5.3 字符数组和字符串 103
6.6 习题 105
第7章 函数 119
7.1 模块化程序设计 119
7.1.1 模块化程序设计简介 120
7.1.2 函数概述 120
7.2 函数的定义 120
7.2.1 无参函数的定义 120
7.2.2 有参函数的定义 120
7.2.3 函数的返回值 120
7.3 函数的调用 121
7.3.1 函数调用的一般形式 121
7.3.2 函数的声明 121
7.3.3 函数参数的传递 121
7.4 函数的嵌套调用与递归调用 122
7.4.1 函数的嵌套调用 122
7.4.2 函数的递归调用 122
7.5 数组做函数参数 122
7.5.1 数组元素做函数实参 122
7.5.2 数组名做函数参数 123
7.5.3 多维数组做函数参数 123
7.6 变量的作用域 123
7.6.1 局部变量 123
7.6.2 全局变量 123
7.7 变量的存储类别 123
7.7.1 变量的生存期 123
7.7.2 局部变量的存储类别 124
7.7.3 全局变量的存储类别 124
7.7.4 存储类别小结 124
7.8 内部函数和外部函数 125
7.8.1 内部函数 125
7.8.2 外部函数 125
7.9 实验 125
7.9.1 函数的定义和调用 125
7.9.2 函数的嵌套调用和递归调用 127
7.9.3 变量的作用域及存储类别 129
7.10 习题 131
第8章 编译预处理 143
8.1 宏定义 143
8.1.1 不带参数的宏定义 143
8.1.2 带参数的宏定义 143
8.2 文件包含 143
8.3 条件编译 144
8.4 实验 144
8.5 习题 146
第9章 指针 155
9.1 相关概念 155
9.1.1 变量的地址 155
9.1.2 数据的访问方式 155
9.1.3 指针和指针变量 156
9.2 指针变量的定义和使用 156
9.2.1 指针变量的定义 156
9.2.2 指针变量的初始化和赋值 156
9.2.3 指针变量的引用 156
9.2.4 指针的运算 157
9.3 指针变量做函数参数 157
9.4 数组的指针和指向数组的指针变量 157
9.4.1 指向数组元素的指针 158
9.4.2 通过指针引用数组元素 158
9.4.3 数组名做函数参数 158
9.4.4 指向多维数组的指针与指针变量 158
9.5 字符串的指针和指向字符串的指针变量 159
9.5.1 字符串的表示形式 159
9.5.2 对使用字符指针变量与字符数组的讨论 159
9.5.3 字符串指针做函数参数 160
9.6 函数的指针和指向函数的指针变量 160
9.6.1 用函数的指针变量调用函数 160
9.6.2 指向函数的指针变量做函数参数 160
9.7 返回指针值的函数 160
9.8 指针数组和指向指针的指针 160
9.8.1 指针数组的概念 161
9.8.2 指向指针的指针 161
9.8.3 main()函数的命令行参数 161
9.9 实验 161
9.9.1 指针的使用 161
9.9.2 指针做函数参数 163
9.10 习题 166
第10章 结构体与共用体 172
10.1 结构体类型及变量的定义 172
10.1.1 结构体类型的定义 172
10.1.2 结构体变量的定义 172
10.2 结构体变量的引用和初始化 173
10.3 结构体数组 173
10.3.1 定义结构体数组 173
10.3.2 结构体数组的初始化 173
10.4 指向结构体类型数据的指针 174
10.4.1 指向结构体变量的指针 174
10.4.2 指向结构体数组的指针 174
10.4.3 结构体变量和指向结构体的指针做函数参数 174
10.5 用指针处理链表 174
10.5.1 链表概述 174
10.5.2 处理动态链表所需的函数 174
10.5.3 链表的基本操作 175
10.6 共用体 175
10.6.1 共用体变量的引用方式 176
10.6.2 共用体类型数据的特点 176
10.7 枚举类型 176
10.8 用typedef定义类型 177
10.9 实验 177
10.10 习题 180
第11章 位运算 191
11.1 位运算符与位运算 191
11.1.1 按位与运算符 191
11.1.2 按位或运算符 192
11.1.3 按位异或运算符 192
11.1.4 按位取反运算符 192
11.1.5 左移运算符 192
11.1.6 右移运算符 192
11.1.7 位运算赋值运算符 193
11.1.8 不同长度的数据进行位运算 193
11.2 位段 193
11.3 实验 193
11.4 习题 194
第12章 文件 202
12.1 文件的概念 202
12.2 文件的操作函数 203
12.2.1 文件的打开 203
12.2.2 文件的关闭 203
12.3 文件的检测函数 203
12.4 常用的读写函数 204
12.4.1 读写字符函数 204
12.4.2 读写字符串函数 204
12.4.3 读写数据块函数 205
12.4.4 格式化读写函数 205
12.5 文件的定位 205
12.5.1 rewind()函数 205
12.5.2 随机读写和fseek()函数 205
12.6 实验 206
12.7 习题 208
第13章 实用项目开发技术简介 216
13.1 C语言图形功能简介 216
13.1.1 图形与硬件 216
13.1.2 文本与图形 217
13.1.3 图形设计 220
13.2 图形模式的初始化 220
13.3 独立图形运行程序的建立 221
13.4 屏幕颜色的设置和清屏函数 222
13.5 基本画图函数 223
13.5.1 画点 223
13.5.2 画线 223
13.6 基本图形的填充 225
13.6.1 设定填充方式 225
13.6.2 任意封闭图形的填充 226
13.7 图形操作函数 227
13.7.1 图形窗口操作 227
13.7.2 屏幕操作函数 227
13.8 图形模式下的文本操作 228
13.8.1 文本的输出 228
13.8.2 文本字体、字型和输出方式的设置 229
13.8.3 用户对文本字符大小的设置 230
13.9 C语言动画设计 230
13.10 菜单设计技术 231
13.10.1 下拉式菜单的设计 231
13.10.2 选择式菜单的设计 231
13.11 大型程序开发的项目管理 231
13.11.1 项目管理器 231
13.11.2 用项目管理器开发程序项目的步骤 232
13.11.3 项目管理器的使用技巧 232
13.12 实验 233
13.13 习题 237
参考文献 239