《程序设计基础 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张长海,陈娟著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2013
  • ISBN:9787040383270
  • 页数:414 页
图书介绍:本书以C语言为载体,引进PAD表示程序逻辑,阐述基本的程序设计方法。全书共分14章,主要内容涉及算法、程序设计方法、函数、数据组织、指针、程序开发和模块化程序设计、结构化程序设计以及C语言独有的特性。每章都包含大量例题和习题,以利于读者提高程序设计能力和掌握相关语言概念。本书最大的特点是以“程序设计”为主线,把重点放在讲述程序设计方法上,屏弃目前各种程序设计教材中流行的以“解释程序设计语言”为主的做法。全书以构造算法为基础,全部为“讲述程序设计”,而不是“解释语言概念”。其目的是教会读者怎样编写程序,提高读者的程序设计能力,彻底改变“学了程序设计而不会编写程序”的现状。本书整体结构良好,图文并茂,力求体现“结构化程序设计”思想,注重培养读者良好的程序设计风格。本书可作为高等院校计算机及相关专业“高级语言程序设计”、“程序设计基础”、“C语言程序设计”等课程的教材和参考书,也可供从事计算机工作的技术人员参考。

第1章 绪论 1

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

1.2 算法——程序设计精髓 2

1.3 表示算法——PAD图 4

1.4 程序 4

1.5 执行程序 6

1.6 C语言 7

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

1.7.1 启动Visual C++ 9

1.7.2 在独立文件模式下建立环境 10

1.7.3 在独立文件模式下录入、编辑源程序 11

1.7.4 编译 12

1.7.5 连接 13

1.7.6 运行 13

1.7.7 调试 13

1.7.8 关闭运行环境 15

1.7.9 设定程序参数 17

1.7.10 在项目管理模式下建立运行环境 19

1.7.11 在项目管理模式下录入、编辑源程序 21

本章小结 23

习题一 23

第2章 顺序程序设计 24

2.1 求绿化带宽度——简单程序 24

2.2 基本符号 25

2.2.1 字符集 25

2.2.2 特定符 26

2.2.3 标识符 26

2.2.4 间隔符 27

2.2.5 注释 28

2.3 数据 29

2.3.1 字面常量 29

2.3.2 常量标识符 31

2.3.3 变量 32

2.4 语句 33

2.5 表达式 34

2.5.1 表达式语句 36

2.5.2 赋值 37

2.6 顺序控制结构 37

2.7 数据类型 38

2.7.1 浮点类型 38

2.7.2 整数类型 39

2.7.3 字符类型 40

2.7.4 混合运算 40

2.7.5 类型转换 40

2.8 输入/输出 42

2.8.1 字符输入 43

2.8.2 字符输出 43

2.8.3 格式输入 44

2.8.4 格式输出 45

本章小结 48

习题二 48

第3章 分支程序设计 50

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

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

3.3 逻辑判断——布尔类型 59

3.3.1 关系运算 59

3.3.2 布尔运算 60

3.4 获奖分等级——多分支程序设计 61

3.5 表示汽车种类——枚举类型 66

本章小结 68

习题三 68

第4章 循环程序设计 71

4.1 计算平均成绩——循环程序 71

4.1.1 后判断条件的循环 72

4.1.2 先判断条件的循环 77

4.1.3 for语句 82

4.2 计算全班每人平均成绩——多重循环 85

4.3 程序设计实例 91

本章小结 101

习题四 101

第5章 模块化程序设计——函数 105

5.1 求给定三角形重心——模块化程序设计 105

5.2 函数 109

5.2.1 函数定义 111

5.2.2 函数调用 112

5.2.3 先调用后定义——函数原型 114

5.3 程序设计实例 116

本章小结 122

习题五 122

第6章 批量数据组织——数组 125

6.1 成绩统计——数组类型 125

6.1.1 数组声明 127

6.1.2 下标表达式 127

6.1.3 数组操作 128

6.2 统计多科成绩——多维数组 129

6.3 程序设计实例 131

6.4 线性表——分类与检索 137

6.4.1 分类 137

6.4.2 检索 143

6.5 带学号的成绩排序——数组初值 145

6.6 表示姓名——字符串 148

6.7 类型定义 156

6.8 线性表——栈和队列 157

6.8.1 队列 158

6.8.2 栈 161

