第一篇 程序设计基础篇 1
第1章 程序设计基础 1
1.1 程序设计概念 1
1.1.1 什么是程序设计 1
1.1.2 什么是计算机程序 2
1.1.3 程序设计语言的发展 2
1.1.4 程序设计思想 4
1.2 算法的概念及其表示 5
1.2.1 算法的概念 5
1.2.2 算法的表示 7
1.3 程序开发过程 12
1.3.1 程序的编写过程 12
1.3.2 Turbo C++3.0集成开发环境 12
1.4 C语言程序结构及实例 14
1.4.1 C语言程序结构 15
1.4.2 标识符和关键字 16
习题 17
第2章 数据表示及数据运算 19
2.1 数据类型的一般概念 19
2.2 常量与变量 20
2.2.1 常量 20
2.2.2 变量 21
2.3 整型数据 21
2.3.1 整型变量 22
2.3.2 整型常量 24
2.4 浮点型数据 25
2.4.1 浮点型变量 25
2.4.2 浮点型常量 26
2.5 字符型数据 27
2.5.1 字符型常量 27
2.5.2 字符型变量 28
2.5.3 字符串常量 29
2.6 赋值运算符及变量赋初值 30
2.7 不同数据类型数据间的混合运算 31
2.7.1 自动转换 32
2.7.2 强制转换 32
2.8 运算符和表达式 33
2.8.1 概述 33
2.8.2 算术运算符和算术表达式 34
2.8.3 自增、自减运算符 36
2.8.4 复合赋值运算符和赋值表达式 37
2.8.5 关系运算符和关系表达式 38
2.8.6 逻辑运算符和逻辑表达式 38
2.8.7 条件运算符和条件表达式 40
2.8.8 逗号运算符和逗号表达式 41
2.8.9 求字节数运算符 41
2.9 运算符的优先级和结合性 42
习题 42
第3章 最简单的C程序设计 46
3.1 赋值语句 47
3.2 数据的输入输出 48
3.2.1 字符数据的输入输出 48
3.2.2 格式输入与格式输出 51
3.3 编程实例 66
习题 69
第4章 选择结构程序设计 71
4.1 选择结构程序设计的基本思想 71
4.2 if语句的基本形式 73
4.2.1 if单分支结构 74
4.2.2 if双分支结构 75
4.3 表达式与if语句条件判断 77
4.3.1 再述关系表达式和逻辑表达式 77
4.3.2 if语句条件判断 79
4.4 多分支选择结构及if嵌套 81
4.4.1 if多分支结构 81
4.4.2 switch语句 84
4.4.3 if嵌套结构 88
4.5 编程实例 92
习题 97
第5章 循环结构程序设计 100
5.1 引言 100
5.2 循环的实现方法 101
5.2.1 while循环 101
5.2.2 for循环 103
5.2.3 do-while循环 107
5.2.4 循环的嵌套 108
5.3 循环的进一步讨论 111
5.3.1 几种循环的比较 111
5.3.2 用break语句提前终止循环 111
5.3.3 用continue语句提前结束本次循环 113
5.4 编程实例 114
习题 120
第二篇 高效编程篇 127
第6章 函数 127
6.1 高效程序的编写 127
6.2 函数的定义 129
6.2.1 无参函数的定义 129
6.2.2 有参函数的定义 129
6.3 函数间数据的传递方法 131
6.3.1 形式参数和实际参数 131
6.3.2 函数的返回值 132
6.4 函数的调用 134
6.4.1 函数调用的一般形式 134
6.4.2 函数的声明和函数原型 136
6.5 函数的嵌套调用 137
6.6 函数的递归调用 139
6.7 局部变量和全局变量 144
6.7.1 局部变量 144
6.7.2 全局变量 145
6.8 变量的存储类别 147
6.8.1 动态存储方式与静态存储方式 147
6.8.2 auto变量 148
6.8.3 用static声明局部变量 149
习题 150
第三篇 深入应用篇 153
第7章 数组 153
7.1 成组数据处理问题实例及解决方法 153
7.2 一维数组的定义与引用 154
7.2.1 一维数组的定义 154
7.2.2 一维数组元素的引用 154
7.2.3 一维数组的初始化 155
7.3 二维数组的定义与引用 156
7.3.1 二维数组的定义 156
7.3.2 二维数组元素的引用 157
7.3.3 二维数组的初始化 158
7.4 字符数组的定义与引用 159
7.4.1 字符数组的初始化 159
7.4.2 字符串和字符串结束标志 160
7.4.3 字符数组的输入输出 160
7.4.4 字符串处理函数 161
7.5 数组元素及数组作函数的参数 164
7.5.1 数组元素作函数的参数 164
7.5.2 数组作函数的参数 165
7.6 编程实例 166
习题 174
第8章 常用算法 179
8.1 格式控制类 179
8.2 排序和查找 180
8.2.1 排序 180
8.2.2 查找 183
8.3 一些常见编程算法 185
8.4 应用题型 190
8.5 其他常用数学方法 193
8.5.1 迭代法 193
8.5.2 递归法 195
8.5.3 分治法 196
8.6 随机数分析 197
第9章 结构体 199
9.1 结构体类型的声明方法 199
9.2 结构体类型变量的定义与使用 201
9.2.1 变量的3种定义方法 201
9.2.2 结构体变量的初始化 202
9.2.3 结构体变量的使用 204
9.3 结构体数组 207
9.3.1 结构体数组的定义 207
9.3.2 结构体数组的初始化 209
9.3.3 结构体数组的使用 210
9.4 编程实例 212
习题 217
第10章 指针 222
10.1 指针的引入 222
10.2 内存数据的访问方式 224
10.3 指针变量的定义及基本使用 225
10.3.1 指针变量的定义 226
10.3.2 指针变量的基本使用方法 227
10.4 指针作函数的参数 229
10.5 指针变量的各种应用 233
10.5.1 指针与数组 233
10.5.2 指针与字符串 236
10.5.3 指针与结构体 240
10.6 使用指针的算法分析和设计 241
10.6.1 使用指针处理数组 241
10.6.2 使用指针处理字符串 245
10.6.3 使用指针处理结构体数据 248
10.6.4 使用指针作参数传递一组数据 250
10.7 编程实例 255
习题 258
第11章 文件系统 265
11.1 文件概述 265
11.2 文件的打开与关闭 267
11.2.1 文件的打开 268
11.2.2 文件的关闭 268
11.3 文件的读写 269
11.3.1 文件尾测试函数 269
11.3.2 文件的字符读/写函数 269
11.4 文件定位 271
11.4.1 文件头定位函数rewind() 271
11.4.2 改变文件位置指针函数fseek() 272
11.5 编程实例 273
习题 275
附录A ASCII表 277
附录B 常用函数 278