好文档 - 专业文书写作范文服务资料分享网站

从零开始学编程

天下 分享 时间: 加入收藏 我要投稿 点赞

从零开始学编程

一、编程基础

1、计算机基础

计算机核心是处理器,处理器是个拨一下转一下的电子设备。拨就是时钟信号驱动(晶振在供电条件下产生周期震荡的电脉冲即时钟),转是指内部状态变化。这个状态变化会触发外围设备的进一步变化。在人为的设计下,就呈现出不同的对外表现和功能。

2、处理器的功能

处理器的由指令寄存器和数据寄存器组成。指令寄存器中存的是指令,来个时钟触发,数据寄存器的状态就会根据指令不同而转变为不同的新状态。旧状态就是原数据,新状态就是处理结果。给外界的感觉就是处理器根据指令指示对原数据做处理,得到了运算结果.

如 指令为“加” 原数据寄存器1的状态为数字“3”的表示, 数据寄存器2的状态为数字“5”的表示,来个时钟后,原数据寄存器1的状态变为数字“8”的表示。

从效果上看:等效处理器执行了一次 3+5 = 8 的运算。

除了运算功能,处理器的指令需要依次更新为下一条指令,数据寄存器的状态需要能够存储才有意义。这些就是从内存或闪存(U盘用的存储芯片)中取指令,运算数据从内存中取再存到内存中。

内存中的数据可以被处理器改变,这种改变又会引起屏幕显示效果的改变或硬盘读写的发生或光驱的动作或声音的输出等。这就呈现除对人有意义的外在效果。

3、程序概念

程序就是一个行动指导书,一个电影剧本,一个计算公式,来指导处理器状态按计划有规律的进行变化,从而达到预期的效果。用计算机术语表达就是一系列指令,指导处理器有规律的运行.

4、程序分类

最原始的就是直接指导处理器运行的指令, 设计这样的指令序列并记录下来就形成了汇编语言, 汇编语言是用来指导一线工人如何一步步工作的.

汇编语言不方便做大工程, 将汇编语言进行抽象,汇总, 用新的抽象指令来代替一串汇编指令,这样的抽象指令也可组织乘一个指令序列,这就是高级语言 如“习语言”。

高级语言是指导公司、企业内各部门如何一步步协调工作完成公司目标的。

人是懒惰的,再偷些懒,就会希望能用自然语言来表达,让及其来适应人类语言,理解人类语言的意思而进行工作。这就是自然语言。 由于自然语言存在模糊和二义性,目前还没有实现,是未来的工作。

5、程序设计的相关过程

(1) 分析问题,构思处理过程 (2) 编写代码

(3) 解释执行 或 编译成目标代码后运行。

6、解释执行与编译执行的区别

解释就是拿原文件来直接解析后运行,每次运行都需要解析原文件。开发者保存的是源文件,给使用者使用的也是源文件。 解释执行不便于保护开发人员的劳动成果,同时一定要有解释器的存在才能运行。 如VB就是解释执行的语言.

编译执行是将代码通过编译转换为机器代码后再执行,开发者保存源代码,对使用者发布目标代码,

由于机器代码很难阅读分析。可保护开发者的劳动成果。如C、C++

另外还有一种介于两者之间, 先编译成中间代码,再对中间代码解释执行,配不同平台的解释器同样代码可在不同平台上运行。实现跨平台目的。节省开发者的劳动。 .

二、看例子来理解 1、汇编语言例子

假设处理器可以识别的指令为:取数据,存数据,加,减,乘,除 , 处理器有数据寄存器1、数据寄存器2

希望完成如下运算: 2 + 3 * 5 假设原始数据分别位于内存单元 甲:2 乙:3 丙:5

要求运算结果存在内存单元甲内:可设计汇编程序如下:

取内存单元乙内容 到 寄存器1 取内存单元丙内容 到 寄存器2

做乘运算 (假设结果保存在寄存器1中 ) 取内存单元甲内容 到 寄存器 2

做加运算 (假设结果保存在寄存器1中 ) 存寄存器1 中数据 到 内存单元甲中

