美文网首页
编程基础

编程基础

作者: 王鹏洋_19强化班 | 来源:发表于2019-11-13 20:00 被阅读0次

    # 编程基础

    ### 编程语言

    我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。

    编程语言有很多种,常用的有C语言、C++、Java、C#、Python、PHP、JavaScript、Go语言、Objective-C、Swift、汇编语言等

    这些具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。

    机器语言是电脑的CPU可直接解读的数据。机器码有时也被称为原生码(NativeCode),汇编语言指令地址寄存器,用助记符(Mnemonics)代替机器指令的操作码,高级语言相对于机器语言,是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据)而言。是高度封装了的编程语言。

    程序是在内存中运行的,所谓内存,就是我们常说的内存条。

    ### C与C ++

    C是面向过程,

    C++ 主要是在C语言的基础上增加了面向对象和泛型的机制,提高了开发效率,以适用于大中型软件的编写。C,C++ 代码都是通过同一个编译器来编译,很难说C++是一门独立的语言还是对C的扩展。

    ### 进制的转换

    #### 将十进制转换为二进制、八进制、十六进制

    整数部分:除 N 取余,逆序排列

    小数部分:乘 N 取整,顺序排列

    #### 将二进制、八进制、十六进制转换为十进制

    二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。

    假设当前数字是 N 进制,那么:

    对于整数部分,从右往左看,第 i 位的位权等于Ni-1

    对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N-j。

    ### 单位换算

    1Byte = 8 Bit

    1KB = 1024Byte = 2**10Byte

    1MB = 1024KB = 2**20Byte

    1GB = 1024MB = 2**30Byte

    1TB = 1024GB = 2**40Byte

    1PB = 1024TB = 2**50Byte

    1EB = 1024PB = 2**60Byte

    在内存中没有abc这样的字符,也没有gif、jpg这样的图片,只有0和1两个数字,计算机也只认识0和1。所以,计算机使用二进制,而不是我们熟悉的十进制,写入内存中的数据,都会被转换成0和1的组合。

    ### 软件的运行

    对于读写速度,内存 > 固态硬盘 > 机械硬盘。机械硬盘是靠电机带动盘片转动来读写数据的,而内存条通过电路来读写数据,电机的转速肯定没有电的传输速度(几乎是光速)快。虽然固态硬盘也是通过电路来读写数据,但是因为与内存的控制方式不一样,速度也不及内存。

    双击图标,操作系统就会知道你要运行这个软件,它会在硬盘中找到你安装的软件,将数据(安装的软件本质上就是很多数据的集合)复制到内存。CPU直接与内存打交道,它会读取内存中的数据进行处理,并将结果保存到内存。如果需要保存到硬盘,才会将内存中的数据复制到硬盘。

    例如,打开Word文档,输入一些文字,虽然我们看到的不一样了,但是硬盘中的文档没有改变,新增的文字暂时保存到了内存,Ctrl+S才会保存到硬盘。因为内存断电后会丢失数据,所以如果你编辑完Word文档忘记保存就关机了,那么你将永远无法找回这些内容。

    ### 虚拟内存

    操作系统(Operating System,简称 OS)为我们解决了这个问题:当程序运行需要的空间大于内存容量时,会将内存中暂时不用的数据再写回硬盘;需要这些数据时再从硬盘中读取,并将另外一部分不用的数据写入硬盘。这样,硬盘中就会有一部分空间用来存放内存中暂时不用的数据。这一部分空间就叫做虚拟内存(Virtual Memory)。

    硬盘与内存进行读取、写入的交互,内存与CPU进行读取、写入的交互。

    ASCII——编码专门针对英文的字符集

    ASCII 是“American Standard Code for Information Interchange”的缩写,翻译过来是“美国信息交换标准代码”。看这个名字就知道,这套编码是美国人给自己设计的。C语言有时候使用 ASCII 编码,有时候却不是

    标准 ASCII 编码共收录了 128 个字符,其中包含了 33 个控制字符(具有某些特殊功能但是无法显示的字符)和 95 个可显示字符。

    被称为统一码,万国码的Unicode于1994年正式公布第一个版本,现在容纳100多万个符号Unicode是一套字符集

    (字符集与字符码?)

    Unicode有三种编码

    UTF(Unicode transformation format Unicode 转换格式)

    UTF-8 一种变长的编码方案,使用1-6个字节来存储

    UTF-32 一种固定长度的编码方案,不管字符编号大小,始终以四个字节来存储

    UTF-16 介于utf-8 utf-32之间,使用2/4来存储

    以上三种,只有UTF8兼容ASCII

    相关文章

      网友评论

          本文标题:编程基础

          本文链接:https://www.haomeiwen.com/subject/jjhubctx.html