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

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

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:高克宁等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302203780
  • 页数:477 页
图书介绍:本书重点介绍程序设计的基本方法和技术,以程序设计思想、程序设计语言、程序设计技术和软件工程管理四条主线组织相关内容,以C语言为依托,全面、系统地介绍了程序设计的基本知识。
《程序设计基础 C语言》目录

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

1.1 概述 1

1.2 计算机的基本原理 1

1.3 指令与程序 3

1.4 计算机应用简介 4

1.5 程序设计语言 6

1.6 问题求解与算法设计 9

1.6.1 算法定义 9

1.6.2 算法的复杂性 11

1.6.3 伪代码 11

1.6.4 流程图 12

1.6.5 N-S图 13

1.6.6 UML 14

1.7 程序设计思想 14

1.7.1 程序设计概述 14

1.7.2 程序设计基本步骤 15

1.7.3 结构化程序设计 16

1.7.4 面向对象程序设计 17

1.7.5 并行程序设计 19

1.7.6 程序设计思想前沿 20

1.8 C语言概述 20

1.8.1 C语言的特点 20

1.8.2 简单的C程序设计 21

1.8.3 C语言程序结构 23

1.8.4 C程序调试处理 26

1.9 案例——应用程序界面的简单设计 27

练习题 28

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

2.1 概述 30

2.2 信息编码与存储 31

2.2.1 数值 31

2.2.2 字符 32

2.3 标识符 34

2.4 数据类型 35

2.5 常量 37

2.5.1 整型常量 37

2.5.2 实型常量 38

2.5.3 字符常量 39

2.5.4 字符串常量 40

2.5.5 符号常量 41

2.6 变量 42

2.6.1 变量声明 42

2.6.2 变量初始化 44

2.6.3 变量赋值 45

2.6.4 const修饰符 46

2.7 数据溢出与计算精度 47

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

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

2.8.2 Java语言的基本类型 50

2.8.3 C#语言的基本类型 51

2.9 数据类型与程序移植 52

2.10 案例——跨平台程序开发 54

练习题 55

第3章 运算符与表达式 57

3.1 概述 57

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

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

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

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

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

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

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

3.9 sizeof运算符 65

3.10 类型转换 65

3.10.1 隐式转换 66

3.10.2 显式转换 67

3.11 位运算符与位运算 68

3.11.1 位逻辑运算 68

3.11.2 位移运算 70

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

3.12 表达式运算 71

3.13 其他语言中的运算符及表达式 72

3.14 案例 72

练习题 73

第4章 输入输出 75

4.1 概述 75

4.2 printf函数 76

4.2.1 printf函数的调用格式 76

4.2.2 printf函数的简单应用 76

4.2.3 printf函数的格式控制字符串 77

4.3 scanf函数 82

4.3.1 scanf函数的调用格式 82

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

4.4 字符输入与输出 85

4.5 图形输出 86

4.5.1 图形处理函数 86

4.5.2 图形界面接口 90

4.6 案例——基于OpenGL建立一个立方体 91

练习题 93

第5章 程序控制结构 95

5.1 概述 95

5.2 基本语句 96

5.3 条件控制语句 100

5.3.1 if语句 100

5.3.2 if-else语句 102

5.3.3 if-else if语句 104

5.3.4 switch语句 106

5.3.5 分支结构应用 111

5.4 循环控制语句 114

5.4.1 while语句 114

5.4.2 for语句 117

5.4.3 do-while语句 120

5.4.4 循环的本质 122

5.4.5 几种循环语句的比较 124

5.4.6 循环结构应用 124

5.5 其他控制语句 126

5.5.1 goto语句 127

5.5.2 break语句 128

5.5.3 continue语句 129

5.5.4 goto,break,continue语句的区别 130

5.6 语句嵌套 132

5.6.1 条件分支嵌套结构 132

5.6.2 循环嵌套结构 134

5.7 案例——应用程序菜单界面 136

练习题 137

第6章 数组 140

6.1 概述 140

6.2 一维数组 141

6.2.1 一维数组定义 141

6.2.2 一维数组初始化 142

6.2.3 一维数组引用 143

6.2.4 一维数组应用 145

6.3 二维数组 147

6.3.1 二维数组定义 147

6.3.2 二维数组初始化 147

6.3.3 二维数组引用 149

6.3.4 二维数组应用 150

6.4 高维数组 152

6.5 字符数组与字符串 154

6.5.1 字符数组 154

6.5.2 字符串 155

6.5.3 字符串输入输出 156

6.5.4 常用字符串处理函数 158

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

6.6 数组与数据存储 163

6.6.1 一维数组的存储 163

6.6.2 二维数组的存储 163

6.6.3 多维数组的存储 164

6.6.4 字符串的存储 164

6.7 案例——高斯消去法求解线性方程组 165

练习题 167

第7章 函数 170

7.1 概述 170

7.2 函数定义 172

7.2.1 函数返回值 172

7.2.2 函数定义的通用格式 173

7.2.3 无返回值类型的函数 176

7.2.4 有返回值类型的函数 177

7.2.5 空函数 178

7.3 函数声明 178

7.3.1 库函数声明 178

7.3.2 用户自定义函数声明 179

7.4 参数传递 183

7.4.1 形式参数与实际参数 183

7.4.2 值拷贝传递机制 186

7.4.3 地址拷贝传递机制 188

7.4.4 数组作为函数参数 189

7.5 函数调用 192

7.5.1 函数调用的一般形式 193

7.5.2 函数调用的方式 194

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

7.6.1 嵌套调用 196

7.6.2 递归调用 197

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

7.7.1 局部变量与全局变量 200

7.7.2 变量的存储类型 205

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

7.8 内部函数与外部函数 209

