一起学习C++:1.计算机基础概述

1 前言

       考虑到数值计算对求解速度的要求较高,以及C++语言的通用性等主要优点,之前入门学习了C++高级编程语言,未来会更新C++基础语法到面向对象部分的内容。内容会讲的比较细和基础,无论是0编程基础还是有其他语言基础的朋友都可以跟着一起学习,学过C++的也可以作为复习和查漏补缺,加深记忆。

  C++是一种通用的高级编程语言,具有以下优势:

  • 高效性:C++是一种编译型语言,可以产生高效的机器代码。它提供了底层的内存管理和直接访问硬件的能力,使得程序的运行速度非常快,适用于对性能要求较高的应用领域。

  • 面向对象:C++支持面向对象编程(OOP),可以通过封装、继承和多态等特性来组织和管理代码。面向对象的设计思想使得程序更加模块化、可重用性更高,并且可以提高代码的可维护性和可扩展性。

  • 跨平台性:C++的标准库和语法规范在不同的操作系统和平台上具有较好的兼容性,使得开发的程序可以在多个平台上进行移植和运行。

  • 强大的生态系统:C++拥有丰富的第三方库和工具,可以支持各种不同的应用需求,例如图形界面开发、网络编程、并发处理等。这些库和工具可以加快开发速度、提升开发效率,并且被广泛应用于许多领域。

  • 可嵌入性:C++可以与其他语言(如C和汇编语言)进行混合编程,可以直接访问底层硬件和操作系统的特性。这使得C++非常适合开发嵌入式系统、驱动程序和操作系统等底层软件。

  • 丰富的功能特性:C++提供了许多强大的语言特性,如模板、异常处理、STL(标准模板库)等。这些功能可以提高代码的重用性和可读性,并且支持更高级的编程抽象和技术。

2 正文

计算机从诞生到现冯诺依曼结构计算机,都包含五大功能部件:

运算器(Arithmetic Logic Unit,ALU)

  运算器是计算机的核心组件,用于执行各种算术和逻辑运算。它可以对数据进行加、减、乘、除等数值运算,还能进行逻辑判断、位运算等操作。

控制器(Control Unit)

  控制器负责协调和控制计算机各部件的工作。它从存储器中读取指令,解码并分配给相应的硬件单元执行。控制器还负责循序执行指令、处理异常情况和调度任务。

存储器(Memory)

  存储器用于存储数据和指令。在冯·诺依曼结构中,存储器被分为两种类型:主存储器(主内存)和辅助存储器(如硬盘、固态硬盘)。主存储器用于存储运行中的程序和数据,而辅助存储器则用于长期存储大量数据和程序。

输入设备(Input Device)

  输入设备用于将外部信息输入计算机系统。常见的输入设备包括键盘、鼠标、扫描仪、摄像头、触摸屏等,它们将用户的指令、数据或其他形式的输入转换为计算机能够理解和处理的格式。

输出设备(Output Device)

  输出设备用于将计算机处理后的结果展示给用户。常见的输出设备包括显示器、打印机、音频设备、项目仪等。它们可以将计算机生成的图像、文本、声音等信息转换为人类可识别的形式。

指令(Instruction)

  是计算机内部的一条命令,用来告诉计算机执行特定的操作。指令通常是由二进制编码表示,计算机可以根据指令的编码来执行相应的操作,如进行算术运算、逻辑判断、数据传输等。不同的指令代表着不同的操作和功能,例如加法指令、跳转指令、存储指令等。指令集架构(Instruction Set Architecture,ISA)定义了一组计算机的基本指令。正如它的英文名称Instruction一样指示、命令、用法,即做什么,如何做。(指令是机器语言编写的)

程序(Program)

  程序是一系列指令的集合,用来描述计算机执行任务的步骤和逻辑。程序可以由高级编程语言编写,然后通过编译器或解释器转换为计算机可执行的指令。程序中的指令按照一定的顺序进行执行,实现特定的功能或解决特定的问题。程序可以包括数百条指令,也可以是一个简单的指令序列(实现的效果就是告诉计算机执行哪些指令以及那个指令限制性,哪个后执行)。

软件(Software)

  软件是计算机系统中非硬件部分的程序和数据的总称。软件可以分为系统软件和应用软件两大类。系统软件包括操作系统、编译器、解释器等,用于管理计算机的硬件和提供基本的功能和服务。应用软件则是根据用户需求开发的各种应用程序,如文字处理软件、图像编辑软件、游戏等,用于满足特定的任务或娱乐需求。

  软件是由指令组成的,它们描述了计算机系统所需的算法、逻辑和操作步骤。通过软件,用户可以与计算机进行交互,使用各种功能和服务。软件的开发依赖于编程语言、开发工具和编码规范等技术手段。它们使得计算机能够更加灵活、智能地执行各种任务,扩展了计算机的功能和应用领域。

机器语言

  机器语言是计算机硬件能够直接理解和执行的二进制代码。它使用特定位模式的指令来表示不同的操作,如算术运算、内存访问和控制流程等。机器语言是与特定计算机体系结构紧密相关的,每个指令都被分配了一个特定的操作码。示例:10110011 01001001(以二进制形式)

汇编语言

  汇编语言是机器语言的文本表示形式。它使用助记符(mnemonics)来替代机器语言中的位模式,使程序更易读和可理解。每个助记符对应一个特定的机器指令,它们包含操作码和操作数。汇编语言需要使用汇编器将其转换为机器语言。示例:ADD AX, BX(x86汇编语言)

高级语言

  高级语言是一种更加抽象且易于理解的编程语言。它提供了更高层次的抽象和功能,使开发人员能够以更自然的方式表达程序逻辑。高级语言使用更容易理解的语法和结构,有更丰富的内置函数和库。高级语言编写的代码需要通过编译器(例如C、C++)或解释器(例如Python、JavaScript)转换为机器语言,以便计算机执行。示例:x = a + b(Python)

  高级语言相比于机器语言和汇编语言具有更高的可移植性、可读性和易用性,但执行效率可能较低。不同的高级语言适用于不同的应用场景,开发人员可以根据需求选择合适的编程语言。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冬生亦东生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值