易语言入门基础.docx
《易语言入门基础.docx》由会员分享,可在线阅读,更多相关《易语言入门基础.docx(124页珍藏版)》请在冰豆网上搜索。
![易语言入门基础.docx](https://file1.bdocx.com/fileroot1/2023-7/5/b20377c2-0898-412e-a1da-8f3c6dd3924e/b20377c2-0898-412e-a1da-8f3c6dd3924e1.gif)
易语言入门基础
第一课.计算机的一般知识
1.1电子计算机的发展及其基本结构
1.1.1电子计算机的发展史
1945年底,在美国首次研制成功人类第一台计算机,这台机器重30吨,占地面积达167平方米,加之它的工作原理,因此,人类后来的计算机并不是在这台机器的基础上发展起来的。
现代计算机理论的奠基人是图灵。
在美国数学家冯.诺伊曼的主持下,1949年诞生了第一台存储程序的计算机,又称第一代机,这台计算机为后来的计算机发展奠定了基础。
1959年,第一台晶体管计算机问世,由此,计算机进入了第二代。
1964年,IBM第一代360系列计算机问世,这是第一代通用计算机,为研制这种计算机,IBM投资50亿美元,比二战期间美国政府投入到原子弹研究的钱(20亿美元)还要多;由此,计算机进入了第三代。
进入到80年代以后,中大型计算机问世,于是开始了第四代计算机的时代。
70年代以后,出现了计算速度更快、存储量更大的巨型机。
70年代微处理器的问世,标志着计算机的发展开始了又一场革命。
1977年3月苹果公司的个人用计算机问世,自此,计算机开始进入千家万户。
1.1.2电子计算机的基本结构
计算机由硬件和软件组成。
而硬件是由主机和外部设备组成;软件由系统软件和应用软件组成。
计算机硬件是软件的基础,是软件发挥功能的工作环境,而软件则是管理和利用硬件资源来实现计算机的功能,软件和硬件是相互促进和发展的。
硬件大体上有以下几个部分:
控制器,运算器,内存储器(RAM、ROM),输入设备和输出设备。
前三者又合称主机,后两者又称作外部设备。
现在就这五个部分的功能,作一些简要说明。
1.输入设备。
输入设备是用来向主机输入原始数据和处理这些数据所使用的计算程序列的设备。
输入设备的种类很多,但在微型机上不外乎下列几种:
(1)终端键盘。
利用手指击键方法向计算机输入信息。
用户自己写的程序列化和准备处理的数据,都可由键盘上敲入。
(2)磁盘。
磁盘,实际上也是存储信息的,因为它们都是主机之外的设备,所以也称为外存储器。
外存储器上的信息,也可以输入到机器中去。
(3)模—数(A/D)转换器。
它可以将连续变化的模拟量(如电压、电流、长度、角度等)转换为数字量,送入到机器中去。
此外,图形输入板、声音输入装置等,实际上是专用的模数转换器,同样可以为计算机输入信息。
2.输出设备。
输出设备是用来输出计算结果或其它信息的。
常用的输出设备有:
(1)显示终端。
用以显示计算机的有关信息,占用户从键盘上敲入并为机器接收的字符、机器清单、机器向用户的提示,程序运行时的输绐(包括数字、文字或图形)等。
(2)打印机。
显示终端上可显示的东西几乎都可以由打印机打印到纸上。
(3)磁盘。
可以用来存储程序和数据(包括数字、文字、图形和声音信息等)。
3.主存储器,即内存储器(简称内存)。
它用来存放原始数据、处理这些数据的程序以及计算结果(包括中间结果,也包括图形和声音信息等)。
系统程序也存放在内存中。
内存储器分为一个个单元,好似一间间房子,并按顺序编了号码(从0号开始),通常又称为一个个地址。
机器中的所有信息都以一定的规则存放在内存的一个个单元中。
对任何一个单元来说,它很象从左到右顺序安放的一排灯泡,每个灯泡代表一位数字:
灯泡点亮代表1,灯泡熄灭代表0。
于是这一排灯泡就可表示由0和1 构成的一个数这排灯泡的个数,就称为位数或字长。
目前,一般微型计算机的内存储器是用半导体器件组成的电路制成的,称为半导体存储器。
字长,一般取决于微处理器的字长。
一般微型机的内存储器又分为两个部分。
一部分是随机存储器(RAM),每个单元的数据是可以改变的,而且关电以后所有信息都会自动消失。
这类存储器是用户可以使用的空间。
另外,还有一部分是只读存储器(ROM),每个单元一信息是固化的,用户只可读出使用,但无法使其改变。
任何时候,只要接通电源,这些信息就建立好了。
4.运算器。
运算器是计算机进行信息加工的场所,所有算术运算逻辑运算等都在这里进行。
就象用算盘算题时一样,它只能放当前被操作完的一个数据,中间结果一般配要送内存中保存起来,以备以后使用。
所以,没有内存,单靠运算器是无所作为的。
5.控制器。
它是用来实现计算机各部分协调动作使计算过程自动进行的装置。
也就是说,它是计算机内的指挥部。
控制器可以向计算机的其它部件发出信号,控制数据的传输与加工;同时,控制器也接收其它部件送来的信号,以便调整其控制功能。
所以,在计算机工作时,有两和种信息流:
控制流与数据测定流,由控制流控制数据的传输与加工,完成所有的计算动作。
这里介绍的运算器、控制器、内存储器、输入输出设备等,都是一些看得见、摸得着的“硬”东西,所以又称它们为“硬件”或“硬设备”。
相对地,那些在计算机工作过程中必不可少的数据以及对这些数据进行处理的控制命令等信息流都是摸不着的“软”东西,通常称之为“软件”或“软设备”。
易语言本身,属于软件的范畴。
1.2计算机中数的表示
日常生活中,我们非常习惯使用十进制计数法,可是在日常生活里我们也还会遇到一些另的进制,如二进制(两只为一从)、十二进制(十二英寸为一英尺,十二个月为一年)、十六进制(中国老秤十六两为一斤)、二十四进制(二十四小时为一天)和六十进制(六十分为一小时,六十秒为一分等)等等。
在计算机内部,则釆用二进制计数法。
为什么计算机要使用二进制计数法呢?
这是因为电气元件中两种状态最容易实现(如电路的通断、电位的高低等),也最为稳定,并且最容易实现对电路本身的控制。
在计算机里,一般以高电位代表1,低电位代表0。
二进制的两个数基,就用0和1来表示。
凡够2时,就向左进一位。
比如十进制的2,用10表示;十进制的4,用100表示等。
用逻辑电路实现二进制数的运算,是极为方便的。
用不同进位制表示的数之间,可以根据一定的规则相互转换。
1.2.1十六进制数、二进制数、八进制数
在计算机内部运算中常用的进位制有4种:
二进制:
逢2进1,由数字0和1组成,以下标2或后缀B表示。
八进制:
逢8进1,由数字0至7组成,以下标8或后缀Q表示。
十进制:
逢10进1,由数字0至8组成,以下标10后缀D表示,该后缀可以省略。
十六进制:
逢16进1,由数字0至8和字母A至F组成,以下标16或后缀H表示。
例如:
二进制数1001010表示为1001010(B)、八进制数234512表示为234512(Q)、十六进制数4523ADF表示为4523ADF(H),十进制数的后缀可以省略。
用不同进位制表示的数之间,可以根据一定的规则相互转换。
1.十六进制数、八进制数与二进制数之间的转换
一位十六进制数用四位二进制数表示,一位八进制数用3位二进制数表示。
二进制数转换为十六进制数时,以小数点位置为界,向两侧每四位分组,当两侧不足四位时补0。
例如:
101010.010101(B)=00101010.01010100(B)=2A.54(H)
二进制数转换为八进制数时,以小数点位置为界,向两侧每三位分组,当两侧不足三位时补0。
例如:
101010.010101(B)=101,010.010,101(B)=52.25(Q)
十六进制数转换为二进制数时,以小数点为界,每一位十六进制数转换为四位二进制数向两侧排列;八进制数转换为二进制数时,以小数点为界,每一位八进制数转换为三位二进制数向两侧排列。
1.2.2十进制数和二进制数之间的转换
把一个十进制数转换为二进制数,方法如下:
把这个十进制数反复地除以2,直到商为零,所得的余数(从末一位读起)就是这个数的二进制表示。
如十进制的11,反复用2除:
用二进制表示,是1011。
换句话说,把一个十进制数化成以2为底的指数形式,则它的系数(由高次到低次)就是其二进制表示的数。
像上面提到的十进制数11,换成以2为底的指数形式为:
11=1×23+0×22+1×21+1×20
把它的系数顺序排列起来,就是1011,这就是它的二进制表示。
反之,一个二进制数它的十进制表示,就可以用
1×23+0×22+1×21+1×20=11
换言之,将一个二进制数转换成十进制数的方法是:
将这个二进制数的最末一位乘以20,倒数第2位乘以21,……最后将各项相加即可。
1.2.3十进制数与十六进制数的转换
在计算机内,所有的数都是用二进制表示的(电位的高低表示1或0)。
然而,如果让人们对任何二进制数能象对十进制数那样一目了然,实在不是一件容易的事。
这一方面由于人们用二进制数终归没有用十进制数来得那么普遍与习惯;另一方面,用二进制表示一个数时,其位数较长(比如大于十进制63的数,用二进制表示至少要6位),且每位数只有0和1可资区别。
为此,人们引进了八进制和十六进制的表示方法。
必须指出,八进制或十六进制并不是机器中的某一位有八种状态或十六种状态,在机器内仍是以二进制为藉款础的(每一位只可有两种状态),只是为着输入或输出一个二进制数的方便,击机器内的二进钥数从右向左每三位分作一组,每组便可表示0-7的某个数,显然最右一组满8时要向左邻一组进1,于是这三位一组构成了八进制数。
类似地,把二进制数从右到左每四位分作一组,每组表示0-15中的某个数,这一组一组就构成了十六进则数。
目前用十六进制表示较为普遍。
可以想见,把两个四位连在一起可以用两个十六进制数表示,其数值范围可为十进制数的0到255,共256个数,选用它们来代表所有英文字符的内部编码(以便用二进制数代表字符)是足够使用了。
因此又把两个十六进制数作为一个基本单位,称作“字节”。
十六进制数的表示法,0-9仍沿用十进制中的0-9,接下去的六个数依次用A、B、C、D、E、F表示。
因此,十进制的0-16表示成二进制数和十六进制数。
如下表所示。
十进制表示
二进制表示
十六进制表示
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
十进制数和十六进制数之间的转换,类似于十进制数和二进制数之间的转换。
把一个十进制数反复地除以16,直到商为0,将所有余数(从末一个起)顺序排列起来,就是这个数的十六进制表示。
如,十进制的269
转换为十六进制数为10D,反之,把一个十六进制数的末位乘以160,倒数第二位乘以161…再将各项累加,所得的数就是那个十六进制数的十进制表示。
如:
10D=1×162+0×161+13×160=269
关于八进制数及其与十进制数之间的转换,不再叙述,请读者自己考虑。
1.3计算机语言
人们进行思维活动或人与人之间交流思想,要通过语言,计算机进行或人与计算机交流信息,也需要通过语言。
这就是计算机语言。
计算机语言是用来指明让计算机依次做些什么事情的,所以又称为程序设计语言,这种语言有其自身的特点和发展过程。
1.3.1机器语言
前文提到,计算机的指挥中心是控制器,且计算机中的数都是用二进制数表示的。
实际上,控制器也是用二进制数的0或1(即低电平、高电平)来实现其控制功能的。
原来,任何一种电子计算机,都是一套指令系统,由若干条指令组成,每条指令都可指挥计算机实现某些功能。
一条指令,通常由操作码和操作数两部分构成。
操作码由若干位二进制数组成,由于这若干位0和1(即低电位、高电位)的不同组合,因而能使计算机产生不同的。
操作数部分也是由若干位二进制数构成,它指明被操作的对象。
一般地,它可以是被操作数的本身,也可是被操作数在内存中存放的地址,甚至不指明操作数部分(有时是隐含的)。
如果操作数部分指明的是地址,不同类型的机器待,又可能只指明一个地址(被操作数地址)、或指明两个地址(两个操作数的地址,或一个被操作数地址,一个操作结果存放地址),或指明三个地址(被操作的两个数的地址和操作结果存放地址)等等,它们分别被称为一地址、二地址或三地址指令。
控制器每遇到一个操作码,就会产生不同高低电位的组合,控制机器作相应的动作。
地圵部分的不同高低电位组合,又会指向相应的被操作对象。
从而完成一条指令的功能。
一条条指令执行完结,运算就告结束。
由于指令的操作码会直接使机器产生相应动作,操作数部分会直接指向被操作对象,所以用一条条指令写成的机器语言程序,能为机器直接认识。
换之,机器语言是计算机能懂得的唯一语言。
用机器语言写的程序,在机器上运行时,速度是最快的。
值得说明的是,上述例子中,由七个连续单元中;十六进制数的20号单元中也得事先送入一个数;还有,结果存放的地圵也是用户指定的。
这就是说,内存中什么地方放程序,什么地方放被操作的数,什么地方放结果,得由用户自行分配。
短小的程序比较好办,长而复杂的程序,分配内存时得格外小心,以防止搞乱了。
显然,用机器语言编制计算程序,对用户来说有着很大的缺陷:
1.难写、难读、难修改;
2.由于每种机器的指令系统不一样,这种程序没有通用性;
3.需要人工分配内存。
1.3.2汇编语言
为着克服机器语言固有的缺陷,人们经过研究探讨,引进了一种汇编语言。
汇编语言实际抚是一种符号语言,它把人们难以记忆和辨认的操作码改用有意义的英文单词(或见长缩写)作为助记符来代替,而对操作数部分稍加改动,更易于理解。
然而,从机器语言到汇编语言是花了一定代价的。
因为计算机只认识机器语言,为了让计算机能认识汇编语言,最简单的办法是在机器内部编制一个对照表,像一本字典一样,对任何汇编符号都能从这个对照表中查到相应的机器语言的指令操作码。
进行这种对照查找,当然也得有一个用机器语言写的(以便机器能认识的)程序,即汇编程序。
机器在执行这个汇编程序时会把一条条汇编语言翻译成机器语言,从而又为机器所能认识。
可见,执行汇编程序得额外花费机器运行时间,汇编程序和对照表也要占用内存空间。
因而由机器语言改用汇编语言,是以降低机器运行速度和减小用户可用内存空间为代价的。
汇编语言可以克服机器语言的第一个缺陷,但其而缺陷却依然存在。
1.3.3算法语言
算法语言又称“高级语言”,它比较完满地解决了机器语言的所有缺陷,是程序设计语言的一大突破。
高级语言编写出的程序,称为源程序,而更是计算机不能直接认识的东西。
让计算机认识并能执行高级语言源程序,需要一个翻译和执行的过程,它比汇编程序功能要强得多。
我们通常用高级语言写好一个程序,让机器运行它,这种说法并不十分确切。
拿易语言写的程序来说,真正运行的并不是易语言的源程序,而是由易语言编译器将源程序编译后的机器码,从而完成了源程序所要做的一切。
然而它还是顺着易语言程序一句句执行的。
不同程序语句有不同方法和效果,所以我们以后还是说成运行(或执行)易语言源程序。
不言而喻,高级语言的优点是以降低运行速度和减小用户可用内存空间为代价的。
运行速度大约只及机器语言的数百分之一。
随着大规模集成电路技术的飞速发展,指令技术周期越来越短,存储器越来越便宜,这些代价也就显得不那么重要了。
当然,对某些程序来说,降低运行速度可能是致命性的,所以近年来不少应用程序釆用高级语言与机器语言相结合的办法,不是没有道理的。
以上提到的汇编程序、解释程序、编译程序以及操作系统、服务性程序、库程序等,一般称为系统程序;为解决特定问题而编写的程序,一般称为应用。
这些都是属于软件的范畴。
1.4习题
1.将下列二进制数转换成十进制数:
(1)101
(2)1100(3)11011001(4)101101100110
2.将下列十进制数转换成二进制数:
(1)26
(2)54(3)129(4)25560
3.把下列十进制数转换为十六进制数:
(1)15
(2)287(3)6438(4)39684
4.把下列十六进制数转换成十进制数:
(1)B
(2)1C(3)A93(4)FFFF
5.把下列二进制数转换为十六进制数:
(1)10100110
(2)11000110(3)1011001110(4)101001011111010
6.把下列十六进制数转换为二进制数:
(1)8F
(2)3A4(3)6D35(4)FFFF
第二课.易语言的基本概念
本节将向读者介绍什么是易语言,构成易语言程序有那些最基本的东西。
正象盖房子一样,这里仅仅是准备钢筋,水泥,砖,瓦,沙,石等材料。
同时在本章中我们还要介绍一些易语言常用的命令和常规的上机操作方法。
2.1易语言的特点
1.全可视化
一般的可视化编程语言,仅支持图形用户界面的可视化设计操作,而易语言除了支持此类可视化操作,还支持程序流程的即时可视化呈视,极大地减少了程序录入错误。
即:
用户在编写程序的过程中,可以即时看到当前程序的运行流程及路线,有助于培养编程思路,提高解决编程问题的能力。
2.全中文
作为一款由中国人自己开发的编程语言,易语言在中文处理方面有良好的支持。
用户在编写程序的过程中,可以不接触任何英文。
根本不懂英文的人使用中文编写代码也没有任何障碍。
(1)中文名称的快速录入。
易语言内置四种名称输入法:
首拼、全拼、双拼、英文。
三种拼音输入法均全面支持南方音。
使用这些输入法能够极大地提高中文代码的输入速度。
直接使用系统提供的输入法,如五笔字型、智能ABC、紫光拼音、自然码等,同样可以进行程序的输入。
(2)程序全部以中文方式显示,运算符号全部显示为对应的中文符号(≥≤≠≈×÷),日期时间以中文格式呈现(年月日时分秒),以便于中文用户理解、阅读程序。
(3)适合中国人的语言、思维习惯。
对其它计算机编程语言的学习,总会感到某种限制,首先是语言环境的限制,有很多专业的术语字面上很难理解它的含义,而以中文编写出的程序代码,符合中国人的语法习惯和逻辑思维,可以做到见文思义,更加适合中国人使用。
在以后复查程序时可以非常直观地分析;给其他人源代码学习时也会非常简单,相互交流变得更加容易。
易语言更提供了中文格式日期时间处理、汉字发音处理、全半角字符处理、人民币金额处理等功能支持。
3.全编译与跨平台
易语言拥有自己独立的高质量编译器,中文源代码被直接编译为目的机器的CPU指令,高效且不存在任何速度瓶颈和安全隐患。
易语言现已同时支持Windows和Linux程序开发,不再依赖特定的操作系统。
4.可扩充支持库
易语言由基本系统和运行支持库两部分组成,两者之间通过使用易语言自行定义的接口技术进行协作。
运行支持库内提供了易语言的所有语言要素,如:
命令、窗口和报表单元数据类型、普通数据类型、常量等等。
可以通过安装外部支持库来扩充易语言基本系统。
运行支持库还可以被随意增减、抽换或升级,基本系统对运行支持库提供了详细的版本控制。
本技术给用户带来的最大好处是:
(1)用户可以根据行业或自身需要定制易语言;
(2)由于运行支持库的不断增多、升级,易语言的功能将被迅速扩充;
(3)由于运行支持库可以仅包含声明而不包含实际的运行支持代码,并且可以随时被更新或抽换,这样可使人们通过国际互连网与服务器进行远程易语言交流(例如复杂型电子商务、远程控制等等)成为可能,这也是以后易语言互联网版本的发展方向。
5.数据库支持
易语言相对其它编程语言的优势还在于易语言拥有自己的易数据库,并且用中文命令操作易数据库,简单方便。
同时,易语言对外部数据库也有着非常好的支持,通过简单的组件和命令就可以实现易语言与各类数据库的连接,如Oracle、MySQL、SQLServer、Access等等。
6.OCX组件、类型库(TypeLib)、API与COM对象
易语言可直接在程序中引用多种现有编程资源,极大的扩充了易语言的功能,并可对这些英文资源进行汉化处理,从而能够保持全中文的特点,让用户不用学习英文也能充分使用这些英文资源。
7.与其它编程语言相互融合、互相补充
易语言支持当今先进的编程理念,例如面向对象编程、事件消息处理机制等,了解、学习和掌握易语言对掌握其它编程语言具有桥梁作用,同时,易语言可以和其它编程语言以标准Win32DLL方式互相调用,保障了多种编程语言协同开发的需要。
8.即时编译并自动规范语句格式的录入方式
在输入程序过程中,每条程序语句录入后,当光标离开该行,则对该行立即进行初步分析编译。
如果该行输入正确,则该行的拼音简写会变成对应的汉字变量名或组件名,并呈现统一的字体间距和格式,因此任何人所编写的任何程序其格式都完全一致,这对于应用程序的协作开发、交流和维护非常有利。
9.系统内置的自动名称管理器能够对用户所定义的各类名称进行跟踪管理
例如:
假设程序中现存在一个名为“刷新内容”的子程序,而且在很多地方都调用了该子程序。
现在用户根据需要想把该子程序更改为另外一个名称,在传统的编程语言中,用户更改子程序名称后,要搜寻整个应用程序,逐一找到使用了该子程序的地方,把名称相应地改变过来。
在易语言中,用户只需更改该子程序名称,程序中其它所有使用了该子程序的地方,其名称都将被自动更改过来。
10.贯穿全程的即时且全面的信息帮助
用户在进行任何操作的过程中,随时按F1帮助键,均能够在状态行上或提示夹中获得有关当前操作位置的详细相关信息。
例如:
用户将光标移动到某程序行上,然后按下F1键,马上就能够得到此程序行上所有命令的定义、参数、使用方法、所录属的支持库等信息。
2.2易语言程序的构成
下面对易程序的结构进行介绍。
首先你的易程序需要有一个显示界面,一般是使用一个窗口(也可以是控制台程序)作为启动画面,易语言中指定“_启动窗口”这个窗口是首先弹出的窗口,大家可以在这个窗口中放上其它的组件,以显示信息或美化程序界面。
窗口显示时会有一系列的触发事件,如“创建完毕”事件、“尺寸被改变”事件等,但可能大家没有用到这些事件,因此不会进行任何的动作,只是显示一个窗口。
若大家使用到了这些事件,就会形成事件子程序,这样就产生了子程序,而子程序是放在程序集中进行组织的,而每一个窗口对应一个程序集,大家也可以自己创建自己的程序集,程序集包含若干个子程序,子程序内输入程序代码。
而程序代码就是各种命令和方法。
为配合命令书写,需要有存放内容的变量,为方便引用,可以建立常量,自定义数据类型,甚至可以建立图片或声音资源供引用。
为了调用系统应用程序接口API,使用更多的功能,需要进行DLL声明。
这些操作可以在“程序面板”中完成。
为了重复利用程序资源,不必每次都重新写某段代码,除提供自定义子程序外,还提供易模块,供其它程序调用,也可以写标准动态链接库,供易语言及其他语言调用。
为了理解上述的程序结构,下面跟着本书写第一个易程序。
先从一个简单的例子说起。
假定某甲有人民币15元,某乙有人民币20.5元,求甲乙二人共有人民币多少元?
把这个问题写成易语言“Windows控制台程序”,可以是下面的样子:
计算机在执行这个程序时,先让“甲”取得值15,再让“乙”取得值20.5,然后让“和”取得“甲”与“乙”之和,即35.5;再把“和”的值显示出来。
例程中,几个数字,如15、20.5,几个中文,如甲、乙、和。
这些数字和中文,分别叫做常量和变量。
2.3易语言界面、菜单介绍以及上机操作
2.2.1易语言的界面
初次运行易语言后,首先会弹出对话框,询问创建何种类型的易程序。
如下图所示。
若打开易语言界面后未新建程序,也可以通过菜单“程序”→“新建”来创建新的易程序。
或点击窗口工具条中的新建按钮来新建易程序。
易语言启动对话框
易语言可创建以下6种程序:
1.Windows窗口程序:
是支持在Windows下弹出窗口及组件等标准WIN32位程序,也称易程序。
2.Windows控