注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书教育/教材/教辅教材研究生/本科/专科教材C/C++程序设计导论:从计算到编程(微课视频版)

C/C++程序设计导论:从计算到编程(微课视频版)

C/C++程序设计导论:从计算到编程(微课视频版)

定 价:¥69.90

作 者: 张力生,张化川,何睿,赵春泽
出版社: 清华大学出版社
丛编项: 21世纪高等学校计算机类课程创新系列教材
标 签: 暂缺

购买这本书可以去


ISBN: 9787302592020 出版时间: 2022-03-01 包装: 平装
开本: 16开 页数: 字数:  

内容简介

  本书以基础理论和编程实践相结合的方式,图文并茂地介绍设计程序所需的数学知识、计算机基础知识和计算机语言基本知识,从计算和数据角度系统地介绍了设计程序的基本原理、基本方法和典型编程模式,并使用C/C++语言实现设计的程序。全书分为两部分,共10章。第一部分为基础篇,包括概述、表达式和数据类型、构造分支、构造循环、函数等知识;第二部分为应用篇,包括程序组织、数组、指针和引用、结构、底层编程等知识。书中的每个知识点都从数学引入,有相应的数学推导、编程步骤、实现代码和编程要点。 本书适合作为全国高等院校计算机及相关专业的程序设计课程的教材,也可供从事软件开发的专业人员自学使用。

作者简介

  张力生,男,教授,重庆邮电大学软件工程学院副院长。1985年7月毕业于西南师范学院计算数学专业,后取得计算机教育硕士,先后工作于解放军通信学院、第三军医大学、重庆渝开发集团公司和重庆邮电大学,具有20余年高校教学经历和10余年企业工作和软件开发经历,主要从事数据挖掘、软件模型及形式化方法等方面的教学与科研工作。 主讲《计算机程序设计》、《计算机网络》、《数据库原理与设计》等本科生课程,《软件建模》研究生课程。

图书目录


第一部分  基  础  篇

第1章  概述 3

1.1  计算机 3

1.2  计算机语言 4

1.3  为什么选择C/C++语言 5

1.4  简单程序 6

1.5  编译和连接 6

1.6  调试程序 7

1.7  本章小结 9

1.8  习题 9

第2章  表达式和数据类型 10

2.1  表达式 10

2.1.1  四则运算中的计算 10

2.1.2  在计算机中的计算顺序 11

2.1.3  表达式的运算序列 12

2.1.4  计算表达式的基本方法 14

2.2  算术运算 18

2.2.1  算术运算的语法和语义 18

2.2.2  编写表达式 20

2.2.3  表达式语句 21

2.3  变量及其运算 21

2.3.1  计算机中的变量 22

2.3.2  赋值运算 26

2.4  整型 30

2.4.1  理解整数与进制 30

2.4.2  整数的数据类型 33

2.4.3  自增和自减运算 37

2.5  字符型 40

2.5.1  字符集 40

2.5.2  使用字符型 41

2.6  实数型 43

2.6.1  浮点数记数法 43

2.6.2  实数型分类 45

2.6.3  实数的字面表示 45

2.6.4  实数型的精度和范围 45

2.7  算术类型转换 46

2.7.1  整数的数据类型转换 46

2.7.2  算术运算的自动类型规则 48

2.7.3  强制数据类型转换 49

2.8  计算表达式的方法 50

2.8.1  确定表达式的运算顺序 51

2.8.2  标注数据类型 51

2.8.3  计算表达式的值 52

2.9  字符流和输出格式 53

2.9.1  字符流的工作原理 53

2.9.2  控制输出单元的格式 54

2.10  表达式的调试与维护 55

2.10.1  调试编译错误 56

2.10.2  整型的溢出 57

2.10.3  整数的重要性 58

2.11  本章小结 58

2.12  习题 59

第3章  构造分支 61

3.1  结构化程序设计 61

3.1.1  3种基本结构 61

3.1.2  流程图 62

3.2  分支结构及条件 62

3.2.1  if语句 64

3.2.2  关系运算 65

3.2.3  逻辑运算 68

3.3  构造分支的典型模式 73

3.3.1  单分支(if…) 73

3.3.2  复合语句和空语句 74

3.3.3  双分支(if…else…) 77

3.3.4  if语句嵌套 78

3.3.5  多分支(if…else if…else) 81

3.4  使用switch语句 82

3.5  条件运算 86

3.5.1  条件运算的语法语义 86

3.5.2  条件运算表达式举例 86

3.6  I/O流及其运算 89

3.6.1  输出数据 90

3.6.2  输入数据 92

3.7  分支的调试与维护 96

3.7.1  代码格式的重要性 96

3.7.2  调试分支的逻辑错误 97

3.8  本章小结 98

3.9  习题 99

第4章  构造循环 101

4.1  从顺序到循环 101

4.1.1  数列求和问题 102

4.1.2  数学归纳法中的递推 103

4.2  使用递推构造循环 105

4.2.1  累加和 105

4.2.2  调和级数 107

4.2.3  while语句 108

4.2.4  逗号运算 109

4.3  循环变量模式 110

4.3.1  循环变量模式的流程框架 110

4.3.2  循环变量模式的代码框架 111

4.3.3  数列求积问题 112

4.4  嵌套循环编程模式 113

4.5  循环语句 116

4.5.1  do…while语句 116

4.5.2  for语句 118

