图书目录

第1章 绪论1

1.1 “鸡兔同笼”--计算1

1.2 算法2

1.3 PAD图3

1.4 程序4

1.5 运行5

1.6 计算机的基本结构7

1.7 C语言7

1.8 Visual C++集成开发环境9

1.8.1 启动VC++9

1.8.2 独立文件模式下建立环境9

1.8.3 独立文件模式下录入、编辑源程序9

1.8.4 编译11

1.8.5 连接与运行11

1.8.6 程序参数12

1.8.7 项目管理模式下建立运行环境13

1.8.8 项目管理模式下录入、编辑源程序14

本章小结16

习题一16

第2章 简单程序18

2.1 行程问题--简单程序18

2.2 语句19

2.3 表达式20

2.3.1 表达式语句22

2.3.2 赋值22

2.4 基本符号23

2.4.1 关键字23

2.4.2 标识符23

2.4.3 间隔符24

2.4.4 注释25

2.5 数据及其类型26

2.5.1 浮点类型26

2.5.2 整数类型27

2.5.3 字符类型27

2.5.4 混合运算28

2.6 常量和变量28

2.6.1 字面常量28

2.6.2 常量标识符31

2.6.3 变量31

2.7 类型转换32

2.8 输入输出34

2.8.1 字符输入34

2.8.2 字符输出35

2.8.3 格式输入35

2.8.4 格式输出36

2.9 顺序控制结构39

本章小结43

习题二44

第3章 分支程序设计46

3.1 判断成绩是否及格--双分支程序设计46

3.2 成绩加上获奖信息--单分支程序设计48

3.3 逻辑判断--布尔类型54

3.3.1 关系运算54

3.3.2 布尔运算55

3.4 获奖分等级--多分支程序设计55

3.5 表示汽车种类--枚举类型59

本章小结61

习题三61

第4章 循环程序设计64

4.1 计算平均成绩--循环程序64

4.1.1 后判断条件的循环65

4.1.2 先判断条件的循环69

4.1.3 for语句73

4.2 打印99表--多重循环75

4.3 程序设计实例79

本章小结83

习题四83

第5章 模块化程序设计--函数86

5.1 求给定三角形的重心--模块化程序设计86

5.2 函数89

5.2.1 函数定义90

5.2.2 函数调用91

5.2.3 先调用后定义93

5.3 程序设计实例94

本章小结97

习题五97

第6章 批量数据组织--数组99

6.1 成绩统计--数组类型99

6.1.1 数组声明100

6.1.2 下标表达式101

6.1.3 应注意的问题101

6.2 统计多科成绩--多维数组102

6.3 程序设计实例104

6.4 成绩排序--数组初值113

6.5 输出回文字--字符串115

6.6 类型定义119

本章小结120

习题六121

第7章 指针124

7.1 指针与变量124

7.1.1 指针类型和指针变量125

7.1.2 指针所指变量126

7.1.3 空指针、无效指针128

7.2 指针运算129

7.3 指针与数组131

7.3.1 用指针标识数组131

7.3.2 指针数组132

7.4 指针与字符串134

7.5 指向指针的指针137

本章小结139

习题七139

第8章 表单数据组织--结构体141

8.1 图书卡管理141

8.2 图书卡保存--结构体144

8.2.1 定义结构体类型145

8.2.2 结构体类型名146

8.2.3 结构体变量147

8.2.4 指向结构体变量的指针148

8.2.5 访问结构体变量的成分148

本章小结150

习题八150

第9章 再论函数153

9.1 参数153

9.1.1 传递直线方程系数--指针作参数153

9.1.2 对任意数组排序--数组作参数155

9.1.3 图书卡检索--结构体作参数159

9.2 函数值160

9.2.1 打印月份名--返回指针值的函数160

9.2.2 读入图书卡片--返回结构体值的函数162

9.3 作用域163

9.4 局部量和全局量164

9.5 计算n!--递归程序设计166

本章小结171

习题九171

第10章 外部数据组织--文件174

10.1 重新考虑图书卡管理问题--文件174

10.2 文件概述176

10.3 打开和关闭文件179

10.4 程序参数180

10.5 字符读写183

10.6 字符串读写184

10.7 格式化读写185

10.8 数据块读写188

10.9 文件定位191

本章小结192

习题十193

第11章 程序开发195

11.1 求三角形外心--自顶向下、逐步求精195

11.2 结构化程序设计原则200

11.3 程序风格201

11.3.1 行文格式202

11.3.2 标识符203

11.3.3 注释203

11.3.4 对程序说明的建议203

本章小结204

习题十一204

第12章 动态数据组织206

12.1 打印法雷序列--动态数据结构206

12.2 动态变量210

12.3 链表212

12.4 程序设计实例216

本章小结220

习题十二220

第13章 若干深入问题222

13.1 函数222

13.1.1 不定方向的数组排序--函数指针222

13.1.2 计算定积分--函数作参数224

13.1.3 计算算术表达式的值--间接递归228

13.1.4 函数副作用230

13.2 运算231

13.2.1 赋值运算232

13.2.2 顺序表达式232

13.2.3 条件表达式232

13.2.4 位运算233

13.3 语句235

13.3.1 break235

13.3.2 continue236

