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

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

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:高克宁,李金双,赵长宽等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302325536
  • 页数:426 页
图书介绍:本书针对理工类专业人才软件开发能力培养的需求,借鉴了Computing Curricula 2005,以C语言为主导,介绍了程序设计基本知识、C语言语法结构、程序设计范例、面向对象技术、并行程序设计、个人软件开发等。紧跟软件开发技术的前沿,又兼顾传统的方法和技术,力求通过本书的学习,使广大学生不仅学习了一门程序设计语言,而且对程序设计思想有较深入的了解。
《程序设计基础 C语言 第2版》目录

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

1.1概述 1

1.2计算机基本原理 1

1.3指令与程序 2

1.3.1指令 3

1.3.2程序 3

1.3.3软件 3

1.4计算机应用简介 4

1.5程序设计语言 5

1.5.1机器语言 6

1.5.2汇编语言 6

1.5.3高级语言 6

1.6问题求解与算法设计 8

1.6.1问题求解 8

1.6.2算法定义 9

1.6.3算法设计 10

1.6.4算法的复杂性 10

1.6.5伪代码 10

1.6.6流程图 11

1.6.7 N-S图 12

1.6.8统一建模语言 13

1.7程序设计思想 13

1.7.1程序设计基本步骤 13

1.7.2结构化程序设计 14

1.7.3面向对象程序设计 15

1.7.4并行程序设计 16

1.7.5程序设计思想前沿 17

1.8 C语言概述 17

1.8.1 C语言的特点 17

1.8.2简单的C程序设计 18

1.8.3 C语言程序结构 20

1.8.4 C程序的开发过程 21

1.9案例 22

1.9.1固体密度测量问题 22

1.9.2超市收银系统 24

练习题 25

第2章 基本数据类型、常量及变量 26

2.1概述 26

2.2信息编码与存储 27

2.2.1数值 27

2.2.2字符 29

2.3标识符 30

2.3.1关键字 31

2.3.2自定义标识符 31

2.4数据类型 31

2.4.1整型 32

2.4.2实型 32

2.4.3字符型 33

2.5常量 33

2.5.1整型常量 33

2.5.2实型常量 34

2.5.3字符常量 34

2.5.4字符串常量 36

2.5.5符号常量 36

2.6变量 37

2.6.1变量声明 37

2.6.2变量初始化 39

2.6.3变量赋值 40

2.6.4 const修饰符 41

2.7数据溢出与计算精度 41

2.8其他语言的基本数据类型 43

2.8.1 C+++语言的基本类型 43

2.8.2 Java语言的基本类型 43

2.8.3 C#语言的基本类型 44

2.9数据类型与程序移植 45

2.10案例 46

2.10.1固体密度测量问题 46

2.10.2超市收银系统 47

练习题 48

第3章 运算符与表达式 50

3.1概述 50

3.2算术运算符与算术表达式 51

3.3关系运算符与关系表达式 52

3.4逻辑运算符与逻辑表达式 53

3.5赋值运算符与赋值表达式 54

3.6++/--运算符与自增/自减表达式 56

3.7条件运算符与条件表达式 57

3.8逗号运算符与逗号表达式 58

3.9 sizeof运算符 58

3.10类型转换 59

3.10.1隐式转换 59

3.10.2显式转换 60

3.11位运算符和位运算 61

3.11.1位逻辑运算 61

3.11.2移位运算 63

3.11.3复合位运算及补位原则 64

3.12表达式运算 64

3.13其他语言中的运算符与表达式 64

3.14案例 65

3.14.1固体密度测量问题 65

3.14.2超市收银系统 66

练习题 67

第4章 输入输出 68

4.1概述 68

4.2 printf函数 68

4.2.1 printf函数的调用格式 68

4.2.2 printf函数的格式控制字符串 70

4.3 scanf函数 73

4.3.1 scanf函数的调用格式 73

4.3.2 scanf函数的格式控制字符串 74

4.4字符输入与输出 76

4.5图形输出 77

4.5.1图形处理函数 78

4.5.2图形界面接口 81

4.6案例 82

4.6.1固体密度测量问题 82

4.6.2超市收银系统 83

练习题 84

第5章 程序控制结构 86

5.1概述 86

5.2基本语句 87

5.2.1表达式语句 87

5.2.2函数调用语句 88

5.2.3空语句 88

5.2.4复合语句 88

5.2.5顺序结构应用 89

5.3选择控制语句 90

5.3.1 if语句 90

5.3.2 if else语句 92

5.3.3 if…else if语句 93

5.3.4 switch语句 95

5.3.5分支结构应用 99

5.4循环控制语句 101

5.4.1 while语句 102

5.4.2 for语句 104

