《C/C++程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:李云峰,李婷编著
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2012
  • ISBN:9787517000020
  • 页数:372 页
图书介绍:本书针对初学者的特点,采取“提出问题→分析问题→解决问题→归纳提高”的四部曲教学模式,分为10章。主要内容包括C语言程序设计概述、数据类型与运算、结构化程序设计、利用函数编程、利用数组编程、利用指针编程、利用构造类型编程、文件操作、C++程序设计、综合应用程序设计。

导学 1

第1章 C/C+程序设计概述 9

1.1 程序设计概念 9

1.1.1 什么是程序设计 9

1.1.2 程序设计语言 10

1.1.3 程序设计方法 12

1.1.4 程序设计步骤 14

1.2 算法及其描述方法 16

1.2.1 算法的基本概念 16

1.2.2 算法的描述方法 18

1.3 C/C++语言程序 24

1.3.1 从C到C+++ 24

1.3.2 C/C+++的性能特点 25

1.3.3 C语言程序实例 26

1.3.4 C/C+++程序基本成分 28

1.3.5 C/C+++的编程规约 31

1.4 C/C++程序的实现 34

1.4.1 构建源程序 34

1.4.2 程序的编辑与编译 35

本章小结 37

本章习题 37

第2章 数据类型与运算 40

2.1 数据类型及其存储 40

2.1.1 数据类型的引出 40

2.1.2 数据的存储方式 41

2.1.3 数据的存储类型 42

2.2 常量与变量 45

2.2.1 常量 45

2.2.2 变量 47

2.3 基本运算 48

2.3.1 基本运算符 49

2.3.2 运算符的优先级与结合性 51

2.3.3 基本表达式 52

2.3.4 表达式中的类型转换 53

2.4 位运算 56

2.4.1 位运算的特点 56

2.4.2 逻辑位运算 57

2.4.3 移位运算 60

2.5 编译预处理命令 62

2.5.1 宏定义命令 62

2.5.2 文件包含命令 63

2.5.3 条件编译命令 65

2.6 算法案例程序设计 66

2.6.1 计算银行存款的本息 66

2.6.2 日期写法 67

2.6.3 数字分离 68

2.6.4 时间戳 69

本章小结 70

本章习题 70

第3章 结构化程序设计 74

3.1 顺序结构 74

3.1.1 顺序结构的引出 74

3.1.2 数据处理语句 75

3.1.3 数据的输出 76

3.1.4 数据的输入 81

3.2 程序流程控制机制 83

3.2.1 关系运算 83

3.2.2 逻辑运算 85

3.2.3 条件运算 86

3.3 分支结构 87

3.3.1 单分支结构 87

3.3.2 双分支结构 88

3.3.3 if语句的嵌套 89

3.3.4 多分支结构 91

3.4 循环结构 94

3.4.1 循环结构的引出 94

3.4.2 while循环结构 95

3.4.3 do-while循环结构 96

3.4.4 for循环结构 97

3.4.5 三种循环结构的比较 99

3.4.6 循环结构中的辅助语句 99

3.4.7 循环嵌套结构 102

3.5 算法案例程序设计 103

3.5.1 百钱买百鸡 103

3.5.2 爱因斯坦的阶梯问题 104

3.5.3 验证哥德巴赫猜想 105

3.5.4 五个渔夫捕鱼 106

本章小结 107

本章习题 108

第4章 利用函数编程 113

4.1 函数概念与定义 113

4.1.1 函数的引出 113

4.1.2 函数的定义 115

4.2 函数调用 118

4.2.1 函数调用方式 118

4.2.2 函数调用声明 119

4.2.3 函数参数的传递 121

4.2.4 简单变量作函数参数 123

4.3 函数的嵌套与递归 124

4.3.1 函数的嵌套调用 124

4.3.2 函数的递归调用 126

4.4 变量的作用域与生存期 127

4.4.1 变量的作用域 127

4.4.2 变量的生存期 131

4.4.3 函数的作用域 136

4.5 案例程序设计 137

4.5.1 “兔子产仔” 137

4.5.2 汉诺(Hanoi)塔问题 139

4.5.3 排队购票 140

4.5.4 谁是最小年龄 142

本章小结 143

本章习题 144

第5章 利用数组编程 149

5.1 一维数组 149

5.1.1 一维数组的引出 149

5.1.2 一维数组的定义与引用 150

5.1.3 一维数组的初始化 151

5.2 二维数组 153

5.2.1 二维数组的引出 153

5.2.2 二维数组的定义与引用 154

5.2.3 二维数组的初始化 155

5.3 字符数组 156

5.3.1 字符数组的引出 157

5.3.2 字符数组的定义与引用 157

5.3.3 字符数组的初始化 157

5.3.4 字符数组的输入/输出方式 158

5.3.5 字符串处理函数 159

5.4 数组作为函数参数 162

5.4.1 一维数组作函数参数 162

5.4.2 二维数组作函数参数 165

5.4.3 字符数组做函数参数 167

5.5 算法案例程序设计 167

5.5.1 猴子吃桃 168

5.5.2 猴子爬山 169

5.5.3 韩信点兵 169

5.5.4 新郎与新娘配对 171

本章小结 172

本章习题 173

第6章 利用指针编程 178

