图书目录

目录

                                                   第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机器语言7

1.5.2汇编语言8

1.5.3高级语言8

1.6问题求解与算法11

1.6.1算法定义12

1.6.2算法复杂性12

1.7算法描述13

1.7.1伪代码13

1.7.2流程图14

1.7.3NS图14

1.8程序设计15

1.8.1基本步骤15

1.8.2结构化程序设计16

1.8.3面向对象程序设计17

1.8.4并行程序设计17

1.8.5程序设计思想前沿18

1.9C语言简介18

1.9.1C语言的特点18

1.9.2简单的C程序

设计19

1.9.3C语言程序结构20

1.9.4C程序设计过程22

1.10综合应用23

1.11案例计算机与人脑24

练习题26第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自定义标识符30

2.4基本数据类型31

2.4.1整数类型33

2.4.2实数类型34

2.4.3字符类型34

2.4.4逻辑类型35

2.4.5复数类型36

2.5常量36

2.5.1整型常量36

2.5.2实型常量37

2.5.3字符常量37

2.5.4字符串常量39

2.5.5逻辑常量39

2.5.6复数常量39

2.5.7符号常量40

2.6变量40

2.6.1变量声明41

2.6.2变量初始化42

2.6.3变量赋值43

2.6.4变量读写43

2.7综合应用44

2.8案例独立自主的汉字

编码44

练习题45〖1〗〖3〗程序设计基础(C语言)(第4版)目录〖3〗〖3〗第3章基本运算与顺序结构47

3.1概述47

3.2运算符与表达式47

3.3赋值运算49

3.4算术运算50

3.4.1基本算术运算50

3.4.2自增或自减运算51

3.4.3整数运算52

3.4.4实数运算53

3.4.5复合赋值运算54

3.5字符运算55

3.5.1算术运算55

3.5.2字符分类55

3.5.3字符转换56

3.6位运算57

3.6.1位逻辑运算57

3.6.2位移运算58

3.6.3复合位运算及补

位原则59

3.7逗号运算59

3.8强制类型转换60

3.8.1算术运算中的隐式

转换60

3.8.2赋值运算中的隐式

转换60

3.8.3显式转换61

3.9sizeof运算62

3.10标准设备输入输出

函数库62

3.10.1字符输入输出

函数62

3.10.2格式化输出函数63

3.10.3格式化输入函数69

3.11数学库72

3.11.1实数计算函数72

3.11.2复数运算函数73

3.12EGE绘图库74

3.13基本语句77

3.14顺序结构78

3.15综合应用80

3.16案例汉字输入与激光

照排技术80

练习题81第4章逻辑判断与选择结构83

4.1概述83

4.2关系运算83

4.3逻辑运算84

4.4条件运算86

4.5if语句86

4.5.1单分支选择结构87

4.5.2双分支选择结构88

4.5.3多分支选择结构90

4.6switch语句93

4.7选择结构嵌套96

4.8综合应用100

4.9案例从因果关系到关联

关系100

练习题102第5章迭代计算与循环结构103

5.1概述103

5.2while语句104

5.3do…while语句106

5.4for语句108

5.5循环语句对比111

5.6循环嵌套112

5.7跳转控制语句115

5.7.1break语句115

5.7.2continue语句116

5.7.3goto语句117

5.7.4continue、break、goto

语句的区别118

5.8综合应用120

5.9案例圆周率的计算与迭代

算法120

练习题121第6章集合数据与数组123

6.1概述123

6.2一维数组124

6.2.1一维数组定义124

6.2.2一维数组初始化125

6.2.3一维数组引用126

6.2.4一维数组应用127

6.3二维数组129

6.3.1二维数组定义129

6.3.2二维数组初始化130

6.3.3二维数组引用131

6.3.4二维数组应用131

6.4高维数组134

6.5字符数组与字符串136

6.5.1字符数组136

6.5.2字符串137

6.6字符串处理函数140

6.6.1字符串标准输入

输出函数141

