前言 1
第1章 程序设计的基本概念 1
1.1 程序设计语言 1
1.1.1 程序设计语言概述 1
目录 1
1.1.2 语言处理程序概述 2
1.1.3 程序设计方法概述 2
1.2 计算机中数据表示方法 5
1.2.1 进位计数制和数制之间的转换 5
1.2.2 数在计算机中的表示方法 7
1.3 算法特征及算法的描述方法 9
1.3.1 算法的概念与特征 9
1.3.2 算法的描述方法 11
习题与思考题 15
2.1.1 数据对象的命名方法 17
第2章 程序设计的数据基础 17
2.1 程序中数据的表示 17
2.1.2 整型类数据的表示 18
2.1.3 实型类数据的表示 19
2.1.4 字符类数据的表示 20
2.2 表达式运算基础 21
2.2.1 基本运算符和表达式运算 21
2.2.2 数据的混合运算和数据类型转换 25
2.3 程序设计中顺序处理和数据输入输出 26
2.3.1 程序设计中的格式化输出 27
2.3.2 程序设计中的格式化输入 29
2.3.3 字符类型数据的输入输出 30
习题与思考题 31
3.1.2 程序设计中条件的表示方法 32
3.1.1 程序设计中的分支概念 32
3.1 程序设计中的分支处理结构 32
第3章 结构化程序设计基础 32
3.1.3 分支结构程序设计 34
3.2 程序设计中的循环处理结构 42
3.2.1 程序设计中的循环概念 42
3.2.2 循环结构程序设计 42
3.3 结构化程序设计应用 48
3.3.1 穷举思想和穷举方法的实现 48
3.3.2 迭代思想和迭代方法的实现 50
习题与思考题 52
第4章 模块化程序设计基础 53
4.1 模块化基本概念 53
4.1.1 模块化概念 53
4.1.2 信息隐蔽和局部化概念 53
4.2.1 函数的定义和声明 54
4.2 程序设计中实现模块化的方法 54
4.2.2 函数的调用和数据传递 56
4.2.3 函数的嵌套调用 58
4.3 程序设计中标识符的作用域和生存期 59
4.3.1 标识符的作用域 59
4.3.2 标识符的生存期 62
4.4 递归方法的实现 65
4.4.1 递归的基本概念与递归函数设计 65
4.4.2 函数的递归调用 67
习题与思考题 73
第5章 数据对象地址的处理方法 76
5.1 程序设计中地址的表示方法 76
5.1.1 地址表示方法与指针变量 76
5.1.2 程序设计中的地址运算 77
5.2.1 函数调用中使用指针参数传递数据 80
5.2 函数与指针 80
5.2.2 返回指针值的函数 82
5.2.3 指向函数的指针与函数型参数的实现 83
习题与思考题 85
第6章 构造类型数据的处理基础 88
6.1 相同类型数据对象集合的处理方法 88
6.1.1 数组的定义和数组元素的使用方法 89
6.1.2 函数调用中使用数组参数传递数据 93
6.1.3 数组与指针的关系 96
6.1.4 指针数组和多级指针 102
6.2 不同类型数据对象集合的处理方法 103
6.2.1 结构体类型的定义和结构体变量的使用方法 103
6.2.2 结构体数组的使用方法 106
6.2.3 函数调用中使用结构体类型参数传递数据 108
6.2.4 结构体与指针的关系 110
6.3.1 联合体类型的定义和联合体变量的使用方法 113
6.3 数据对象存储区域的分时复用方法 113
6.3.2 联合体类型与结构体类型的区别 116
习题与思考题 119
第7章 字符串数据的处理基础 121
7.1 程序设计中的字符串 121
7.1.1 程序设计中字符串的存储方法 121
7.1.2 程序设计中字符串的表示方法 121
7.2 字符串的常用处理方法 122
7.2.1 字符串的输入和输出方法 123
7.2.2 字符串中有效字符的统计方法 125
7.2.3 字符串的复制方法和连接方法 125
7.2.4 字符串中字符的查找、插入和删除方法 128
7.2.5 字符串中子串的查找、插入和删除方法 132
习题与思考题 139
8.2 位运算符及其应用 141
第8章 二进制位数据的处理基础 141
8.1 位运算的基本概念 141
习题与思考题 145
第9章 文件数据的处理基础 147
9.1 数据的层次结构和文件概念 147
9.1.1 数据的层次结构 147
9.1.2 文件的基本概念以及程序设计语言中文件的描述方法 147
9.2 顺序存取文件的处理方法 149
9.2.1 文件的打开 149
9.2.2 文件的关闭 150
9.2.3 文件内部的读写位置指针和文件尾部的检测方法 150
9.2.4 顺序文件中的数据存取方法 151
9.3 随机存取文件的处理方法 157
9.3.1 随机存取文件处理概念 157
9.3.2 文件中的随机存取实现方法 157
习题与思考题 161
第10章 程序设计的深入话题 162
10.1 数据类型的扩展技术 162
10.1.1 自引用结构和存储分配 162
10.1.2 关键字typedef的应用 165
10.2 特殊类型函数参数的处理技术 169
10.2.1 命令行参数的处理 169
10.2.2 变长参数列表的处理 171
10.3 C系统的编译预处理 173
习题与思考题 177
习题与思考题参考答案 180
附录 203
附录A ASCII码表(7位码) 203
附录B 常用C标准函数库 204
参考文献 211