6.1 指针的定义与引用 178

6.1.1 指针概念的引出 178

6.1.2 指针与内存地址的关系 179

6.1.3 指针变量的定义与初始化 181

6.1.4 指针变量的引用与运算 183

6.2 指针与数组 184

6.2.1 一维数组的指针表示 184

6.2.2 二维数组的指针表示 187

6.2.3 字符串的指针表示 189

6.2.4 指针数组 191

6.2.5 多级指针 192

6.3 指针与函数 194

6.3.1 指针作为函数的参数 194

6.3.2 字符串指针作为函数参数 196

6.3.3 指针作为函数的返回值 197

6.3.4 指向函数的指针 198

6.3.5 带指针参数的main函数 201

6.4 动态内存分配与动态数组 202

6.4.1 动态内存分配 202

6.4.2 void类型指针 204

6.4.3 动态数组 205

6.5 案例程序设计 207

6.5.1 狸猫换太子 207

6.5.2 舞伴的搭配 208

6.5.3 猴子选大王 210

6.5.4 约瑟夫问题 210

本章小结 213

本章习题 213

第7章 利用构造类型编程 218

7.1 结构体类型 218

7.1.1 结构体的引出与定义 218

7.1.2 结构体变量的引用与初始化 222

7.1.3 结构体数组 223

7.1.4 结构体指针 226

7.1.5 结构体与函数 228

7.2 使用结构体指针处理链表 231

7.2.1 链表的引出 231

7.2.2 链表结点定义与动态存储 232

7.2.3 链表的建立 233

7.2.4 链表的输出 235

7.2.5 链表的插入 236

7.2.6 链表的删除 237

7.2.7 链表的合并 239

7.3 共用体类型 240

7.3.1 共用体的引出 240

7.3.2 共用体的定义 241

7.3.3 共用体变量的引用 243

7.4 枚举类型与typedef语句 244

7.4.1 枚举类型 244

7.4.2 typedef语句 247

7.5 算法案例程序设计 249

7.5.1 选美比赛 249

7.5.2 奖学金制度 251

7.5.3 作业调度方案 253

7.5.4 机器人控制指令 256

本章小结 257

本章习题 258

第8章 文件操作 262

8.1 文件操作概述 262

8.1.1 文件概念的引出 262

8.1.2 文件的基本类型 264

8.1.3 文件缓冲区与类型指针 265

8.1.4 文件操作的基本步骤 266

8.2 文件的打开与关闭 267

8.2.1 文件的打开 268

8.2.2 文件的关闭 269

8.3 文件的顺序读/写操作 270

8.3.1 读/写一个字符 270

8.3.2 读/写一个字符串 272

8.3.3 读/写一个数据块 273

8.3.4 格式化读/写函数 275

8.4 文件的随机读/写操作 277

8.4.1 文件定位函数 277

8.4.2 返回文件当前位置的函数 279

8.5 文件读/写出错的检测 280

8.5.1 文件读/写结束检查函数 280

8.5.2 文件出错检查函数 281

8.5.3 文件出错复位函数 281

8.6 算法案例程序设计 282

8.6.1 海上逃生 282

8.6.2 谁去谁留 284

8.6.3 探险队走出泥潭 285

8.6.4 筛选游戏卡 287

本章小结 288

本章习题 288

第9章 C+程序设计 291

9.1 C++对C的基本扩充 291

9.1.1 对输入/输出语句的扩充 291

9.1.2 对变量说明的扩充 293

9.1.3 对自定义函数的扩充 293

9.1.4 对变量的引用扩充 296

9.1.5 对运算符的扩充 298

9.2 类和对象 300

9.2.1 类的引出 300

9.2.2 类的声明 301

9.2.3 类的成员函数 303

9.2.4 对象声明和引用 305

9.3 构造函数和析构函数 307

9.3.1 构造函数 307

9.3.2 析构函数 309

9.4 友元和静态成员 311

9.4.1 友元 311

9.4.2 静态成员 312

9.5 类的继承与派生 315

9.5.1 继承与派生的引出 315

9.5.2 创建派生类的方法 317

9.5.3 派生类的访问控制 318

9.5.4 派生类的构造函数与析构函数 321

9.6 算法案例程序设计 323

9.6.1 学生成绩管理 323

9.6.2 建立学生成绩派生类 325

本章小结 326

本章习题 327

第10章 综合应用程序设计 330

10.1 电子万年历 330

10.1.1 系统设计目标 330

10.1.2 系统需求分析 331

10.1.3 系统总体设计 331

10.1.4 系统功能实现 335

10.2 俄罗斯方块游戏 338

10.2.1 系统设计目标 338

10.2.2 系统需求分析 338

10.2.3 系统总体设计 339

10.2.4 系统功能实现 343

10.3 图书借阅管理系统 345

10.3.1 系统设计目标 345

10.3.2 系统需求分析 345

10.3.3 系统总体设计 346

10.3.4 系统功能实现 349

10.4 学生成绩管理系统 351

10.4.1 系统设计目标 351

10.4.2 系统需求分析 351

10.4.3 系统结构设计 352

10.4.4 使用结构体设计 354

10.4.5 使用链表设计 356

10.4.6 使用类设计 358

本章小结 360

本章习题 360

参考文献 363