当前位置:首页 > 工业技术
C/C++程序设计教程
C/C++程序设计教程

C/C++程序设计教程PDF电子书下载

工业技术

  • 电子书积分:19 积分如何计算积分?
  • 作 者:黄永峰,孙甲松编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302526902
  • 页数:684 页
图书介绍:本教程分为上下2篇。上篇主要介绍c语言的面向过程的程序设计方法,以及ANSI C 语言的语法、结构和规范。包括:面向过程编程的概念和基本思想,c 语言的基本类型变量,数组和指针,结构体 ,程序结构和函数及其函数调用方法,文件操作等。下篇主要介绍c++面向对象的程序设计方法,以及c++语言的核心概念,包括:封装、抽象,继承与派生,多态性与虚函数,运算符重载,命名空间,例外处理等。
《C/C++程序设计教程》目录

上篇 3

第1章 绪论 3

1.1 程序设计概述 3

1.2 程序设计语言 9

1.3 简单的C语言程序 11

1.4 C语言程序的上机步骤 14

练习1 15

第2章 C语言基本数据类型 17

2.1 数据在计算机中的表示 17

2.1.1 计算机记数制 17

2.1.2 计算机中数的表示 24

2.2 常量与变量 31

2.3 基本数据类型常量 32

2.3.1 整型常量 32

2.3.2 实型(浮点型)常量 34

2.3.3 字符型常量 36

2.4 基本数据类型变量的定义 36

2.4.1 整型变量的定义 36

2.4.2 实型变量的定义 40

2.4.3 字符型变量的定义 41

练习2 43

第3章 数据的输入与输出 44

3.1 格式输出函数 44

3.1.1 基本的格式输出语句 44

3.1.2 printf()函数中常用的格式说明 49

3.1.3 使用printf()函数时的注意事项 52

3.2 格式输入函数 53

3.2.1 基本的格式输入语句 53

3.2.2 scanf函数中常用的格式说明 56

3.2.3 通过scanf函数从键盘输入数据 57

3.3 字符输出函数 59

3.4 字符输入函数 60

练习3 61

第4章 C语言表达式与宏定义 63

4.1 赋值运算及其表达式 63

4.2 算术运算及其表达式 64

4.3 关系运算及其表达式 65

4.4 逻辑运算及其表达式 68

4.5 其他运算符 71

4.5.1 增1与减1运算符 71

4.5.2 sizeof运算符 72

4.5.3 逗号运算符 74

4.6 标准函数 75

4.7 宏定义 75

4.7.1 符号常量定义 75

4.7.2 带参数的宏定义 77

4.7.3 带#的宏定义 80

练习4 81

第5章 选择结构 86

5.1 语句与复合语句 86

5.2 if语句 89

5.3 if…else结构 94

5.4 条件运算符 99

5.5 switch结构 102

5.6 程序举例 110

练习5 112

第6章 编 译预处理 116

6.1 文件包含命令 116

6.2 条件编译命令 118

6.3 #pragma命令 123

6.4 #line命令 124

第7章 循环结构 126

7.1 当型循环与直到型循环 126

7.2 while语句 127

7.3 do…while语句 129

7.4 对键盘输入的讨论 133

7.5 for语句 137

7.6 循环的嵌套与其他有关语句 139

7.6.1 循环的嵌套 139

7.6.2 break语句 142

7.6.3 continue语句 143

7.7 程序举例 146

练习7 158

第8章 模块(函数)设计 161

8.1 模块化程序设计与C函数 161

8.1.1 模块化程序设计的基本概念 161

8.1.2 函数的定义 162

8.1.3 函数的调用 165

8.2 模块间的参数传递 169

8.2.1 形参与实参的结合方式 169

8.2.2 局部变量与全局变量 172

8.2.3 动态存储变量与静态存储变量 174

8.2.4 内部函数与外部函数 179

8.3 模块的递归调用 181

8.4 程序举例 187

练习8 191

第9章 数组 194

9.1 数组的基本概念 194

9.2 数组的定义与引用 196

9.2.1 一维数组 196

9.2.2 二维数组 197

