当前位置:首页 > 工业技术
程序设计基础  C语言  第3版
程序设计基础  C语言  第3版

程序设计基础 C语言 第3版PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:高克宁,李金双,赵长宽,柳秀梅,徐彬编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302488439
  • 页数:489 页
图书介绍:教材围绕程序设计思想、语言、技术和工程管理四个方面组织内容,共分为15个章节。从程序设计思想入手,以C语言为依托,涵盖C99和C11标准。前11章系统全面地介绍编程语言的基础知识,每章设置的两个案例采用逐级深入的方式,循序渐进引导学生完成实际问题的程序开发过程。第12章至第15章介绍程序设计思想、面向对象程序设计、并行程序设计等内容,为学生开展后续程序设计的学习提供了知识储备与技术基础。
《程序设计基础 C语言 第3版》目录

第1章 计算机及程序设计概述 1

1.1 概述 1

1.2 计算与机器 2

1.2.1 计算器 2

1.2.2 机械式计算机 2

1.2.3 图灵机模型 3

1.2.4 电子数字计算机 4

1.3 指令与程序 5

1.4 计算机的典型应用 6

1.5 程序设计语言 7

1.5.1 机器语言 8

1.5.2 汇编语言 8

1.5.3 高级语言 9

1.6 问题求解与算法 11

1.6.1 算法定义 12

1.6.2 算法复杂性 12

1.7 算法描述 13

1.7.1 伪代码 13

1.7.2 流程图 14

1.7.3 N-S图 15

1.8 程序设计 15

1.8.1 基本步骤 15

1.8.2 结构化程序设计 16

1.8.3 面向对象程序设计 17

1.8.4 并行程序设计 17

1.8.5 程序设计思想前沿 18

1.9 C语言简介 18

1.9.1 C语言的特点 18

1.9.2 简单的C程序设计 19

1.9.3 C语言程序结构 21

1.9.4 C程序设计过程 23

1.10 案例 24

练习题 25

第2章 信息编码与数据类型 27

2.1 概述 27

2.2 二进制与信息编码 27

2.2.1 整数编码 27

2.2.2 实数编码 28

2.2.3 字符编码 29

2.3 标识符和关键字 30

2.3.1 标识符构成 30

2.3.2 关键字 30

2.3.3 自定义标识符 31

2.4 基本数据类型 31

2.4.1 整数类型 33

2.4.2 实数类型 34

2.4.3 字符类型 34

2.4.4 逻辑类型 36

2.4.5 复数类型 36

2.5 常量 37

2.5.1 整型常量 37

2.5.2 实型常量 38

2.5.3 字符常量 38

2.5.4 字符串常量 39

2.5.5 逻辑常量 40

2.5.6 复数常量 40

2.5.7 符号常量 41

2.6 变量 41

2.6.1 变量声明 42

2.6.2 变量初始化 43

2.6.3 变量赋值 44

2.6.4 变量读写 45

2.7 案例 45

练习题 46

第3章 基本运算与顺序结构 48

3.1 概述 48

3.2 运算符与表达式 48

3.3 赋值运算 50

3.4 算术运算 51

3.4.1 基本算术运算 51

3.4.2 自增或自减运算 52

3.4.3 整数运算 53

3.4.4 实数运算 55

3.4.5 复合赋值运算 56

3.5 字符运算 56

3.5.1 算术运算 56

3.5.2 字符分类 57

3.5.3 字符转换 58

3.6 位运算 58

3.6.1 位逻辑运算 58

3.6.2 位移运算 60

3.6.3 复合位运算及补位原则 61

3.7 逗号运算 61

3.8 强制类型转换 62

3.8.1 算术运算中的隐式转换 62

3.8.2 赋值运算中的隐式转换 62

3.8.3 显式转换 63

3.9 sizeof运算 64

3.10 标准设备输入输出库 64

3.10.1 字符输入输出函数 65

3.10.2 格式化输出函数 66

3.10.3 格式化输入函数 72

3.11 数学库 76

3.11.1 实数计算函数 76

3.11.2 复数运算函数 77

3.12 基本语句 78

3.12.1 标签语句 78

3.12.2 空语句 78

3.12.3 声明语句 79

3.12.4 表达式语句 79

3.12.5 复合语句 79

3.13 顺序结构 80

3.14 案例 82

练习题 83

第4章 逻辑判断与选择结构 85

4.1 概述 85

4.2 关系运算 85

4.3 逻辑运算 86

4.4 条件运算 88

4.5 if语句 89

4.5.1 单分支选择结构 89

4.5.2 双分支选择结构 91

4.5.3 多分支选择结构 93

4.6 switch语句 96

4.7 选择结构嵌套 101

4.8 案例 106

练习题 108

第5章 迭代计算与循环结构 109

5.1 概述 109

5.2 while语句 110

5.3 do…while语句 112