6.6.2其他字符串输入

输出函数142

6.6.3字符串复制函数143

6.6.4字符串连接函数143

6.6.5字符串比较函数144

6.6.6字符串检索函数145

6.6.7字符串转换函数146

6.6.8其他字符串常用

函数147

6.6.9宽字节类型字符串

函数148

6.7数组新特性148

6.8综合应用149

6.9案例由表及里、去伪

存真150

练习题151第7章模块化与函数153

7.1概述153

7.2函数定义155

7.2.1函数定义形式155

7.2.2函数返回值与函数

类型157

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

和库函数声明160

7.3.1函数声明160

7.3.2头文件的使用161

7.3.3库函数声明162

7.4参数传递163

7.4.1形式参数164

7.4.2实际参数165

7.4.3值复制传递机制167

7.4.4地址复制传递

机制168

7.4.5数组参数新特性172

7.5函数调用172

7.5.1函数调用形式173

7.5.2嵌套调用173

7.5.3递归调用175

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

7.6.1外部函数177

7.6.2内部函数177

7.6.3内联函数178

7.7变量存储类型179

7.7.1普通变量179

7.7.2寄存器变量179

7.8变量作用域180

7.8.1局部变量180

7.8.2全局变量182

7.8.3静态变量184

7.8.4变量访问控制185

7.9源程序结构186

7.9.1单文件单函数

结构186

7.9.2单文件多函数

结构187

7.9.3多文件多函数

结构187

7.10综合应用188

7.11案例函数库与科学计算

工具箱190

练习题191第8章地址操作与指针193

8.1概述193

8.2指针和指针变量194

8.2.1指针变量声明194

8.2.2指针变量的赋值及

初始化194

8.2.3指针变量的引用195

8.3指针运算196

8.3.1取地址与取值

运算196

8.3.2算术运算197

8.3.3关系运算198

8.3.4指针类型转换198

8.4数组和指针200

8.4.1用指针访问数组

元素200

8.4.2指向多维数组的

指针201

8.5字符串和指针203

8.5.1指针处理字符串203

8.5.2使用字符指针变量与

字符数组的区别204

8.6函数和指针205

8.6.1指针作为函数

参数206

8.6.2指针作为函数的

返回值210

8.6.3指向函数的指针212

8.7指针数组213

8.7.1指针数组定义214

8.7.2带参数的main

函数216

8.8数组指针217

8.9指向指针的指针218

8.10内存访问控制220

8.11综合应用221

8.12案例指针的“显”

与“隐”222

练习题224第9章复杂数据类型与结构体226

9.1概述226

9.2结构体类型227

9.2.1结构体类型定义227

9.2.2结构体类型变量声

明与初始化229

9.2.3结构体变量的

引用231

9.2.4结构体数组233

9.2.5结构体与函数235

9.2.6结构体类型指针236

9.3共用体238

9.4枚举类型240

9.5类型重定义242

9.6日期和时间243

9.7链表244

9.7.1链表定义244

9.7.2动态内存管理

函数245

9.7.3链表的基本操作247

9.8结构体新特性251

9.9综合应用253

9.10案例复杂数据存储254

练习题256第10章泛化编程与预编译258

10.1概述258

10.2#define指令258

10.2.1不带参数的宏

定义258

10.2.2带参数的宏

定义260

10.3#include指令263

10.4条件编译264

10.4.1#ifdef…#else

 …#endif264

10.4.2#ifndef…#else

 …#endif265

10.4.3#if…#else 

…#endif265

10.5#error与#运算指令266

10.6预定义宏267

10.7异常处理268

10.8程序移植269

10.9综合应用270

10.10案例泛化与开源271

练习题272第11章数据存储与文件274

11.1概述274

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

11.2.1文本文件275

11.2.2二进制文件275

11.3文件类型276

11.4文件打开与关闭276

11.4.1文件打开277

11.4.2文件关闭279

11.5文件读写280

11.5.1单字符读写280