这就是汇编程序,执行这段程序即可得到预期效果.

2、习语言例子

同样上面的运算,用习语言可以表达为:

整数类型 甲=2,乙=3, 丙=5; 甲 = 甲+乙*丙;

由以上可见,习语言表达比汇编语言精简,逻辑更清晰直观。

三、汇编语言

汇编语言是使用处理器的指令集直接对硬件进行编程的,不同的处理器有不同的指令集和编程模型,所用的汇编语言也不同。

汇编语言设计的活动依次有: 1、任务分析 或 构思 2、汇编语言实现

3、汇编,有报错的话则转步骤2修改。 4、连接,运行

5、结果是预期的吗?不是则调试分析。 6、结束

由于汇编语言和硬件紧密相关,复杂度比较高,不建议一般人员学习。故此处省略不做进一步说明。

四、习语言

习语言由预处理器、编译器、汇编器、连接器、调试器组成。

习语言源程序是纯文本文件,可以使用任何纯文本编辑器进行书写和编辑。也可以使用WPS进行编写,保存时保存为纯文本文件即可。

预处理器对源文件中的包含文件和宏进行解析处理,生成无预处理指令的习语言文件。然后由编译器进行编译,生成汇编代码。汇编器对汇编代码进行编译,生成目标代码文件,连接器将一个或多个目标代码文件与库文件进行连接,生成可执行文件。执行可执行文件,若碰到运行错误,可以使用调试器跟踪运行,分析软件存在的问题并解决。

汇编器、连接器、库文件和调试器通常都和特定的操作系统、特定的处理器相关,差别比较大。本文将主要关注源文件的编写方法。

习语言原文件由预处理指令、声明语句和函数体组成。

(一)、预处理指令

预处理指令以#开头。

1、习语言支持的预处理指令有:

#定义 xxx yyy :定义一个宏xxx 内容为yyy

#包含 “文件名” :包含另外一个文件的内容到本文件中 #如果 <表达式> :判断表达式,若为真,则执行后续语句 #或者 <表达式> :如果前面的判断为假,则判断本行的表达式,若为真则执行后续语句 #否则 :前面的判断都为假则执行本行后的语句 #如果结束 :标志如果判断语句块的结束 #取消定义 xxx :取消宏xxx 的定义 #如果已定义 xxx :如果宏xxx 在本行之前已定义,则执行后续语句 #如果未定义 xxx :如果宏 xxx 在本行之前未定义, 则执行后续语句

如果条件语句后面的表达式必须为预处理期间可以计算的常量逻辑表达式,可包含如下预处理函数: 已定义( xxx )

此预处理函数判断宏xxx 是否在本行之前已定义,已定义则返回真,否则返回假。

2、 语言支持的内置宏有: __文件名__ :内容为当前文件名 字符串表示 __行__ :内容为当前行 整数表示 __日期__ :内容为当前日期, 字符串表示 __时间__ :内容为当前时间, 字符串表示

3、包含文件搜索路径

“#包含”宏指令后跟的 “文件名” 可以有两种表示方法:

双引号将文件名括起来 “文件名” 或

尖括号将文件名括起来 <文件名>

双引号引起来的包含文件将首先在当前目录查找,若找不到,再搜索“包含文件路径”. 尖括号括起来的文件名则只在“包含文件路径”中搜索。

“包含文件路径”为系统环境变量,可以包含多个搜索目录,用分号(;)进行分割。

从零开始学编程

从零开始学编程一、编程基础1、计算机基础计算机核心是处理器,处理器是个拨一下转一下的电子设备。拨就是时钟信号驱动(晶振在供电条件下产生周期震荡的电脉冲即时钟),转是指内部状态变化。这个状态变化会触发外围设备的进一步变化。在人为的设计下,就呈现出不同的对外表现和功能。2、处理器的功能处理器
推荐度:
点击下载文档文档为doc格式
11n307bd1t55mbv23rb17u3cm9b9uy004ox
领取福利

微信扫码领取福利

微信扫码分享