3--C++1计算机基础知识

讲解计算机基础知识(1)计算机组成(2)计算机的存储体系(3)计算机中数据和程序的存储与组织(4)指令、汇编语言、高级语言(5)数据类型、字符编码以及软件体系结构入门与计算机编程基础、程序语言的发展、面向对象的软件开发过程以及工具
展开查看详情

1. 计算机高级语言程序设计 之C++篇 授课班级:113171-2班 任课教师:王红平 2017年.秋 2017/9/26 绪论1:计算机基础知识 1

2. 第一章 绪论 (1)计算机基础知识 (2)软件体系结构入门 (3)计算机编程基础 (4)程序设计语言的发展 (5)面向对象的软件开发过程 (6)程序开发过程及开发工具 2017/9/26

3. 1:计算机基础知识 (1)计算机组成 (2)计算机的存储体系 (3)计算机中数据和程序的存储与组织 (4)指令、汇编语言、高级语言 (5)数据类型、字符编码 2017/9/26 绪论1:计算机基础知识 3

4. 信息系统的五个组成 1、巨型机:Supercomper 1、系统单元:包括中央处理单元(CPU)和内存 2、大型机:Mainframe 1、系统软件:OS、DBMS等 2、I/O设备:键盘、鼠标、扫描仪、数码相机、显示器、打印机等 3、小型机:Minicomputer 2、应用软件:Word、excel、VC等 3、二级存储设备:如 软盘、硬盘、光盘 4、微型机:Microcomputer(desktop、notebook、PDA) 4、通讯设备:如 Modem、Hub、路由器等 软件体系结构 2017/9/26 绪论1:计算机基础知识 4

5. 1.1.2 软件(Software)  操作系统(Operating System,OS) 硬件 OS 软件开发工具 应用软件 用户 ……  实现用户与计算机之间的通信  管理计算机资源 ——“管家”  响应用户需求运行程序 2017/9/26 绪论1:计算机基础知识 5

6.  常用的操作系统 • DOS • Windows • UNIX • Linux • Macintosh • VMS(Virtual Memory System ,虚拟内存系统) 2017/9/26 绪论1:计算机基础知识 6

7.计算机种类繁多,但基本原理是相同的。 计算机的基本特点 (1)采用二进制的形式表示数据和指令 (2)采用存储程序的工作方式 (3)由运算器、控制器、存储器、输入、输出设备组 John von Neumann 冯诺依曼 2017/9/26 绪论1:计算机基础知识 7

8. 计算机的五个主要组件  输入设备(Input Devices)  输出设备(Output Devices)  处理器(CPU)  主存储器(内存)(Main Memory)  辅助存储器(外存)(Secondary Memory) 2017/9/26 绪论1:计算机基础知识 8

9. 微处理器(Microprocessor) 中央处理器 (Central Processing Unit,CPU) 处理器(Processor) CPU由两部分组成: (1)控制单元(Control Unit): 告诉计算机的其余部分如何执行指令 (2)算术逻辑单元(Arithmetic-Logic Unit,ALU): 完成算术( + - X / )和逻辑( = < > )两种操作 2017/9/26 绪论1:计算机基础知识 9

10. 内存储器(Memory) (1)RAM(Random-access Memory)随机存储器 (2)ROM(Read-only Memory)只读存储器,又称为固件firmware (3)CMOS(Complementary Metal-oxide Semiconductor) (4)Flash RAM(闪存) 内存容量 虚拟内存(virtual Memory) 2017/9/26 绪论1:计算机基础知识 10

11. 计算机存储体系 (1)缓存(Cache):在CPU中,速度最快,少量 (2)RAM(内存):存储程序和数据,速度比缓存慢,中等 (3)二级存储器(外存:硬盘、光盘、磁带、U盘等),最慢,海量 ① ② ③ U盘 2017/9/26 绪论1:计算机基础知识 11

12. 存储器中存什么 (1)所有的存储器中存储的都是“位”(Bit) (2)每一位只能表示两种状态:0和1 (3)8位组成1个“字节”(Byte) 11011010 2017/9/26 绪论1:计算机基础知识 12

13. 0 00100101 1 00100110 存储器中存什么 2 00100110 3 00100111 (4)存储器中的所有存储单元 4 00100111 都按照字节给定地址(字节地址) 5 00100100 6 00100101 7 00100100 8 00100100 9 00100110 10 00100111 11 00001110 12 00100111 13 00001100 2017/9/26 绪论1:计算机基础知识 13

14.2:软件体系结构入门

