用计算机的方式去编程,计算机编程基础

计算机编程基础

什么是编程语言

什么是语言,中文,英语,日语,语言是拿来沟通交流的

编程语言:和计算机交流的一种介质

什么是编程

表达自己的想法(实现一些东西)

编程:通过编程语言做一些事情,写一堆 .py,.obj,.css 文件

为什么要编程

编程的目的:代替劳动力,然后帮人完成具体的事情

计算机的组成

CPU(大脑)

电脑创立初:控制器和运算器是分开的

控制器(控制)# 一

控制硬件(运算器,存储器,输入设备,输出设备)

运算器(运算)# 二

算术运算+逻辑运算

存储器(记忆)# 三

主存(脑子)

内存—》8gb

优点: 运行速度快,

缺点:容量小,断电就消失了

外存(笔记本)

SSD,机械硬盘

优点:容量大,数据可持久化

缺点:速度慢

I/O设备(Input/Output设备)

输入设备(眼睛)# 四

输入信息,键盘/鼠标/麦克风/u盘/手写板

输出设备(行动)# 五

输出信息,显示屏/打印机/u盘

冯诺依曼机-计算机

符合以上计算机的组成的,统称为冯诺依曼机,也叫计算机

计算机组成的补充

多核CPU

一个CPU相当于一个大脑,多核CPU-》计算机同时拥有多个CPU,同一时间处理多件事情(多进程)

32位和64位

计算机如何存储图片:计算机只认识0(低电频)和1(高电频)

鼠标点击—》接受到低电频低电频.....—》0000010

图片本身就是一串01的数据

光盘—》凹凸刻印

32位—》表示计算机一次性能处理32个二进制数

64位—》表示计算机一次性能处理64个二进制数

32位和64位本质上是同一种东西

安装包64位的(一次性给你64个二进制数),计算机32位(一次性接受32个二进制数)

安装包32位的,计算机64位

64位电脑向下兼容

机械硬盘工作原理

凹凸存储

磁道

存储数据

扇面

划分磁道,多个扇面(512kb,计算机一次性从机械硬盘上读取512kb)其实就是一个盘(区)

快速定位数据的位置

机械手臂

寻找/读取数据

平均寻道时间

由于工业水平限制,5ms

平均寻找数据时间

7200R/min的电脑

\[ 7200/60=120r/s 1/120 = 0.0083s = 8.3s 8.3/2 = 4.15ms \]

平均寻找数据时间

\[ 5 + 4.15 = 9.15ms \]

固态硬盘

基于电容存储,数学的算法

优点:不需要机械手臂,基于电容

操作系统

如果只有五大组成,读取数据时,则需要手动滑动机械手臂

实际内存较低,部分内存留了一部分给操作系统

什么是文件

存储信息的介质,操作系统提供的一个虚拟的概念,这个虚拟的概念可以用来存储信息,帮你滑动机械手臂

文件接口(操作系统,而文件只是操作系统中的一个系统):帮你对硬件的复杂操作简单化

双击接口(操作系统提供的):让你快速打开一个应用

操作系统有什么用

提供给我们一个一个接口,让我们不再关心硬件的复杂操作

应用程序的启动

双击qq(企鹅图标是操作系统提供的)—》让操作系统通知CPU:找到qq在外存的位置

CPU让内存去外存读取qq的数据

启动qq

计算机的组成(有了操作系统之后)

应用程序(软件):和操作系统交互

操作系统(软件):和硬件交互

硬件:硬件直接交互

操作系统的启动(开机)

启动软件,首先要启动操作系统,找软件在硬盘上的位置

操作系统本质上也是一个软件,也需要找到操作系统在硬盘中的位置(要找就必须通过操作系统)

临时操作系统(ROM存储器)

只负责寻找操作系统的路径

计算机出厂时就写死了,它只会去CMOS存储器上调用操作系统的路径

临时外存(CMOS存储器)

用电池供电,存储了操作系统的路径(系统启动盘位置),存储了时间

开机,启动临时操作系统

临时操作系统去CMOS上找到操作系统的路径

启动操作系统,临时操作系统关闭

编程语言

编码

计算机只认识二进制语言

机器语言

二进制编码复杂,所以早期只有顶级科学家才会使用

二进制—》设备转换—》电频等表示

优点:执行速度非常快

汇编语言

汇编语言类似于机器语言,但是汇编语言只是把一串二进制数写成一个英文单词

优点(相较于机器语言):开发效率高

缺点(相较于机器语言):执行效率低一点

高级语言

高级语言直接用人能理解的语言和语法风格编写程序,无需再去考虑复杂的硬件操作,按照翻译方式的不同,高级语言又分为编译型和解释型两大类

优点(较于汇编语言):开发效率高

缺点(较于汇编语言):执行效率低

编译型语言(通过设备的翻译形式)

类似于谷歌翻译,一次性翻译所有代码为机器代码

x = 1

y = 2

print(x+y)

#翻译后整片二进制语言

优点(相较于解释性语言):执行效率高

缺点(相较于解释性语言):开发效率低(找bug非常复杂)

解释型语言(通过设备的翻译形式)

类似同声传译,说一句翻译一句,解释器语言的翻译器是通过编译型语言翻译出来的

x = 1

y = 2

print(x+y)

#逐行翻译,每行翻译结果

优点(相较于编译型语言):开发效率高

缺点(相较于编译型语言):执行效率低

动态语言和静态语言

数据类型,字符类型和数字类型可以相互转换的叫动态语言

网络的瓶颈效应

编程—》完成具体的事情—》帮人类干活

写一个应用程序(一定要联网)

程序一定要通过网络通信

网络通信的时间(假设1000s)远远大于执行程序的时间(假设1s)—》程序的执行效率没有必要考虑了—》(网络的应用程序)解释性语言

操作系统(单机操作应用程序)—》没有必要网络通信—》编译型语言

操作系统 1G内存

微内核 0.1内存+0.1G的网络通信 10G放到服务器—》可以在服务器存的功能也越来越多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
04-26
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
x86模拟器编程实践是指通过编写程序来模拟执行x86指令集的过程。x86指令集是一种常见的处理器指令集架构,被广泛应用于个人电脑和服务器等领域。 在进行x86模拟器编程实践时,我们首先需要了解x86指令集的基本知识。x86指令集包括一系列的指令,用于实现不同的操作,比如算术运算、数据传输、条件判断等。了解这些指令的特点和功能对于编写模拟器程序非常重要。 其次,我们需要选择合适的编程语言。常用的编程语言包括C、C++和Python等,它们都提供了丰富的库和工具,方便我们进行模拟器编程实践。选择合适的编程语言能够提高编程效率,并且能够更好地与底层硬件交互。 在编写模拟器程序时,我们可以使用虚拟机技术来模拟x86处理器的执行过程。虚拟机是一个软件实现的计算机系统,它可以在一个物理计算机上运行多个操作系统。通过使用虚拟机,我们可以在模拟器中运行x86指令,从而了解指令的具体执行过程。 在实践中,我们可以编写一个简单的x86模拟器,用于模拟特定的指令执行过程。我们可以通过读取和解析指令,模拟各种操作,如计算、内存读写、条件跳转等。通过不断的实践和测试,我们可以逐步完善模拟器的功能,并优化其性能。 总之,x86模拟器编程实践是一项重要的计算机系统基础技能。通过编写模拟器程序,我们可以深入了解x86指令集的执行过程,提高我们的编程能力,并为后续的系统开发和调试工作打下基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值