13.3.3 for的延伸237

13.3.4 goto和标号237

13.4 数据组织238

13.4.1 多维数组与指针238

13.4.2 位段241

13.4.3 职工登记卡--共用体242

13.5 存储类别245

13.5.1 数据在内存中的存储246

13.5.2 自动存储类别246

13.5.3 寄存器存储类别247

13.5.4 变量的静态存储类别248

13.5.5 变量的外部存储类别250

13.5.6 函数的存储类别250

13.5.7 类型定义符251

13.6 编译预处理252

13.6.1 宏定义252

13.6.2 文件包含253

13.6.3 条件编译254

本章小结256

习题十三256

附录A ASCII字符集259

附录B 标准库头文件表262

参考文献263

第3章 分支程序设计45

3.1 判断成绩是否及格--双分支程序设计45

3.2 成绩加上获奖信息--单分支程序设计47

3.3 逻辑判断--布尔类型53

3.3.1 关系运算53

3.3.2 布尔运算54

3.4 获奖分等级--多分支程序设计54

3.5 表示汽车种类--枚举类型58

本章小结60

习题三60

第4章 循环程序设计63

4.1 计算平均成绩--循环程序63

4.1.1 后判断条件的循环64

4.1.2 先判断条件的循环68

4.1.3 for语句72

4.2 打印99表--多重循环74

4.3 程序设计实例78

本章小结82

习题四82

第5章 模块化程序设计--函数85

5.1 求给定三角形的重心--模块化程序设计85

5.2 函数88

5.2.1 函数定义89

5.2.2 函数调用90

5.2.3 先调用后定义92

5.3 程序设计实例93

本章小结96

习题五96

第6章 批量数据组织--数组98

6.1 成绩统计--数组类型98

6.1.1 数组声明99

6.1.2 下标表达式100

6.1.3 应注意的问题100

6.2 统计多科成绩--多维数组101

6.3 程序设计实例103

6.4 成绩排序--数组初值112

6.5 输出回文字--字符串114

6.6 类型定义118

本章小结119

习题六120

第7章 指针123

7.1 指针与变量123

7.1.1 指针类型和指针变量124

7.1.2 指针所指变量125

7.1.3 空指针、无效指针127

7.2 指针运算128

7.3 指针与数组130

7.3.1 用指针标识数组130

7.3.2 指针数组131

7.4 指针与字符串133

7.5 指向指针的指针136

本章小结139

习题七139

第8章 表单数据组织--结构体142

8.1 图书卡管理142

8.2 图书卡保存--结构体145

8.2.1 定义结构体类型146

8.2.2 结构体类型名147

8.2.3 结构体变量148

8.2.4 指向结构体变量的指针149

8.2.5 访问结构体变量的成分149

本章小结151

习题八151

第9章 再论函数154

9.1 参数154

9.1.1 传递直线方程系数--指针作参数154

9.1.2 对任意数组排序--数组作参数156

9.1.3 图书卡检索--结构体作参数160

9.2 函数值161

9.2.1 打印月份名--返回指针值的函数161

9.2.2 读入图书卡片--返回结构体值的函数163

9.3 作用域164

9.4 局部量和全局量165

9.5 计算n!-递归程序设计167

本章小结172

习题九172

第10章 外部数据组织--文件175

10.1 重新考虑图书卡管理问题--文件175

10.2 文件概述177

10.3 打开、关闭文件180

10.4 程序参数181

10.5 字符读写184

10.6 字符串读写185

10.7 格式化读写186

10.8 数据块读写189

10.9 文件定位192

本章小结193

习题十193

第11章 程序开发196

11.1 求三角形外心--自顶向下、逐步求精196

11.2 结构化程序设计原则201

11.3 程序风格202

11.3.1 行文格式203

11.3.2 标识符204

11.3.3 注释204

11.3.4 对程序说明的建议204

本章小结205

习题十一205

第12章 动态数据组织207

12.1 打印法雷序列--动态数据结构207

12.2 动态变量211

12.3 链表213

12.4 程序设计实例217

本章小结221

习题十二221

第13章 若干深入问题223

13.1 函数223

13.1.1 不定方向的数组排序--函数指针223

13.1.2 计算定积分--函数作参数225

13.1.3  计算算术表达式的值--间接递归229

13.1.4 函数副作用231

13.2 运算232

13.2.1 赋值运算233

13.2.2 顺序表达式233

13.2.3 条件表达式233

13.2.4 位运算234

13.3 语句236

13.3.1 break236

13.3.2 continue237

13.3.3 for的延伸238

13.3.4 goto和标号238

13.4 数据组织239

13.4.1 多维数组与指针239

13.4.2 位段242

13.4.3 职工登记卡--共用体243

13.5 存储类别246

13.5.1 数据在内存中的存储247

13.5.2 自动存储类别247

13.5.3 寄存器存储类别248

13.5.4 变量的静态存储类别249

13.5.5 变量的外部存储类别251

13.5.6 函数的存储类别251

13.5.7 类型定义符252

13.6 编译预处理253

13.6.1 宏定义253

13.6.2 文件包含254

13.6.3 条件编译255

本章小结257

习题十三257

附录A ACSII字符集260

附录B 标准库头文件表263

参考文献264