4.5.3  转向语句 120

4.6  应用举例 122

4.6.1  计算阶乘的累加和 122

4.6.2  程序的运行效率 125

4.6.3  计算ln2 125

4.6.4  判断素数 129

4.6.5  输出图形 133

4.7  循环的调试与维护 136

4.7.1  调试循环的基本方法 136

4.7.2  维护循环代码 138

4.8  本章小结 138

4.9  习题 139

第5章  函数 141

5.1  数学函数与黑盒思维 141

5.2  计算机函数 144

5.2.1  定义函数 145

5.2.2  函数的调用 146

5.2.3  函数调用的内部机制 148

5.2.4  函数的原型 151

5.3  变量管理 153

5.3.1  局部变量、全局变量 154

5.3.2  复合语句的语义 157

5.3.3  访问变量的规则 158

5.4  复合函数与分层的思想 159

5.4.1  复合函数 160

5.4.2  数学公式中的复合函数 161

5.4.3  分层思想 162

5.5  函数的嵌套调用 164

5.6  递归函数 165

5.6.1  数学归纳法中的递归 166

5.6.2  递归函数举例 166

5.6.3  递归调用过程的内部实现 167

5.6.4  编写递归函数的方法 168

5.7  重载函数与默认参数值 171

5.7.1  重载函数 171

5.7.2  匹配重载函数的步骤 172

5.7.3  默认参数值 174

5.8  函数模板 175

5.9  应用举例 177

5.9.1  求最大公约数 178

5.9.2  汉诺塔问题 179

5.10  函数的调试与维护 180

5.10.1  白盒测试和黑盒测试 181

5.10.2  测试用例和白盒测试技术 181

5.11  本章小结 183

5.12  习题 183

第二部分  应  用  篇

第6章  组织程序 187

6.1  目前所处的学习阶段 187

6.2  模块化程序设计思想 189

6.3  模块与多文件结构 190

6.3.1  划分模块的原则 191

6.3.2  源文件与头文件 192

6.4  使用多文件结构 193

6.4.1  IDE功能介绍 193

6.4.2  使用多文件结构步骤 193

6.5  预编译与模块接口 195

6.5.1  预编译 195

6.5.2  模块接口 197

6.6  调试与维护 200

6.6.1  测试驱动开发 201

6.6.2  调试函数与黑盒测试 201

6.7  本章小结 201

6.8  习题 202

第7章  数组 203

7.1  数据的重要性 203

7.2  一维数组 203

7.2.1  数组定义 204

7.2.2  数组初始化 206

7.2.3  访问数组元素 208

7.3  二维数组 211

7.4  二维数组初始化 215

7.5  数组应用 217

7.5.1  矩阵乘法 217

7.5.2  冒泡排序法 220

7.5.3  Josephus问题 223

7.6  本章小结 229

7.7  习题 230

第8章  指针和引用 231

8.1  指针及运算 231

8.1.1  指针的概念 231

8.1.2  定义指针变量 232

8.1.3  指针的基本运算 233

8.1.4  指针的加减运算 236

8.2  动态管理堆内存 238

8.2.1  malloc( )和free( )  238

8.2.2  new与delete 240

8.3  函数调用中传递数组 241

8.3.1  传递一维数组 241

8.3.2  传递二维数组 243

8.3.3  返回指针 244

8.4  字符数组 246

8.4.1  定义字符数组 246

8.4.2  字符串常量 248

8.4.3  字符串的基本运算 249

8.4.4  使用字符串运算 252

8.4.5  使用字符数组的安全性 254

8.4.6  字符串数组 256

8.5  函数指针与数据排序 257

8.6  引用 260

8.6.1  传值调用的局限 260

8.6.2  传地址调用 261

8.6.3  引用的概念 262

8.6.4  传引用调用 263

8.7  应用举例 264

8.7.1  消除指针提高安全性 264

8.7.2  使用函数模板重用代码 266

8.7.3  字符串排序 270

8.8  程序安全性问题 272

8.8.1  限制变量访问 272

8.8.2  提高函数调用的安全性 273

8.9  本章小结 274

8.10  习题 274

第9章  结构 277

9.1  声明结构 277

9.2  定义和访问结构变量 279

9.3  使用结构 281

9.3.1  使用点运算访问成员变量 281

9.3.2  使用指针访问变量 283

9.4  应用举例 284

9.4.1  使用动态数组管理员工信息 284

9.4.2  使用指针数组管理员工信息 286

9.4.3  多维表 288

9.4.4  Josephus问题 290

9.5  本章小结 297

9.6  习题 298

第10章  底层编程 299

10.1  进制和计算方法 299

10.1.1  十进制及计算方法 299

10.1.2  自然数的二进制及计算方法 303

10.1.3  整数的补码 304

10.1.4  十六进制 306

10.2  位运算 307

10.2.1  移位运算 307

10.2.2  按位逻辑运算 309

10.2.3  编程实现加减法运算 310

10.2.4  编程实现整数乘法 312

10.2.5  R进制计算机 315

10.2.6  IP地址 320

10.3  联合 323

10.3.1  声明联合和定义变量 323

10.3.2  字节的顺序 324

10.3.3  图像的像素点 326

10.3.4  IP地址 327

10.4  本章小结 329

10.5  习题 329

附录A  ASCII表 331

附录B  运算表 332

参考文献 336


本目录推荐