15. 软件是什么? 软件(Software)的概念 (1)狭义:计算机程序(Program) (2)广义:计算机程序和相关文档(如:需求规格 说明书、软件设计说明书、使用手册)的总称 软件的含义根据上下文理解,一般是指计算机程序的 集合 软件是由一组用“编程语言”编写的程序组成。程序 则由指令组成。 软件通常由专业编程人员开发,并存放在磁盘、光盘 上,或通过因特网在线提供。 2017/9/26

16. 两类软件 软件通常可以分为两类: • System Software (系统软件) • Application Software (应用软件) 应用软件:我用的 你可以认为应用 软件是 你用的, 而系统软件是 计算机用的。 系统软件:它用的 2017/9/26

17.System Software: The Computer’s Boss • 功能 –管理计算机的内部资源,控制硬件的运行,执 行各种基本操作。 –不用于解决各种业务性或专业性的具体问题。 最重要的一种系统软件是“操作系统” Windows、Linux、Unix….. 2017/9/26

18. Application Software: Your Servant • 功能 –用于提高计算机用户的工作效率和创造力。 PC最常用的应用软件是 – Office系列办公软件和Internet Explorer Browser ( IE浏览器)。 – QQ – 杀毒软件 2017/9/26

19.3:计算机编程基础

20. 计算机程序 • 计算机的工作是用程序来控制的 • 程序是指令的集合。 • 指令是计算机可以识别的命令。 2017/9/26

21. 计算机程序 • 对数据的描述。在程序中要指定数据的类型 和数据的组织形式,即数据结构。 • 对操作的描述。即操作步骤,也就是算法。 著名的计算机科学家Nikiklaus Wirth提出了一个公式: 程序 = 数据结构 + 算法 2017/9/26

22. 什么样的程序是好的程序? • 程序有两层含义: –一个告诉计算机要做什么的方法; –一个让其他人看懂你想要计算机做什么的方法; “优美”的程序能让其他人很快明白甚至欣赏 编程者的想法。 2017/9/26

23. 程序的组成 • (1)一串指令 –E.g:教师上课准备 顺序执行 • (2)条件句 –E.g :“如果”条件执行 • (3)重复行为 –E.g:“如果盒子里还有饼干,就一直吃饼干” • (4)将一个大问题分解成几个小问题 –问题分解 • (5)计算结果 2017/9/26

24. 程序学习的实质 • 编程就是上述简单概念的组合,其难点在 于复杂度; • 学会如何合理地规划指令序列去完成一个 任务(即怎样设计一个程序)是编程学习 中最有价值的收获。 • 方法:做好规划 流程图 2017/9/26

25. 计算机程序的表现和实质是什么? 内 存 输入、修改 ┉ ┉ int a; (1)程序员(Programmer)看到的程序 int b; a=100; 编译 b=64; ┉ ┉ 连接 ┉ ┉ 66 C7 45 EC 64 (2)计算机可执行程序 00 66 C7 45 E0 40 00 ┉ ┉ 2017/9/26

26.4:程序设计语言的发展

27. 机器语言与汇编语言 • 由计算机硬件系统可以识别的二进制指 令组成的语言称为机器语言。 计算机发展的初期,软件工程师们只能用机器 语言来编写程序。这一阶段,在人类的自然语言和 计算机编程语言之间存在着巨大的鸿沟。 • 汇编语言将机器指令映射为一些可以被 人读懂的助记符,如ADD、SUB等。 此时编程语言与人类自然语言间的鸿沟略有缩 小,但仍与人类的思维相差甚远。 2017/9/26

28. 高级语言 高级语言屏蔽了机器的细节,提高了语 言的抽象层次,程序中可以采用具有一定 涵义的数据命名和容易理解的执行语句。 这使得在书写程序时可以联系到程序所描 述的具体事物。 2017/9/26

29. 机器语言、汇编语言和高级语言间的对应关系 00414FD0 55 push ebp 00414FD1 8B EC mov ebp,esp 00414FD3 81 EC D0 00 00 00 sub esp,0D0h 00414FD9 53 push ebx 00414FDA 56 push esi 00414FDB 57 double minxy;push edi 00414FDC 8D BD 30 FF FF FF lea edi,[ebp+FFFFFF30h] 00414FE2 if(x<=y) B9 34 00 00 00 mov ecx,34h 00414FE7 B8 CC CC CC CC mov eax,0CCCCCCCCh 00414FEC F3 AB rep stos dword ptr es:[edi] 00414FEE DD 45 10 fld qword ptr [ebp+10h] 00414FF1 DC 5D 08 fcomp qword ptr [ebp+8] double DF 00414FF4 cal_Min(double E0 x,double fnstsw y)ax { 00414FF6 F6 C4 01 test ah,1 00414FF9 75 08 jne 00415003