5.4.3 do while语句 107

5.4.4循环的本质 108

5.4.5几种循环语句的比较 110

5.4.6循环结构应用 111

5.5其他控制语句 113

5.5.1 goto语句 113

5.5.2 break语句 114

5.5.3 continue语句 115

5.5.4 goto、break、continue语句的区别 115

5.6语句嵌套 117

5.6.1条件分支嵌套结构 117

5.6.2循环嵌套结构 119

5.7案例 120

5.7.1固体密度测量问题 120

5.7.2超市收银系统 122

练习题 124

第6章 数组 126

6.1概述 126

6.2一维数组 127

6.2.1一维数组定义 127

6.2.2一维数组初始化 128

6.2.3一维数组引用 129

6.2.4一维数组应用 130

6.3二维数组 132

6.3.1二维数组定义 132

6.3.2二维数组初始化 133

6.3.3二维数组引用 134

6.3.4二维数组应用 134

6.4高维数组 137

6.5字符数组与字符串 138

6.5.1字符数组 138

6.5.2字符串 139

6.5.3字符串输入输出 140

6.5.4常用字符串处理函数 142

6.5.5字符数组与字符串应用 143

6.6数组与数据存储 145

6.6.1一维数组的存储 145

6.6.2二维数组的存储 146

6.6.3高维数组的存储 146

6.6.4字符串的存储 147

6.7案例 147

6.7.1固体密度测量问题 147

6.7.2超市收银系统 148

练习题 149

第7章 函数 151

7.1概述 151

7.2函数定义 153

7.2.1函数返回值 153

7.2.2函数定义的通用格式 154

7.2.3无返回值函数 156

7.2.4有返回值的函数 157

7.3函数声明 158

7.3.1库函数声明 159

7.3.2用户自定义函数声明 159

7.4参数传递 161

7.4.1形式参数与实际参数 161

7.4.2值拷贝传递机制 164

7.4.3地址拷贝传递机制 166

7.4.4数组作为函数参数 167

7.5函数调用 169

7.5.1函数调用的一般形式 170

7.5.2函数调用的方式 171

7.6函数的嵌套调用与递归调用 172

7.6.1嵌套调用 172

7.6.2递归调用 174

7.7变量的作用域和存储类型 175

7.7.1局部变量与全局变量 176

7.7.2变量的存储类型 179

7.7.3变量的生存期与作用域 180

7.8内部函数与外部函数 181

7.9程序结构 182

7.9.1单文件单函数结构 182

7.9.2单文件多函数结构 183

7.9.3多文件多函数结构 184

7.10案例 185

7.10.1固体密度测量问题 185

7.10.2超市收银系统 187

练习题 189

第8章 指针 191

8.1概述 191

8.2指针和指针变量 192

8.2.1指针变量声明 192

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

8.2.3指针变量的引用 193

8.3指针运算 194

8.3.1指针运算符 194

8.3.2算术运算 195

8.3.3关系运算 196

8.3.4指针类型转换 197

8.4数组和指针 198

8.4.1用指针访问数组元素 198

8.4.2指向多维数组的指针 200

8.5字符串和指针 203

8.5.1指针处理字符串 203

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

8.6函数和指针 206

8.6.1指针作为函数参数 206

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

8.6.3指向函数的指针 212

8.7指针数组 214

8.7.1指针数组定义 214

8.7.2带参数的main函数 217

8.8数组指针 218

8.9指向指针的指针 220

8.10内存管理 221

8.10.1内存管理函数 221

8.10.2动态内存分配应用 223

8.11案例 227

8.11.1固体密度测量问题 227

8.11.2超市收银系统 229

练习题 231

第9章 结构体、共用体与枚举类型 233

9.1概述 233

9.2结构体类型 234

9.2.1结构体定义 234

9.2.2结构体变量的声明和初始化 235

9.2.3结构体变量的引用 238

9.2.4结构体变量作为函数参数和函数返回值 240

9.2.5结构体数组 241

9.2.6结构体类型指针 244

9.3共用体 246

9.3.1共用体的定义 246

9.3.2共用体变量的声明 246

9.3.3共用体变量的赋值和引用 247

9.4枚举类型 248

9.5类型重定义 250

9.6再议数据类型与存储 252

9.7链表 254

9.7.1链表定义 254

9.7.2链表基本操作 256

9.8案例 258

9.8.1固体密度测量问题 258

9.8.2超市收银系统 260

练习题 262

第10章 预编译和宏定义 263

10.1概述 263

10.2#define命令 263

10.2.1不带参数的宏定义 263

10.2.2带参数的宏定义 265

10.3#include命令 268

10.4条件编译 270