5.4 for语句 115

5.5 循环语句对比 118

5.6 循环嵌套 119

5.7 跳转控制语句 124

5.7.1 break语句 124

5.7.2 continue语句 126

5.7.3 goto语句 126

5.7.4 continue、break、goto语句的区别 128

5.8 案例 129

练习题 131

第6章 集合数据与数组 133

6.1 概述 133

6.2 一维数组 134

6.2.1 一维数组定义 134

6.2.2 一维数组初始化 135

6.2.3 一维数组引用 136

6.2.4 一维数组应用 137

6.3 二维数组 140

6.3.1 二维数组定义 141

6.3.2 二维数组初始化 142

6.3.3 二维数组引用 143

6.3.4 二维数组应用 143

6.4 高维数组 147

6.5 字符数组与字符串 149

6.5.1 字符数组 149

6.5.2 字符串 151

6.6 字符串处理函数 155

6.6.1 字符串标准输入输出函数 155

6.6.2 字符串输入输出函数 157

6.6.3 字符串复制函数 158

6.6.4 字符串连接函数 159

6.6.5 字符串比较函数 159

6.6.6 字符串检索函数 160

6.6.7 字符串转换函数 162

6.6.8 其他字符串常用函数 162

6.6.9 宽字节型字符串函数 163

6.7 数组新特性 164

6.8 案例 165

练习题 166

第7章 模块化与函数 168

7.1 概述 168

7.2 函数定义 170

7.2.1 函数定义形式 170

7.2.2 函数返回值与函数类型 173

7.3 函数声明、头文件的使用和库函数声明 176

7.3.1 函数声明 176

7.3.2 头文件的使用 177

7.3.3 库函数声明 178

7.4 参数传递 180

7.4.1 形式参数 180

7.4.2 实际参数 182

7.4.3 值复制传递机制 183

7.4.4 地址复制传递机制 185

7.4.5 数组参数新特性 189

7.5 函数调用 190

7.5.1 函数调用形式 190

7.5.2 嵌套调用 191

7.5.3 递归调用 192

7.6 源程序文件与函数分类 194

7.6.1 外部函数 194

7.6.2 内部函数 195

7.6.3 内联函数 196

7.7 变量存储类型 197

7.7.1 普通变量 197

7.7.2 寄存器变量 197

7.8 变量作用域 198

7.8.1 局部变量 199

7.8.2 全局变量 200

7.8.3 静态变量 203

7.8.4 变量访问控制 204

7.9 源程序结构 205

7.9.1 单文件单函数结构 205

7.9.2 单文件多函数结构 206

7.9.3 多文件多函数结构 206

7.10 案例 208

练习题 210

第8章 地址操作与指针 212

8.1 概述 212

8.2 指针和指针变量 213

8.2.1 指针变量声明 213

8.2.2 指针变量的赋值及初始化 214

8.2.3 指针变量的引用 214

8.3 指针运算 215

8.3.1 取地址与取值运算 216

8.3.2 算术运算 216

8.3.3 关系运算 218

8.3.4 指针类型转换 218

8.4 数组和指针 220

8.4.1 用指针访问数组元素 220

8.4.2 指向多维数组的指针 221

8.5 字符串和指针 224

8.5.1 指针处理字符串 224

8.5.2 使用字符指针变量与字符数组的区别 225

8.6 函数和指针 227

8.6.1 指针作为函数参数 227

8.6.2 指针作为函数的返回值 232

8.6.3 指向函数的指针 233

8.7 指针数组 236

8.7.1 指针数组定义 236

8.7.2 带参数的main函数 239

8.8 数组指针 241

8.9 指向指针的指针 242

8.10 内存访问控制 244

8.11 案例 245

练习题 249

第9章 复杂数据类型与结树体 251

9.1 概述 251

9.2 结构体类型 252

9.2.1 结构体类型定义 253

9.2.2 结构体类型变量声明与初始化 254

9.2.3 结构体变量的引用 257

9.2.4 结构体数组 259

9.2.5 结构体与函数 262

9.2.6 结构体类型指针 264

9.3 共用体 267

9.4 枚举类型 269

9.5 类型重定义 271

9.6 日期和时间 273

9.7 链表 274

9.7.1 链表定义 274

9.7.2 动态内存管理函数 275

9.7.3 链表的基本操作 279

9.8 结构体新特性 283

9.9 案例 285

练习题 290

第10章 泛化编程与预编译 292

10.1 概述 292

10.2 #define指令 292

10.2.1 不带参数的宏定义 292

10.2.2 带参数的宏定义 294

10.3 #include指令 297

10.4 条件编译 299

10.4.1 #ifdef…#else…#endif 299

10.4.2 #ifndef…#else…#endif 299

10.4.3 #if…#else…#endif 300

10.5 其他指令 302

10.6 预定义宏 305