11.5.2字符串读写282

11.5.3格式化读写283

11.5.4数据块读写284

11.6文件定位函数287

11.7文件状态跟踪288

11.8其他文件操作函数290

11.9综合应用291

11.10案例结构化数据与非

结构化数据293

练习题295第12章程序设计思想及范例 297

12.1概述297

12.2求和/求积问题297

12.2.1多项式求和298

12.2.2数列求和299

12.3遍历问题300

12.4迭代问题302

12.4.1二分迭代法303

12.4.2牛顿迭代法304

12.5排序问题305

12.5.1直接插入排序305

12.5.2起泡排序306

12.5.3选择排序307

12.6查找问题308

12.6.1顺序查找308

12.6.2折半查找309

12.7递归问题310

12.8矩阵运算311

12.8.1矩阵加/减

运算311

12.8.2矩阵乘法312

12.8.3矩阵转置313

练习题313第13章面向对象与C++基础315

13.1概述315

13.1.1结构化程序

设计315

13.1.2模块封装与

访问控制316

13.2面向对象程序设计317

13.3类与对象318

13.3.1类318

13.3.2对象319

13.3.3类在C++中的

实现320

13.3.4成员变量324

13.3.5成员函数326

13.3.6构造函数和析构

函数329

13.3.7函数重载330

13.3.8运算符重载332

13.3.9静态成员变量334

13.3.10静态成员函数335

13.4继承与多态337

13.4.1类继承337

13.4.2多态性与虚

函数339

13.5综合应用342

13.6案例程序设计思想的

发展与融合342

练习题344第14章高性能计算与并行程序

设计345

14.1概述345

14.2并行算法345

14.2.1并行问题345

14.2.2并行算法设计346

14.3并行程序设计347

14.3.1并行程序设计

模型347

14.3.2进程347

14.3.3创建进程348

14.3.4消息传递348

14.4MPI程序设计基础352

14.4.1MPI简介352

14.4.2简单MPI程序

设计352

14.4.3MPI初始化与

关闭353

14.4.4MPI函数库354

14.4.5MPI消息传递355

14.5多核CPU与多线程360

14.5.1多核CPU360

14.5.2线程361

14.6OpenMP与多核程序

设计362

14.6.1OpenMP简介362

14.6.2OpenMP并行

程序结构363

14.6.3parallel节364

14.6.4for节365

14.6.5其他节366

14.6.6共享变量与信息

传递366

14.7多线程技术367

14.7.1线程函数库

简介367

14.7.2Win32线程

函数库368

14.7.3C11标准线程

函数库372

14.8案例高性能计算与

“天河二号”376

练习题378第15章个体软件过程管理379

15.1概述379

15.2编码规范定义379

15.3MPI编码规范380

15.3.1标识符命名

规范380

15.3.2函数或过程

规范381

15.4ANSI C程序编码规范381

15.4.1代码结构与

组织381

15.4.2注释383

15.4.3标识符命名

规范385

15.4.4代码风格与

排版386

15.5代码重用技术387

15.5.1源程序文件387

15.5.2静态库387

15.5.3动态链接库389

15.5.4组件技术391

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

15.7CMM简介394

15.8PSP简介395

15.9PSP 0级395

15.9.1计划过程管理396

15.9.2开发过程管理396

15.9.3总结过程管理397

15.9.4PSP 0过程管理

文档397

15.9.5PSP 0.1级398

15.10软件开发计划400

15.10.1软件开发计划

基本内容401

15.10.2制订个体软件

开发计划401

15.10.3PSP软件开发计

划过程管理401

15.11PSP 1级403

15.11.1规模计算403

15.11.2任务计划404

15.11.3进度计划404

15.12PSP 2级404

15.12.1代码评审405

15.12.2设计评审406

15.12.3缺陷预防406

15.12.4PSP 2级的

改进406

15.13案例软件开发与成熟

度模型: CMM认证406

练习题408附录AASCII表409

附录B运算符和结合方向410参考文献412