10.4.1#ifdef…#else…#endif 270

10.4.2#ifndef…#else…#endif 270

10.4.3#if…#else…#endif 271

10.5其他指令 272

10.6预定义宏 275

10.7案例 275

10.7.1固体密度测量问题 275

10.7.2超市收银系统 277

练习题 279

第11章 文件 280

11.1概述 280

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

11.2.1文本文件 281

11.2.2二进制文件 281

11.3文件定义 282

11.4文件打开与关闭 283

11.4.1文件打开 283

11.4.2文件关闭 285

11.5文件读写 285

11.5.1单字符读写 286

11.5.2字符串读写 287

11.5.3格式化读写 288

11.5.4数据块读写 290

11.6文件定位函数 293

11.6.1 fseek函数 293

11.6.2 rewind 295

11.6.3 ftell 295

11.7文件状态跟踪 295

11.7.1 feof函数 295

11.7.2 ferror函数 296

11.7.3 clearerr 296

11.8案例 297

11.8.1固体密度测量问题 297

11.8.2超市收银系统 299

练习题 301

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

12.1概述 303

12.2求和/求积问题 303

12.2.1多项式计算 304

12.2.2数列求和 305

12.3遍历问题 307

12.4迭代问题 312

12.4.1二分法 312

12.4.2牛顿迭代法 314

12.5排序问题 316

12.5.1直接插入排序 316

12.5.2起泡法排序 317

12.5.3选择排序 319

12.6查找问题 320

12.6.1顺序查找 320

12.6.2折半查找 321

12.7递归问题-汉诺塔 323

12.8字符串处理 325

12.8.1字符串长度计算 325

12.8.2字符串拷贝 326

12.8.3字符串连接 326

12.9矩阵运算 328

12.9.1矩阵加减运算 328

12.9.2矩阵乘法 329

12.9.3矩阵转置 331

12.9.4高斯消去法求解线性方程组 333

12.10栈操作 336

练习题 338

第13章 面向对象程序设计 339

13.1概述 339

13.1.1模块化设计 339

13.1.2代码封装 340

13.2面向对象程序设计 342

13.3类与对象 343

13.3.1类 343

13.3.2对象 344

13.3.3类在C+++中的实现 345

13.4面向对象的语言实现 347

13.4.1类的继承 347

13.4.2属性 349

13.4.3方法 352

13.4.4虚函数 354

13.5面向对象的问题与UML建模 356

13.5.1静态建模-用例 356

13.5.2静态建模-类和对象 357

13.5.3动态建模-活动图 358

13.5.4动态建模-顺序图 359

第14章 并行程序设计与MPI 367

14.1概述 367

14.2并行算法 367

14.2.1并行问题 367

14.2.2并行算法设计 368

14.3并行程序设计 369

14.3.1并行程序设计模型 369

14.3.2进程 369

14.3.3创建进程 370

14.3.4消息传递 370

14.4 MPI程序设计基础 374

14.4.1 MPI简介 374

14.4.2简单MPI程序设计 375

14.4.3 MPI函数库 375

14.5 MPI初始化与关闭 376

14.5.1初始化MPI环境 376

14.5.2关闭MPI环境 377

14.6 MPI消息传递 378

14.6.1获取进程标识 378

14.6.2获取通信域内的进程数量 378

14.6.3消息发送 379

14.6.4消息接收 379

第15章 个体软件开发过程管理 388

15.1概述 388

15.2编码规范定义 388

15.3 MPI编码规范 389

15.3.1标识符命名规范 389

15.3.2函数或过程规范 390

15.4 ANSI C程序编码规范 390

15.4.1代码结构与组织 391

15.4.2注释 393

15.4.3标识符命名规范 395

15.4.4代码风格与排版 396

15.5代码重用技术 398

15.5.1源程序文件 398

15.5.2静态库 398

15.5.3动态链接库 400

15.5.4组件技术 402

15.6软件生命周期模型 403

15.7 CMM简介 405

15.8 PSP简介 406

15.9 PSP0级 406

15.9.1计划过程管理 407

15.9.2开发过程管理 407

15.9.3总结过程管理 408

15.9.4 PSP0过程文档 409

15.9.5 PSP0.1级 410

15.10软件开发计划 412

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

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

15.10.3 PSP软件开发计划过程 413

15.11 PSP1级 415

15.11.1规模估算 415

15.11.2任务计划 416

15.11.3进度计划 416

15.12 PSP2级 417

15.12.1代码评审 417

15.12.2设计评审 418

15.12.3缺陷预防 419

15.12.4 PSP2改进 419

附录A C语言中的关键字 420

附录B ASCII码表 421

附录C运算符和结合方向 423

参考文献 425

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