6.9 程序设计实例(二) 162

本章小结 174

习题六 174

第7章 指针 178

7.1 指针与变量 178

7.1.1 指针类型和指针变量 179

7.1.2 指针所指变量 180

7.1.3 空指针、无效指针 182

7.2 指针操作 184

7.3 指向指针的指针 184

7.4 指针与数组 185

7.4.1 用指针标识数组 186

7.4.2 指针运算 187

7.4.3 应注意的问题 189

7.4.4 多维数组与指针 192

7.4.5 指针数组 194

7.5 指针与字符串 197

本章小结 203

习题七 204

第8章 表单数据组织——结构体 206

8.1 成绩单管理 206

8.2 保存成绩单——结构体 208

8.2.1 结构体类型 208

8.2.2 结构体类型名 211

8.2.3 结构体变量 213

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

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

8.2.6 对结构体变量的操作 215

8.3 程序设计实例 216

本章小结 221

习题八 221

第9章 再论函数 223

9.1 参数 223

9.1.1 C参数传递规则 223

9.1.2 传递直线方程系数——指针作参数 225

9.1.3 对任意数组排序——数组作参数 228

9.1.4 输出日期——结构体作参数 231

9.2 函数值 232

9.2.1 打印月份名——返回指针值的函数 232

9.2.2 读入一张身份证信息——返回结构体值的函数 234

9.3 作用域 235

9.3.1 作用域 235

9.3.2 局部量和全局量 236

本章小结 239

习题九 239

第10章 递归程序设计 242

10.1 计算n!——递归程序设计 242

10.2 程序设计实例 244

10.3 计算算术表达式的值——间接递归 252

10.4 递归程序执行过程 257

本章小结 270

习题十 270

第11章 外部数据组织——文件 273

11.1 重新考虑户籍管理问题——文件 273

11.2 文件概述 274

11.3 打开、关闭文件 277

11.4 I/O操作 279

11.4.1 字符读写 279

11.4.2 字符串读写 281

11.4.3 格式化读写 282

11.4.4 数据块读写 282

11.4.5 文件定位 285

11.5 与操作系统文件联系——程序参数 288

11.6 程序设计实例 292

本章小结 295

习题十一 295

第12章 程序开发 297

12.1 求玉米单产——自顶向下、逐步求精 297

12.2 结构化程序设计原则 301

12.3 程序风格 302

12.3.1 行文格式 302

12.3.2 标识符 303

12.3.3 注释 304

12.3.4 关于程序的“说明和定义” 304

12.4 程序设计实例 304

12.5 八皇后——穷举与试探 312

本章小结 320

习题十二 320

第13章 动态数据组织 323

13.1 保存实数序列——动态数据结构 323

13.2 动态变量 324

13.3 链表 326

13.3.1 单向链表 327

13.3.2 栈 333

13.3.3 队列 334

13.4 程序设计实例 336

13.5 树 344

13.5.1 树 344

13.5.2 树的操作 345

13.6 图 355

本章小结 358

习题十三 358

第14章 若干深入问题 361

14.1 函数 361

14.1.1 不定方向的数组排序——函数指针 361

14.1.2 计算定积分——函数作参数 363

14.1.3 指针形参做指针参数实参 367

14.1.4 实在参数计算顺序 369

14.1.5 函数副作用 371

14.2 运算 373

14.2.1 赋值运算 373

14.2.2 顺序表达式 374

14.2.3 条件表达式 374

14.2.4 位运算 375

14.2.5 左值 377

14.3 语句 378

14.3.1 break 378

14.3.2 continue 379

14.3.3 for的延伸 380

14.3.4 else两义性问题 380

14.3.5 goto和标号 381

14.4 数据组织 382

14.4.1 行指针 382

14.4.2 职工登记卡——共用体 387

14.4.3 位段 390

14.5 存储类别 391

14.5.1 数据在内存中的存储 391

14.5.2 生存期 392

14.5.3 局部变量的存储类别 393

14.5.4 全局变量的存储类别 396

14.5.5 函数的存储类别 398

14.6 编译预处理 399

14.6.1 宏 399

14.6.2 文件包含 402

14.6.3 条件编译 402

本章小结 405

习题十四 406

附录一 ACSII字符集 408

附录二 标准函数库头文件表 411

附录三 常用函数库中所含常用函数 412

参考文献 414