7.9 函数程序结构 210

7.9.1 单文件单函数结构 211

7.9.2 单文件多函数结构 211

7.9.3 多文件多函数结构 211

7.9.4 多文件多函数多库结构 213

7.10 案例——典型波形的绘制 213

练习题 221

第8章 指针 223

8.1 概述 223

8.2 指针和指针变量 224

8.3 指针运算 227

8.3.1 指针运算符 227

8.3.2 算术运算 228

8.3.3 关系运算 230

8.3.4 指针类型转换 230

8.4 数组和指针 232

8.4.1 用指针访问数组元素 232

8.4.2 指向多维数组的指针 234

8.5 字符串和指针 237

8.5.1 指针处理字符串 237

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

8.6 函数和指针 241

8.6.1 指针作为函数参数 241

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

8.6.3 指向函数的指针 247

8.7 指针数组 251

8.7.1 指针数组声明 251

8.7.2 带参数的main函数 253

8.8 数组指针 255

8.9 指向指针的指针 257

8.10 内存管理 258

8.10.1 动态内存分配 259

8.10.2 动态内存分配应用 261

8.11 案例——栈的基本操作算法 265

练习题 267

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

9.1 概述 269

9.2 结构体类型 270

9.2.1 结构体定义 270

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

9.2.3 结构体变量的引用 274

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

9.2.5 结构体数组 278

9.2.6 结构体类型指针 279

9.3 共用体 281

9.4 枚举类型 283

9.5 类型重定义 286

9.6 再议数据类型与存储 288

9.7 链表 290

9.7.1 链表定义 290

9.7.2 链表的基本操作 292

9.8 案例——问卷调查 294

练习题 299

第10章 预编译和宏定义 301

10.1 概述 301

10.2 #define命令 301

10.2.1 不带参数的宏定义 302

10.2.2 带参数的宏定义 304

10.3 #include命令 306

10.4 条件编译 308

10.5 其他指令 311

10.6 预定义宏 314

10.7 案例——系统可移植性处理 314

练习题 315

第11章 文件 317

11.1 概述 317

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

11.3 文件的定义 319

11.4 文件打开与关闭 320

11.4.1 文件打开 320

11.4.2 文件关闭 322

11.5 文件读写 323

11.5.1 单字符读写 323

11.5.2 字符串读写 325

11.5.3 格式化读写 327

11.5.4 数据块的读写 328

11.6 文件定位函数 332

11.7 文件状态跟踪 334

11.8 案例——学生信息管理系统 336

练习题 346

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

12.1 概述 348

12.2 求和/求积问题 348

12.2.1 多项式计算 349

12.2.2 数列求和 351

12.3 遍历问题 353

12.4 迭代问题 358

12.4.1 二分法 358

12.4.2 牛顿迭代法 360

12.5 排序问题 361

12.5.1 直接插入排序 362

12.5.2 起泡法排序 363

12.5.3 选择排序 365

12.6 查找问题 366

12.6.1 顺序查找 367

12.6.2 折半查找 368

12.7 递归问题——汉诺塔 369

12.8 字符串处理 372

12.8.1 字符串长度计算 372

12.8.2 字符串拷贝 372

12.8.3 字符串连接 373

12.9 矩阵运算 375

12.9.1 矩阵加减运算 375

12.9.2 矩阵乘法 376

12.9.3 矩阵转置 378

练习题 380

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

13.1 概述 381

13.1.1 模块化设计 381

13.1.2 代码封装 383

13.2 面向对象程序设计 384

13.3 类与对象 385

13.3.1 类 386

13.3.2 对象 387

13.3.3 类在C++中的实现 388

13.3.4 类在Java中的实现 390

13.4 面向对象的语言实现 392

13.4.1 类的继承 392

13.4.2 属性 394

13.4.3 方法 398

13.4.4 虚函数 401

13.5 面向对象的软件开发与UML建模 404

13.5.1 静态建模——用例 404

13.5.2 静态建模——类和对象 405

13.5.3 动态建模——活动图 406

13.5.4 动态建模——顺序图 407

13.6 案例——学生信息管理系统 408

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

14.1 概述 415

14.2 并行算法 416

14.2.1 并行问题 416

14.2.2 并行算法设计 416

14.3 并行程序设计 417

14.3.1 并行程序设计模型 417

14.3.2 进程 418

14.3.3 创建进程 419

14.3.4 消息传递 420

14.4 MPI程序设计基础 423

14.5 MPI初始化与关闭 426

14.6 MPI消息传递 427

14.6.1 获取进程标识 427

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

14.6.3 消息发送 428

14.6.4 消息接收 429

14.7 案例——π值计算 432

第15章 个体软件开发过程管理(PSP) 438

15.1 概述 438

15.2 编码规范定义 439

15.3 MPI编码规范 439

15.4 ANSI C程序编码规范 441

15.4.1 代码结构与组织 441

15.4.2 注释 444

15.4.3 标识符命名规范 445

15.4.4 代码风格与排版 447

15.5 代码重用技术 448

15.5.1 源程序文件 448

15.5.2 静态库 449

15.5.3 动态链接库 451

15.5.4 组件技术 452

15.6 软件生命周期模型 454

15.7 CMM简介 456

15.8 PSP个体软件开发过程简介 456

15.9 PSP0级 457

15.9.1 计划过程管理 458

15.9.2 开发过程管理 458

15.9.3 总结过程管理 459

15.9.4 PSP0过程文档 460

15.9.5 PSP0.1级 461

15.10 软件开发计划 463

15.11 PSP1级 466

15.12 PSP2级 468

附录1 C语言中的关键字 471

附录2 ASCII码表 472

附录3 运算符和结合方向 474

参考文献 476

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