10.7 异常处理 305

10.8 程序移植 307

10.9 案例 308

练习题 310

第11章 数据存储与文件 312

11.1 概述 312

11.2 文本文件与二进制文件 313

11.2.1 文本文件 313

11.2.2 二进制文件 313

11.3 文件类型 314

11.4 文件打开与关闭 315

11.4.1 文件打开 315

11.4.2 文件关闭 318

11.5 文件读写 319

11.5.1 单字符读写 319

11.5.2 字符串读写 322

11.5.3 格式化读写 323

11.5.4 数据块读写 325

11.6 文件定位函数 328

11.7 文件状态跟踪 330

11.8 其他文件操作函数 332

11.9 案例 334

练习题 338

第12章 程序设计思想及范例 340

12.1 概述 340

12.2 求和/求积问题 340

12.2.1 多项式求和 341

12.2.2 数列求和 342

12.3 遍历问题 344

12.4 迭代问题 350

12.4.1 二分迭代法 350

12.4.2 牛顿迭代法 352

12.5 排序问题 354

12.5.1 直接插入排序 355

12.5.2 起泡排序 357

12.5.3 选择排序 359

12.6 查找问题 361

12.6.1 顺序查找 361

12.6.2 折半查找 362

12.7 递归问题 364

12.8 矩阵运算 367

12.8.1 矩阵加/减运算 367

12.8.2 矩阵乘法 368

12.8.3 矩阵转置 370

练习题 371

第13章 面向对象与C++基础 373

13.1 概述 373

13.1.1 结构化程序设计 373

13.1.2 模块封装与访问控制 374

13.2 面向对象程序设计 376

13.3 类与对象 376

13.3.1 类 376

13.3.2 对象 378

13.3.3 类在C++中的实现 378

13.3.4 成员变量 384

13.3.5 成员函数 386

13.3.6 构造函数和析构函数 390

13.3.7 函数重载 392

13.3.8 运算符重载 394

13.3.9 静态成员变量 396

13.3.10 静态成员函数 398

13.4 继承与多态 400

13.4.1 类继承 400

13.4.2 多态性与虚函数 403

13.5 案例 407

练习题 408

第14章 高性能计算与并行程序设计 409

14.1 概述 409

14.2 并行算法 409

14.2.1 并行问题 409

14.2.2 并行算法设计 410

14.3 并行程序设计实现 411

14.3.1 并行程序设计模型 411

14.3.2 进程 412

14.3.3 创建进程 412

14.3.4 消息传递 413

14.4 MPI程序设计基础 416

14.4.1 MPI简介 416

14.4.2 简单MPI程序设计 417

14.4.3 MPI初始化与关闭 417

14.4.4 MPI函数库 419

14.4.5 MPI消息传递 420

14.5 多核CPU与多线程 428

14.5.1 多核CPU 428

14.5.2 线程 430

14.6 OpenMP与多核程序设计 431

14.6.1 OpenMP简介 431

14.6.2 OpenMP并行程序结构 431

14.6.3 parallel节 433

14.6.4 for节 434

14.6.5 其他节 435

14.6.6 共享变量与信息传递 436

14.7 多线程技术 437

14.7.1 线程函数库简介 437

14.7.2 Win32线程函数库 437

14.7.3 C11标准线程函数库 444

练习题 451

第15章 个体软件过程管理 453

15.1 概述 453

15.2 编码规范定义 454

15.3 MPI编码规范 454

15.3.1 标识符命名规范 455

15.3.2 函数或过程规范 455

15.4 ANSI C程序编码规范 456

15.4.1 代码结构与组织 456

15.4.2 注释 458

15.4.3 标识符命名规范 460

15.4.4 代码风格与排版 461

15.5 代码重用技术 462

15.5.1 源程序文件 463

15.5.2 静态库 463

15.5.3 动态链接库 465

15.5.4 组件技术 467

15.6 软件生命周期模型简介 468

15.7 CMM简介 470

15.8 PSP简介 470

15.9 PSP0级 471

15.9.1 计划过程管理 472

15.9.2 开发过程管理 472

15.9.3 总结过程管理 473

15.9.4 PSP0过程管理文档 474

15.9.5 PSP0.1级 475

15.10 软件开发计划 477

15.10.1 软件开发计划基本内容 477

15.10.2 制定个体软件开发计划 478

15.10.3 PSP软件开发计划过程管理 479

15.11 PSP1级 479

15.11.1 规模计算 480

15.11.2 任务计划 480

15.11.3 进度计划 481

15.12 PSP2级 481

15.12.1 代码评审 482

15.12.2 设计评审 483

15.12.3 缺陷预防 483

15.12.4 PSP2级的改进 483

练习题 483

附录A ASCII码表 485

附录B 运算符和结合方向 486

参考文献 488

相关图书
作者其它书籍
返回顶部