第1章 程序设计概述 1
1.1 概述 1
1.1.1 程序与程序设计 1
1.1.2 程序设计语言 2
1.2 算法 3
1.2.1 算法的概念 3
1.2.2 算法的描述方式 3
1.2.3 简单算法举例 4
1.3 程序设计过程 6
1.3.1 解决问题的基本步骤 6
1.3.2 C语言程序的设计过程 6
1.4 C语言简介 7
1.4.1 C语言的字符集与词法符号 8
1.4.2 C语言程序的基本结构 10
1.4.3 C语言程序的书写规则 11
1.5 程序设计方法 11
1.5.1 结构化程序设计 12
1.5.2 面对象程序设计 12
1.6 开发环境简介 12
1.6.1 启动vc++6.0 13
1.6.2 创建工程与文件 13
1.6.3 编辑程序 15
1.6.4 编译与连接 15
1.6.5 运行 16
1.6.6 关闭 17
1.7 案例应用 17
第2章 数据类型、运算符与表达式 19
2.1 数据类型 19
2.1.1 基本数据类型 20
2.1.2 构造数据类型 22
2.1.3 其他数据类型 23
2.2 常量与变量 23
2.2.1 常量 23
2.2.2 变量 28
2.3 运算符与表达式 32
2.3.1 运算符 32
2.3.2 表达式 50
2.3.3 类型转换 50
2.4 标准输入/输出 52
2.4.1 printf()函数 52
2.4.2 scanf()函数 55
2.4.3 其他输入输出函数 57
2.5 数学函数 58
2.6 随机数发生器函数 59
2.7 案例应用 60
第3章 程序控制结构 63
3.1 程序的基本结构 63
3.2 语句 64
3.2.1 声明语句 64
3.2.2 表达式语句 65
3.2.3 复合语句 65
3.2.4 控制语句 65
3.2.5 空语句 65
3.3 顺序结构 66
3.4 选择结构 68
3.4.1 if语句 68
3.4.2 switch语句 78
3.4.3 程序应用举例 82
3.5 循环结构 85
3.5.1 while语句 85
3.5.2 do—while语句 89
3.5.3 for语句 93
3.5.4 几种循环的比较 95
3.5.5 循环的嵌套 96
3.5.6 程序举例 97
3.6 转向语句 101
3.6.1 break语句 101
3.6.2 continue语句 102
3.7 结构化程序设计的方法 103
3.8 案例应用 104
第4章 函数与预处理 109
4.1 概述 109
4.1.1 函数的概念 109
4.1.2 函数分类 110
4.2 函数的定义与声明 111
4.2.1 函数的定义 111
4.2.2 函数声明与函数原型 113
4.3 函数调用 114
4.4 函数返回类型与返回值 118
4.5 函数的参数 120
4.5.1 形式参数与实际参数 120
4.5.2 值传递与地址传递 120
4.6 递归 124
4.6.1 递归的概念 124
4.6.2 程序举例 126
4.7 变量作用域 129
4.7.1 内部变量 129
4.7.2 外部变量 131
4.7.3 作用域规则 132
4.8 变量存储类别 133
4.8.1 变量生存期 133
4.8.2 auto变量 134
4.8.3 static变量 135
4.8.4 register变量 136
4.8.5 extern变量 137
4.9 内部函数与外部函数 140
4.9.1 内部函数 140
4.9.2 外部函数 141
4.10 预处理 144
4.10.1 文件包含 144
4.10.2 宏定义 146
4.10.3 条件编译 149
4.11 案例应用 152
第5章 数组 157
5.1 数组概述 157
5.2 一维数组 158
5.2.1 一维数组定义与初始化 158
5.2.2 一维数组元素的引用 161
5.2.3 一维数组作为函数参数 167
5.2.4 一维数组应用举例 170
5.3 二维数组 179
5.3.1 二维数组定义与初始化 179
5.3.2 二维数组数组元素的引用 182
5.3.3 二维数组应用举例 184
5.4 字符数组 186
5.4.1 字符串与字符数组 186
5.4.2 字符数组的定义与初始化 187
5.4.3 字符数组的引用 189
5.4.4 字符串输出和输入 190
5.4.5 字符数组应用举例 193
5.4.6 字符串处理函数 195
5.4.7 字符串数组 198
5.5 案例应用 202
第6章 指针 206
6.1 指针的概念 206
6.1.1 地址与指针 206
6.1.2 指针的定义与初始化 208
6.1.3 指针的运算 210
6.2 指针与函数 217
6.2.1 指针作函数的参数 217
6.2.2 函数返回指针 219
6.2.3 指向函数的指针 221
6.3 指针与数组 224
6.3.1 指针对数组元素的访问 224
6.3.2 字符指针 235
6.3.3 指向数组的指针 241
6.3.4 指针数组 244
6.3.5 指向指针的指针 251
6.4 动态内存分配 254
6.4.1 动态内存分配的含义 254
6.4.2 动态内存分配的步骤 255
6.4.3 常用的动态内存管理函数 255
第7章 结构体与共用体 263
7.1 结构体类型与结构体变量 263
7.1.1 结构体类型的定义 264
7.1.2 结构体变量的定义与初始化 265
7.1.3 结构体变量的引用 268
7.1.4 指向结构体变量的指针 272
7.1.5 关键字typedef的用法 276
7.2 结构体数组 277
7.2.1 结构体数组的定义 277
7.2.2 结构体数组的初始化 279
7.2.3 结构体数组的应用 280
7.3 结构体与函数 283
7.4 动态数据结构 285
7.4.1 链表的定义 286
7.4.2 链表的的特点及操作原理 288
7.4.3 动态链表的建立 289
7.4.4 链表的删除操作 291
7.4.5 链表的插入操作 293
7.5 共用体 295
7.5.1 共用体类型的定义和引用 295
7.5.2 共用体类型的初始化 297
7.5.3 共用体类型举例 297
7.6 案例应用 301
第8章 文件 304
8.1 文件的基本概念 304
8.1.1 文件概述 304
8.1.2 文件的类别 305
8.1.3 文件的操作流程 307
8.1.4 文件的定义 307
8.2 常用文件操作的标准函数 308
8.2.1 文件的打开与关闭 308
8.2.2 文本文件的读写 311
8.2.3 二进制文件的读写 317
8.2.4 文件的随机访问与定位 319
8.2.5 文件使用举例 321
8.3 案例应用 323
附录A ASCII码表 339
附录B 运算符 342
附录C 常用C标准库函数 344