9.2.3 数组的初始化 198

9.3 字符数组与字符串 202

9.3.1 字符数组的定义与初始化 202

9.3.2 字符串 203

9.3.3 字符数组与字符串的输入与输出 204

9.3.4 字符串处理函数 207

9.4 数组作为函数参数 210

9.4.1 形参数组与实参数组的结合 210

9.4.2 二维数组作为函数参数 213

9.5 程序举例 216

练习9 223

第10章 指针 227

10.1 指针变量 227

10.1.1 指针的基本概念 227

10.1.2 指针变量的定义与引用 228

10.1.3 指针变量作为函数参数 232

10.1.4 指向指针的指针 235

10.2 指针数组 237

10.3 数组与指针 238

10.3.1 一维数组与指针 238

10.3.2 二维数组与指针 241

10.3.3 数组指针作为函数参数 244

10.4 动态内存的申请与释放 249

10.4.1 malloc()函数 249

10.4.2 calloc()函数 253

10.4.3 realloc()函数 253

10.4.4 free()函数 254

10.5 字符串与指针 255

10.5.1 字符串指针 255

10.5.2 字符串指针作为函数参数 260

10.5.3 strstr函数 263

10.6 函数与指针 263

10.6.1 用函数指针变量调用函数 263

10.6.2 函数指针数组 266

10.6.3 函数指针变量作为函数参数 266

10.6.4 返回指针值的函数 268

10.7 main函数的形参 269

10.8 程序举例 271

练习10 272

第11章 结构体与联合体 276

11.1 结构体类型变量 276

11.1.1 结构体类型变量的定义与引用 276

11.1.2 结构体的嵌套 279

11.1.3 结构体类型变量的初始化 280

11.1.4 结构体与函数 282

11.2 结构体数组 284

11.2.1 结构体类型数组的定义与引用 284

11.2.2 结构体类型数组作为函数参数 287

11.3 结构体与指针 289

11.3.1 结构体类型指针变量的定义与引用 289

11.3.2 结构体类型指针作为函数参数 290

11.3.3 结构体的大小与#pragma中pack的关系 294

11.4 链表 297

11.4.1 链表的基本概念 297

11.4.2 链表的基本运算 300

11.4.3 多项式的表示与运算 304

11.5 联合体 309

11.6 枚举类型与自定义类型名 311

11.6.1 枚举类型 311

11.6.2 自定义类型名 313

练习11 315

第12章 文件 318

12.1 文件的基本概念 318

12.1.1 文本文件与二进制文件 318

12.1.2 缓冲文件系统 319

12.1.3 文件类型指针 320

12.2 文件的基本操作 321

12.2.1 文件的打开与关闭 321

12.2.2 文件的读写 322

12.2.3 文件的定位 330

12.2.4 文件缓冲区的清除 333

12.2.5 文件指针错误状态的清除 337

12.3 程序举例 339

练习12 343

第13章 位运算 346

13.1 二进制位运算 346

13.2 位段 351

13.3 程序举例 354

练习13 356

下篇 361

第14章 C++类与对象 361

14.1 从C语言到C++语言 361

14.2 面向对象的程序设计方法 361

14.3 类与对象 365

14.3.1 类和对象的概念 365

14.3.2 类的声明方法 366

14.3.3 对象的定义 367

14.3.4 对象的引用 368

14.4 类的成员函数 369

14.4.1 成员函数的声明与定义 370

14.4.2 inline成员函数 371

14.4.3 成员函数的存储方式和this指针 373

14.5 类的构造函数和析构函数 374

14.5.1 对象的初始化与构造函数 374

14.5.2 构造函数类型 375

14.5.3 构造函数的重载 377

14.5.4 使用默认参数的构造函数 379

14.5.5 类的析构函数 380

14.6 对象数组和对象指针 385

14.6.1 对象数组 385

14.6.2 对象指针 386

14.7 共用数据的保护 388

14.7.1 常对象及常成员函数 389

14.7.2 对象的常数据成员 390

14.7.3 指向对象的常指针和指向常对象的指针变量 390

14.7.4 对象的常引用 392

14.7.5 const型数据的小结 393

14.8 同类对象间的数据共享及类的静态成员 394

14.8.1 类的静态数据成员 394

14.8.2 类的静态成员函数 396

14.9 对象的动态构建和释放 398

14.10 对象的赋值和复制 399

14.11 友元和友元类 404

14.11.1 友元函数 404

14.11.2 友元类 406

14.12 应用程序举例——公司人事管理系统 407

本章小结 411

练习14 411

第15章 运算符重载 414

15.1 运算符重载的一般方法 414

15.2 运算符重载函数作为类的成员函数或友元函数 417

15.2.1 双目运算符的重载应用举例 419

15.2.2 单目运算符的重载举例 421

15.2.3 流插入运算符和流提取运算符的重载 426

15.3 类对象与标准类型数据之间的转换方法 429

15.3.1 转换构造函数 429

15.3.2 基于运算符重载机制的类型转换函数 430

15.3.3 综合程序举例 432

15.4 综合程序应用——某公司人事管理系统 446

本章小结 450

练习15 450

第16章 继承与派生 452

16.1 继承与派生的概念 452

16.2 派生类的声明方式及其组成 453

16.2.1 派生类的声明方式 453

16.2.2 派生类的组成 454

16.3 派生类成员的访问属性与继承方式 454

16.3.1 公用继承方式 455

16.3.2 私有继承方式 457

16.3.3 保护成员和保护继承 459

16.3.4 使用using声明来改变基类成员在派生类中的访问属性 461

16.4 派生类的构造函数和析构函数 462

16.4.1 单继承的派生类构造函数 462

16.4.2 内嵌子对象的派生类的构造函数 464

16.4.3 多级派生类的构造函数 466

16.4.4 派生类构造函数的定义规则总结 467

16.4.5 派生类的析构函数 468

16.5 多重继承与虚基类 468

16.5.1 多重派生类构造函数的定义方法 468

16.5.2 多重继承中同名数据引起的二义性问题 471

16.5.3 虚基类 472

16.6 继承与组合 478

16.7 综合程序应用——公司人事管理系统 483

本章小结 509

练习16 509

第17章 多态性与虚函数 513

17.1 基类与派生类的对象兼容关系 513

17.2 多态性与虚函数 516

17.2.1 多态性概念及类型 516

17.2.2 虚函数 517

17.2.3 虚析构函数 521

17.2.4 多重继承中的虚函数 524

17.3 纯虚函数与抽象类 526

17.3.1 纯虚函数的概念 526

17.3.2 抽象类 527

17.3.3 应用实例 528

17.4 综合程序举例 531

本章小结 532

练习17 532

第18章 输入输出流 535

18.1 C++的输入和输出流类 535

18.1.1 C++输入输出的类别和特点 535

18.1.2 C++输入输出流和流类 535

18.2 标准的输出流输入流 537

18.2.1 标准输出流 537

18.2.2 标准输入流 543

18.3 文件I/O操作与文件流 548

18.3.1 文件类型和文件流 548

18.3.2 文件流类与文件流对象 548

18.3.3 ASCII文件的读写操作 550

18.3.4 二进制文件的读写操作 552

18.4 字符串流的输入和输出 555

18.5 综合程序应用——公司人事管理系统 558

本章小结 558

练习18 559

第19章 C++语言工具 560

19.1 函数模板和类模板 560

19.1.1 函数模板 560

19.1.2 类模板 563

19.2 异常处理 569

19.2.1 异常处理的概念 569

19.2.2 异常处理的方法 570

19.2.3 函数声明中的异常情况指定 575

19.3 命名空间 576

19.3.1 命名空间的概念和作用 576

19.3.2 同名冲突解决方法与命名空间 578

19.4 C++语言的函数库 583

19.5 C++标准模板库 585

19.5.1 STL的组件以及关系 586

19.5.2 容器 586

19.5.3 迭代器 589

19.5.4 算法与函数对象 592

19.6 综合程序应用——某公司人事管理系统 596

本章小结 675

练习19 675

附录A 基本ASCII码表 677

附录B C语言常用库函数 680

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