版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、易語(yǔ)言教程-從入門(mén)到精通第一課計(jì)算機(jī)的一般知識(shí)1.1電子計(jì)算機(jī)的發(fā)展及其基本結(jié)構(gòu)1.1.1電子計(jì)算機(jī)的發(fā)展史1945年底,在美國(guó)首次研制成功人類(lèi)第一臺(tái)計(jì)算機(jī),這臺(tái)機(jī)器重30噸,占地面積達(dá)167平方米,加之它的工作原理,因此,人類(lèi)后來(lái)的計(jì)算機(jī)并不是在這臺(tái)機(jī)器的基礎(chǔ)上發(fā)展起來(lái)的。 現(xiàn)代計(jì)算機(jī)理論的奠基人是圖靈。在美國(guó)數(shù)學(xué)家馮諾伊曼的主持下,1949年誕生了第一臺(tái)存儲(chǔ)程序的計(jì)算機(jī),又稱(chēng)第一代機(jī),這臺(tái)計(jì)算機(jī)為后來(lái)的計(jì)算機(jī)發(fā)展奠定了基礎(chǔ)。1959年,第一臺(tái)晶體管計(jì)算機(jī)問(wèn)世,由此,計(jì)算機(jī)進(jìn)入了第二代。1964年,ibm第一代360系列計(jì)算機(jī)問(wèn)世,這是第一代通用計(jì)算機(jī),為研制這種計(jì)算機(jī),ibm投資50億美元
2、,比二戰(zhàn)期間美國(guó)政府投入到原子彈研究的錢(qián)(20億美元)還要多;由此,計(jì)算機(jī)進(jìn)入了第三代。進(jìn)入到80年代以后,中大型計(jì)算機(jī)問(wèn)世,于是開(kāi)始了第四代計(jì)算機(jī)的時(shí)代。70年代以后,出現(xiàn)了計(jì)算速度更快、存儲(chǔ)量更大的巨型機(jī)。 70年代微處理器的問(wèn)世,標(biāo)志著計(jì)算機(jī)的發(fā)展開(kāi)始了又一場(chǎng)革命。1977年3月蘋(píng)果公司的個(gè)人用計(jì)算機(jī)問(wèn)世,自此,計(jì)算機(jī)開(kāi)始進(jìn)入千家萬(wàn)戶(hù)。1.1.2電子計(jì)算機(jī)的基本結(jié)構(gòu)計(jì)算機(jī)由硬件和軟件組成。而硬件是由主機(jī)和外部設(shè)備組成;軟件由系統(tǒng)軟件和應(yīng)用軟件組成。計(jì)算機(jī)硬件是軟件的基礎(chǔ),是軟件發(fā)揮功能的工作環(huán)境,而軟件則是管理和利用硬件資源來(lái)實(shí)現(xiàn)計(jì)算機(jī)的功能,軟件和硬件是相互促進(jìn)和發(fā)展的。硬件大體上有以
3、下幾個(gè)部分:控制器,運(yùn)算器,內(nèi)存儲(chǔ)器(ram、rom),輸入設(shè)備和輸出設(shè)備。前三者又合稱(chēng)主機(jī),后兩者又稱(chēng)作外部設(shè)備。現(xiàn)在就這五個(gè)部分的功能,作一些簡(jiǎn)要說(shuō)明。1輸入設(shè)備。輸入設(shè)備是用來(lái)向主機(jī)輸入原始數(shù)據(jù)和處理這些數(shù)據(jù)所使用的計(jì)算程序列的設(shè)備。輸入設(shè)備的種類(lèi)很多,但在微型機(jī)上不外乎下列幾種:(1)終端鍵盤(pán)。利用手指擊鍵方法向計(jì)算機(jī)輸入信息。用戶(hù)自己寫(xiě)的程序列化和準(zhǔn)備處理的數(shù)據(jù),都可由鍵盤(pán)上敲入。(2)磁盤(pán)。磁盤(pán),實(shí)際上也是存儲(chǔ)信息的,因?yàn)樗鼈兌际侵鳈C(jī)之外的設(shè)備,所以也稱(chēng)為外存儲(chǔ)器。外存儲(chǔ)器上的信息,也可以輸入到機(jī)器中去。(3)模數(shù)(a/d)轉(zhuǎn)換器。它可以將連續(xù)變化的模擬量(如電壓、電流、長(zhǎng)度、角度
4、等)轉(zhuǎn)換為數(shù)字量,送入到機(jī)器中去。此外,圖形輸入板、聲音輸入裝置等,實(shí)際上是專(zhuān)用的模數(shù)轉(zhuǎn)換器,同樣可以為計(jì)算機(jī)輸入信息。2輸出設(shè)備。輸出設(shè)備是用來(lái)輸出計(jì)算結(jié)果或其它信息的。常用的輸出設(shè)備有:(1)顯示終端。用以顯示計(jì)算機(jī)的有關(guān)信息,占用戶(hù)從鍵盤(pán)上敲入并為機(jī)器接收的字符、機(jī)器清單、機(jī)器向用戶(hù)的提示,程序運(yùn)行時(shí)的輸紿(包括數(shù)字、文字或圖形)等。(2)打印機(jī)。顯示終端上可顯示的東西幾乎都可以由打印機(jī)打印到紙上。(3)磁盤(pán)??梢杂脕?lái)存儲(chǔ)程序和數(shù)據(jù)(包括數(shù)字、文字、圖形和聲音信息等)。3主存儲(chǔ)器,即內(nèi)存儲(chǔ)器(簡(jiǎn)稱(chēng)內(nèi)存)。它用來(lái)存放原始數(shù)據(jù)、處理這些數(shù)據(jù)的程序以及計(jì)算結(jié)果(包括中間結(jié)果,也包括圖形和聲音信
5、息等)。系統(tǒng)程序也存放在內(nèi)存中。內(nèi)存儲(chǔ)器分為一個(gè)個(gè)單元,好似一間間房子,并按順序編了號(hào)碼(從0號(hào)開(kāi)始),通常又稱(chēng)為一個(gè)個(gè)地址。機(jī)器中的所有信息都以一定的規(guī)則存放在內(nèi)存的一個(gè)個(gè)單元中。對(duì)任何一個(gè)單元來(lái)說(shuō),它很象從左到右順序安放的一排燈泡,每個(gè)燈泡代表一位數(shù)字:燈泡點(diǎn)亮代表1,燈泡熄滅代表0。于是這一排燈泡就可表示由0和1構(gòu)成的一個(gè)數(shù)這排燈泡的個(gè)數(shù),就稱(chēng)為位數(shù)或字長(zhǎng)。目前,一般微型計(jì)算機(jī)的內(nèi)存儲(chǔ)器是用半導(dǎo)體器件組成的電路制成的,稱(chēng)為半導(dǎo)體存儲(chǔ)器。字長(zhǎng),一般取決于微處理器的字長(zhǎng)。一般微型機(jī)的內(nèi)存儲(chǔ)器又分為兩個(gè)部分。一部分是隨機(jī)存儲(chǔ)器(ram),每個(gè)單元的數(shù)據(jù)是可以改變的,而且關(guān)電以后所有信息都會(huì)自動(dòng)
6、消失。這類(lèi)存儲(chǔ)器是用戶(hù)可以使用的空間。另外,還有一部分是只讀存儲(chǔ)器(rom),每個(gè)單元一信息是固化的,用戶(hù)只可讀出使用,但無(wú)法使其改變。任何時(shí)候,只要接通電源,這些信息就建立好了。4運(yùn)算器。運(yùn)算器是計(jì)算機(jī)進(jìn)行信息加工的場(chǎng)所,所有算術(shù)運(yùn)算邏輯運(yùn)算等都在這里進(jìn)行。就象用算盤(pán)算題時(shí)一樣,它只能放當(dāng)前被操作完的一個(gè)數(shù)據(jù),中間結(jié)果一般配要送內(nèi)存中保存起來(lái),以備以后使用。所以,沒(méi)有內(nèi)存,單靠運(yùn)算器是無(wú)所作為的。5控制器。它是用來(lái)實(shí)現(xiàn)計(jì)算機(jī)各部分協(xié)調(diào)動(dòng)作使計(jì)算過(guò)程自動(dòng)進(jìn)行的裝置。也就是說(shuō),它是計(jì)算機(jī)內(nèi)的指揮部。控制器可以向計(jì)算機(jī)的其它部件發(fā)出信號(hào),控制數(shù)據(jù)的傳輸與加工;同時(shí),控制器也接收其它部件送來(lái)的信號(hào),
7、以便調(diào)整其控制功能。所以,在計(jì)算機(jī)工作時(shí),有兩和種信息流:控制流與數(shù)據(jù)測(cè)定流,由控制流控制數(shù)據(jù)的傳輸與加工,完成所有的計(jì)算動(dòng)作。這里介紹的運(yùn)算器、控制器、內(nèi)存儲(chǔ)器、輸入輸出設(shè)備等,都是一些看得見(jiàn)、摸得著的“硬”東西,所以又稱(chēng)它們?yōu)椤坝布被颉坝苍O(shè)備”。相對(duì)地,那些在計(jì)算機(jī)工作過(guò)程中必不可少的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)進(jìn)行處理的控制命令等信息流都是摸不著的“軟”東西,通常稱(chēng)之為“軟件”或“軟設(shè)備”。易語(yǔ)言本身,屬于軟件的范疇。1.2計(jì)算機(jī)中數(shù)的表示日常生活中,我們非常習(xí)慣使用十進(jìn)制計(jì)數(shù)法,可是在日常生活里我們也還會(huì)遇到一些另的進(jìn)制,如二進(jìn)制(兩只為一從)、十二進(jìn)制(十二英寸為一英尺,十二個(gè)月為一年)、十
8、六進(jìn)制(中國(guó)老秤十六兩為一斤)、二十四進(jìn)制(二十四小時(shí)為一天)和六十進(jìn)制(六十分為一小時(shí),六十秒為一分等)等等。在計(jì)算機(jī)內(nèi)部,則釆用二進(jìn)制計(jì)數(shù)法。為什么計(jì)算機(jī)要使用二進(jìn)制計(jì)數(shù)法呢?這是因?yàn)殡姎庠袃煞N狀態(tài)最容易實(shí)現(xiàn)(如電路的通斷、電位的高低等),也最為穩(wěn)定,并且最容易實(shí)現(xiàn)對(duì)電路本身的控制。在計(jì)算機(jī)里,一般以高電位代表1,低電位代表0。二進(jìn)制的兩個(gè)數(shù)基,就用0和1來(lái)表示。凡夠2時(shí),就向左進(jìn)一位。比如十進(jìn)制的2,用10表示;十進(jìn)制的4,用100表示等。用邏輯電路實(shí)現(xiàn)二進(jìn)制數(shù)的運(yùn)算,是極為方便的。用不同進(jìn)位制表示的數(shù)之間,可以根據(jù)一定的規(guī)則相互轉(zhuǎn)換。1.2.1十六進(jìn)制數(shù)、二進(jìn)制數(shù)、八進(jìn)制數(shù)在計(jì)算機(jī)
9、內(nèi)部運(yùn)算中常用的進(jìn)位制有4種:二進(jìn)制:逢2進(jìn)1,由數(shù)字0和1組成,以下標(biāo)2或后綴b表示。八進(jìn)制:逢8進(jìn)1,由數(shù)字0至7組成,以下標(biāo)8或后綴q表示。十進(jìn)制:逢10進(jìn)1,由數(shù)字0至8組成,以下標(biāo)10后綴d表示,該后綴可以省略。十六進(jìn)制:逢16進(jìn)1,由數(shù)字0至8和字母a至f組成,以下標(biāo)16或后綴h表示。例如:二進(jìn)制數(shù)1001010表示為1001010(b)、八進(jìn)制數(shù)234512表示為234512(q)、十六進(jìn)制數(shù)4523adf表示為4523adf(h),十進(jìn)制數(shù)的后綴可以省略。用不同進(jìn)位制表示的數(shù)之間,可以根據(jù)一定的規(guī)則相互轉(zhuǎn)換。1十六進(jìn)制數(shù)、八進(jìn)制數(shù)與二進(jìn)制數(shù)之間的轉(zhuǎn)換一位十六進(jìn)制數(shù)用四位二進(jìn)制數(shù)
10、表示,一位八進(jìn)制數(shù)用3位二進(jìn)制數(shù)表示。二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)位置為界,向兩側(cè)每四位分組,當(dāng)兩側(cè)不足四位時(shí)補(bǔ)0。例如:101010.010101(b)0010 1010.0101 0100(b)2a.54(h)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)位置為界,向兩側(cè)每三位分組,當(dāng)兩側(cè)不足三位時(shí)補(bǔ)0。例如:101010.010101(b)101,010.010,101(b)52.25(q)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)為界,每一位十六進(jìn)制數(shù)轉(zhuǎn)換為四位二進(jìn)制數(shù)向兩側(cè)排列;八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)為界,每一位八進(jìn)制數(shù)轉(zhuǎn)換為三位二進(jìn)制數(shù)向兩側(cè)排列。1.2.2十進(jìn)制數(shù)和二進(jìn)制數(shù)之間
11、的轉(zhuǎn)換把一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),方法如下:把這個(gè)十進(jìn)制數(shù)反復(fù)地除以2,直到商為零,所得的余數(shù)(從末一位讀起)就是這個(gè)數(shù)的二進(jìn)制表示。如十進(jìn)制的11,反復(fù)用2除:用二進(jìn)制表示,是1011。換句話(huà)說(shuō),把一個(gè)十進(jìn)制數(shù)化成以2為底的指數(shù)形式,則它的系數(shù)(由高次到低次)就是其二進(jìn)制表示的數(shù)。像上面提到的十進(jìn)制數(shù)11,換成以2為底的指數(shù)形式為:11=123+022+121+120把它的系數(shù)順序排列起來(lái),就是1011,這就是它的二進(jìn)制表示。反之,一個(gè)二進(jìn)制數(shù)它的十進(jìn)制表示,就可以用 123+022+121+120 =11換言之,將一個(gè)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法是:將這個(gè)二進(jìn)制數(shù)的最末一位乘以20,倒數(shù)
12、第2位乘以21,最后將各項(xiàng)相加即可。1.2.3 十進(jìn)制數(shù)與十六進(jìn)制數(shù)的轉(zhuǎn)換在計(jì)算機(jī)內(nèi),所有的數(shù)都是用二進(jìn)制表示的(電位的高低表示1或0)。然而,如果讓人們對(duì)任何二進(jìn)制數(shù)能象對(duì)十進(jìn)制數(shù)那樣一目了然,實(shí)在不是一件容易的事。這一方面由于人們用二進(jìn)制數(shù)終歸沒(méi)有用十進(jìn)制數(shù)來(lái)得那么普遍與習(xí)慣;另一方面,用二進(jìn)制表示一個(gè)數(shù)時(shí),其位數(shù)較長(zhǎng)(比如大于十進(jìn)制63的數(shù),用二進(jìn)制表示至少要6位),且每位數(shù)只有0和1可資區(qū)別。為此,人們引進(jìn)了八進(jìn)制和十六進(jìn)制的表示方法。必須指出,八進(jìn)制或十六進(jìn)制并不是機(jī)器中的某一位有八種狀態(tài)或十六種狀態(tài),在機(jī)器內(nèi)仍是以二進(jìn)制為藉款礎(chǔ)的(每一位只可有兩種狀態(tài)),只是為著輸入或輸出一個(gè)二進(jìn)
13、制數(shù)的方便,擊機(jī)器內(nèi)的二進(jìn)鑰數(shù)從右向左每三位分作一組,每組便可表示0-7的某個(gè)數(shù),顯然最右一組滿(mǎn)8時(shí)要向左鄰一組進(jìn)1,于是這三位一組構(gòu)成了八進(jìn)制數(shù)。類(lèi)似地,把二進(jìn)制數(shù)從右到左每四位分作一組,每組表示0-15中的某個(gè)數(shù),這一組一組就構(gòu)成了十六進(jìn)則數(shù)。目前用十六進(jìn)制表示較為普遍??梢韵胍?jiàn),把兩個(gè)四位連在一起可以用兩個(gè)十六進(jìn)制數(shù)表示,其數(shù)值范圍可為十進(jìn)制數(shù)的0到255,共256個(gè)數(shù),選用它們來(lái)代表所有英文字符的內(nèi)部編碼 (以便用二進(jìn)制數(shù)代表字符)是足夠使用了。因此又把兩個(gè)十六進(jìn)制數(shù)作為一個(gè)基本單位,稱(chēng)作“字節(jié)”。十六進(jìn)制數(shù)的表示法,0-9仍沿用十進(jìn)制中的0-9,接下去的六個(gè)數(shù)依次用a、b、c、d、e
14、、f表示。因此,十進(jìn)制的0-16表示成二進(jìn)制數(shù)和十六進(jìn)制數(shù)。如下表所示。十進(jìn)制表示二進(jìn)制表示十六進(jìn)制表示01234567891011121314151601101110010111011110001001101010111100110111101111100000123456789abcdef10十進(jìn)制數(shù)和十六進(jìn)制數(shù)之間的轉(zhuǎn)換,類(lèi)似于十進(jìn)制數(shù)和二進(jìn)制數(shù)之間的轉(zhuǎn)換。把一個(gè)十進(jìn)制數(shù)反復(fù)地除以16,直到商為0,將所有余數(shù)(從末一個(gè)起)順序排列起來(lái),就是這個(gè)數(shù)的十六進(jìn)制表示。如,十進(jìn)制的269轉(zhuǎn)換為十六進(jìn)制數(shù)為10d,反之,把一個(gè)十六進(jìn)制數(shù)的末位乘以160,倒數(shù)第二位乘以161再將各項(xiàng)累加,所得的數(shù)就
15、是那個(gè)十六進(jìn)制數(shù)的十進(jìn)制表示。如:10d=1162+0161+13160=269關(guān)于八進(jìn)制數(shù)及其與十進(jìn)制數(shù)之間的轉(zhuǎn)換,不再敘述,請(qǐng)讀者自己考慮。1.3計(jì)算機(jī)語(yǔ)言 人們進(jìn)行思維活動(dòng)或人與人之間交流思想,要通過(guò)語(yǔ)言,計(jì)算機(jī)進(jìn)行或人與計(jì)算機(jī)交流信息,也需要通過(guò)語(yǔ)言。這就是計(jì)算機(jī)語(yǔ)言。計(jì)算機(jī)語(yǔ)言是用來(lái)指明讓計(jì)算機(jī)依次做些什么事情的,所以又稱(chēng)為程序設(shè)計(jì)語(yǔ)言,這種語(yǔ)言有其自身的特點(diǎn)和發(fā)展過(guò)程。1.3.1 機(jī)器語(yǔ)言前文提到,計(jì)算機(jī)的指揮中心是控制器,且計(jì)算機(jī)中的數(shù)都是用二進(jìn)制數(shù)表示的。實(shí)際上,控制器也是用二進(jìn)制數(shù)的0或1(即低電平、高電平)來(lái)實(shí)現(xiàn)其控制功能的。原來(lái),任何一種電子計(jì)算機(jī),都是一套指令系統(tǒng),由若
16、干條指令組成,每條指令都可指揮計(jì)算機(jī)實(shí)現(xiàn)某些功能。一條指令,通常由操作碼和操作數(shù)兩部分構(gòu)成。操作碼由若干位二進(jìn)制數(shù)組成,由于這若干位0和1(即低電位、高電位)的不同組合,因而能使計(jì)算機(jī)產(chǎn)生不同的。操作數(shù)部分也是由若干位二進(jìn)制數(shù)構(gòu)成,它指明被操作的對(duì)象。一般地,它可以是被操作數(shù)的本身,也可是被操作數(shù)在內(nèi)存中存放的地址,甚至不指明操作數(shù)部分(有時(shí)是隱含的)。如果操作數(shù)部分指明的是地址,不同類(lèi)型的機(jī)器待,又可能只指明一個(gè)地址(被操作數(shù)地址)、或指明兩個(gè)地址(兩個(gè)操作數(shù)的地址,或一個(gè)被操作數(shù)地址,一個(gè)操作結(jié)果存放地址),或指明三個(gè)地址(被操作的兩個(gè)數(shù)的地址和操作結(jié)果存放地址)等等,它們分別被稱(chēng)為一地址
17、、二地址或三地址指令??刂破髅坑龅揭粋€(gè)操作碼,就會(huì)產(chǎn)生不同高低電位的組合,控制機(jī)器作相應(yīng)的動(dòng)作。地圵部分的不同高低電位組合,又會(huì)指向相應(yīng)的被操作對(duì)象。從而完成一條指令的功能。一條條指令執(zhí)行完結(jié),運(yùn)算就告結(jié)束。由于指令的操作碼會(huì)直接使機(jī)器產(chǎn)生相應(yīng)動(dòng)作,操作數(shù)部分會(huì)直接指向被操作對(duì)象,所以用一條條指令寫(xiě)成的機(jī)器語(yǔ)言程序,能為機(jī)器直接認(rèn)識(shí)。換之,機(jī)器語(yǔ)言是計(jì)算機(jī)能懂得的唯一語(yǔ)言。用機(jī)器語(yǔ)言寫(xiě)的程序,在機(jī)器上運(yùn)行時(shí),速度是最快的。值得說(shuō)明的是,上述例子中,由七個(gè)連續(xù)單元中;十六進(jìn)制數(shù)的20號(hào)單元中也得事先送入一個(gè)數(shù);還有,結(jié)果存放的地圵也是用戶(hù)指定的。這就是說(shuō),內(nèi)存中什么地方放程序,什么地方放被操作的
18、數(shù),什么地方放結(jié)果,得由用戶(hù)自行分配。短小的程序比較好辦,長(zhǎng)而復(fù)雜的程序,分配內(nèi)存時(shí)得格外小心,以防止搞亂了。顯然,用機(jī)器語(yǔ)言編制計(jì)算程序,對(duì)用戶(hù)來(lái)說(shuō)有著很大的缺陷:1.難寫(xiě)、難讀、難修改;2.由于每種機(jī)器的指令系統(tǒng)不一樣,這種程序沒(méi)有通用性;3.需要人工分配內(nèi)存。1.3.2匯編語(yǔ)言為著克服機(jī)器語(yǔ)言固有的缺陷,人們經(jīng)過(guò)研究探討,引進(jìn)了一種匯編語(yǔ)言。匯編語(yǔ)言實(shí)際撫是一種符號(hào)語(yǔ)言,它把人們難以記憶和辨認(rèn)的操作碼改用有意義的英文單詞(或見(jiàn)長(zhǎng)縮寫(xiě))作為助記符來(lái)代替,而對(duì)操作數(shù)部分稍加改動(dòng),更易于理解。 然而,從機(jī)器語(yǔ)言到匯編語(yǔ)言是花了一定代價(jià)的。因?yàn)橛?jì)算機(jī)只認(rèn)識(shí)機(jī)器語(yǔ)言,為了讓計(jì)算機(jī)能認(rèn)識(shí)匯編語(yǔ)言,最
19、簡(jiǎn)單的辦法是在機(jī)器內(nèi)部編制一個(gè)對(duì)照表,像一本字典一樣,對(duì)任何匯編符號(hào)都能從這個(gè)對(duì)照表中查到相應(yīng)的機(jī)器語(yǔ)言的指令操作碼。進(jìn)行這種對(duì)照查找,當(dāng)然也得有一個(gè)用機(jī)器語(yǔ)言寫(xiě)的(以便機(jī)器能認(rèn)識(shí)的)程序,即匯編程序。機(jī)器在執(zhí)行這個(gè)匯編程序時(shí)會(huì)把一條條匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言,從而又為機(jī)器所能認(rèn)識(shí)??梢?jiàn),執(zhí)行匯編程序得額外花費(fèi)機(jī)器運(yùn)行時(shí)間,匯編程序和對(duì)照表也要占用內(nèi)存空間。因而由機(jī)器語(yǔ)言改用匯編語(yǔ)言,是以降低機(jī)器運(yùn)行速度和減小用戶(hù)可用內(nèi)存空間為代價(jià)的。匯編語(yǔ)言可以克服機(jī)器語(yǔ)言的第一個(gè)缺陷,但其而缺陷卻依然存在。1.3.3算法語(yǔ)言算法語(yǔ)言又稱(chēng)“高級(jí)語(yǔ)言”,它比較完滿(mǎn)地解決了機(jī)器語(yǔ)言的所有缺陷,是程序設(shè)計(jì)語(yǔ)言的一大
20、突破。高級(jí)語(yǔ)言編寫(xiě)出的程序,稱(chēng)為源程序,而更是計(jì)算機(jī)不能直接認(rèn)識(shí)的東西。讓計(jì)算機(jī)認(rèn)識(shí)并能執(zhí)行高級(jí)語(yǔ)言源程序,需要一個(gè)翻譯和執(zhí)行的過(guò)程,它比匯編程序功能要強(qiáng)得多。我們通常用高級(jí)語(yǔ)言寫(xiě)好一個(gè)程序,讓機(jī)器運(yùn)行它,這種說(shuō)法并不十分確切。拿易語(yǔ)言寫(xiě)的程序來(lái)說(shuō),真正運(yùn)行的并不是易語(yǔ)言的源程序,而是由易語(yǔ)言編譯器將源程序編譯后的機(jī)器碼,從而完成了源程序所要做的一切。然而它還是順著易語(yǔ)言程序一句句執(zhí)行的。不同程序語(yǔ)句有不同方法和效果,所以我們以后還是說(shuō)成運(yùn)行(或執(zhí)行)易語(yǔ)言源程序。不言而喻,高級(jí)語(yǔ)言的優(yōu)點(diǎn)是以降低運(yùn)行速度和減小用戶(hù)可用內(nèi)存空間為代價(jià)的。運(yùn)行速度大約只及機(jī)器語(yǔ)言的數(shù)百分之一。隨著大規(guī)模集成電路技
21、術(shù)的飛速發(fā)展,指令技術(shù)周期越來(lái)越短,存儲(chǔ)器越來(lái)越便宜,這些代價(jià)也就顯得不那么重要了。當(dāng)然,對(duì)某些程序來(lái)說(shuō),降低運(yùn)行速度可能是致命性的,所以近年來(lái)不少應(yīng)用程序釆用高級(jí)語(yǔ)言與機(jī)器語(yǔ)言相結(jié)合的辦法,不是沒(méi)有道理的。以上提到的匯編程序、解釋程序、編譯程序以及操作系統(tǒng)、服務(wù)性程序、庫(kù)程序等,一般稱(chēng)為系統(tǒng)程序;為解決特定問(wèn)題而編寫(xiě)的程序,一般稱(chēng)為應(yīng)用。這些都是屬于軟件的范疇。 1.4習(xí)題1.將下列二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù):(1)101 (2)1100 (3)11011001 (4)1011011001102.將下列十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):(1)26 (2)54 (3)129 (4)255603.把下列十進(jìn)制
22、數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù):(1)15 (2)287 (3)6438 (4)39684 4.把下列十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù):(1)b (2)1c (3)a93 (4)ffff5.把下列二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù):(1)10100110 (2)11000110 (3)1011001110 (4)1010010111110106.把下列十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù):(1)8f (2)3a4 (3)6d35 (4)ffff第二課易語(yǔ)言的基本概念 本節(jié)將向讀者介紹什么是易語(yǔ)言,構(gòu)成易語(yǔ)言程序有那些最基本的東西。正象蓋房子一樣,這里僅僅是準(zhǔn)備鋼筋,水泥,磚,瓦,沙,石等材料。同時(shí)在本章中我們還要介紹一些易語(yǔ)言常用的命
23、令和常規(guī)的上機(jī)操作方法。2.1易語(yǔ)言的特點(diǎn)1全可視化一般的可視化編程語(yǔ)言,僅支持圖形用戶(hù)界面的可視化設(shè)計(jì)操作,而易語(yǔ)言除了支持此類(lèi)可視化操作,還支持程序流程的即時(shí)可視化呈視,極大地減少了程序錄入錯(cuò)誤。即:用戶(hù)在編寫(xiě)程序的過(guò)程中,可以即時(shí)看到當(dāng)前程序的運(yùn)行流程及路線(xiàn),有助于培養(yǎng)編程思路,提高解決編程問(wèn)題的能力。2全中文作為一款由中國(guó)人自己開(kāi)發(fā)的編程語(yǔ)言,易語(yǔ)言在中文處理方面有良好的支持。用戶(hù)在編寫(xiě)程序的過(guò)程中,可以不接觸任何英文。根本不懂英文的人使用中文編寫(xiě)代碼也沒(méi)有任何障礙。(1)中文名稱(chēng)的快速錄入。易語(yǔ)言?xún)?nèi)置四種名稱(chēng)輸入法:首拼、全拼、雙拼、英文。三種拼音輸入法均全面支持南方音。使用這些輸入
24、法能夠極大地提高中文代碼的輸入速度。直接使用系統(tǒng)提供的輸入法,如五筆字型、智能abc、紫光拼音、自然碼等,同樣可以進(jìn)行程序的輸入。(2)程序全部以中文方式顯示,運(yùn)算符號(hào)全部顯示為對(duì)應(yīng)的中文符號(hào)(),日期時(shí)間以中文格式呈現(xiàn)(年月日時(shí)分秒),以便于中文用戶(hù)理解、閱讀程序。(3)適合中國(guó)人的語(yǔ)言、思維習(xí)慣。對(duì)其它計(jì)算機(jī)編程語(yǔ)言的學(xué)習(xí),總會(huì)感到某種限制,首先是語(yǔ)言環(huán)境的限制,有很多專(zhuān)業(yè)的術(shù)語(yǔ)字面上很難理解它的含義,而以中文編寫(xiě)出的程序代碼,符合中國(guó)人的語(yǔ)法習(xí)慣和邏輯思維,可以做到見(jiàn)文思義,更加適合中國(guó)人使用。在以后復(fù)查程序時(shí)可以非常直觀地分析;給其他人源代碼學(xué)習(xí)時(shí)也會(huì)非常簡(jiǎn)單,相互交流變得更加容易。易
25、語(yǔ)言更提供了中文格式日期時(shí)間處理、漢字發(fā)音處理、全半角字符處理、人民幣金額處理等功能支持。3全編譯與跨平臺(tái)易語(yǔ)言擁有自己獨(dú)立的高質(zhì)量編譯器,中文源代碼被直接編譯為目的機(jī)器的cpu指令,高效且不存在任何速度瓶頸和安全隱患。易語(yǔ)言現(xiàn)已同時(shí)支持windows和linux程序開(kāi)發(fā),不再依賴(lài)特定的操作系統(tǒng)。4可擴(kuò)充支持庫(kù)易語(yǔ)言由基本系統(tǒng)和運(yùn)行支持庫(kù)兩部分組成,兩者之間通過(guò)使用易語(yǔ)言自行定義的接口技術(shù)進(jìn)行協(xié)作。運(yùn)行支持庫(kù)內(nèi)提供了易語(yǔ)言的所有語(yǔ)言要素,如:命令、窗口和報(bào)表單元數(shù)據(jù)類(lèi)型、普通數(shù)據(jù)類(lèi)型、常量等等??梢酝ㄟ^(guò)安裝外部支持庫(kù)來(lái)擴(kuò)充易語(yǔ)言基本系統(tǒng)。運(yùn)行支持庫(kù)還可以被隨意增減、抽換或升級(jí),基本系統(tǒng)對(duì)運(yùn)行支
26、持庫(kù)提供了詳細(xì)的版本控制。本技術(shù)給用戶(hù)帶來(lái)的最大好處是:(1)用戶(hù)可以根據(jù)行業(yè)或自身需要定制易語(yǔ)言;(2)由于運(yùn)行支持庫(kù)的不斷增多、升級(jí),易語(yǔ)言的功能將被迅速擴(kuò)充;(3)由于運(yùn)行支持庫(kù)可以?xún)H包含聲明而不包含實(shí)際的運(yùn)行支持代碼,并且可以隨時(shí)被更新或抽換,這樣可使人們通過(guò)國(guó)際互連網(wǎng)與服務(wù)器進(jìn)行遠(yuǎn)程易語(yǔ)言交流(例如復(fù)雜型電子商務(wù)、遠(yuǎn)程控制等等)成為可能,這也是以后易語(yǔ)言互聯(lián)網(wǎng)版本的發(fā)展方向。5數(shù)據(jù)庫(kù)支持易語(yǔ)言相對(duì)其它編程語(yǔ)言的優(yōu)勢(shì)還在于易語(yǔ)言擁有自己的易數(shù)據(jù)庫(kù),并且用中文命令操作易數(shù)據(jù)庫(kù),簡(jiǎn)單方便。同時(shí),易語(yǔ)言對(duì)外部數(shù)據(jù)庫(kù)也有著非常好的支持,通過(guò)簡(jiǎn)單的組件和命令就可以實(shí)現(xiàn)易語(yǔ)言與各類(lèi)數(shù)據(jù)庫(kù)的連接,如
27、oracle、mysql、sql server、access等等。6ocx組件、類(lèi)型庫(kù)(typelib)、api與com對(duì)象易語(yǔ)言可直接在程序中引用多種現(xiàn)有編程資源,極大的擴(kuò)充了易語(yǔ)言的功能,并可對(duì)這些英文資源進(jìn)行漢化處理,從而能夠保持全中文的特點(diǎn),讓用戶(hù)不用學(xué)習(xí)英文也能充分使用這些英文資源。7與其它編程語(yǔ)言相互融合、互相補(bǔ)充易語(yǔ)言支持當(dāng)今先進(jìn)的編程理念,例如面向?qū)ο缶幊?、事件消息處理機(jī)制等,了解、學(xué)習(xí)和掌握易語(yǔ)言對(duì)掌握其它編程語(yǔ)言具有橋梁作用,同時(shí),易語(yǔ)言可以和其它編程語(yǔ)言以標(biāo)準(zhǔn)win32 dll方式互相調(diào)用,保障了多種編程語(yǔ)言協(xié)同開(kāi)發(fā)的需要。8即時(shí)編譯并自動(dòng)規(guī)范語(yǔ)句格式的錄入方式在輸入程序
28、過(guò)程中,每條程序語(yǔ)句錄入后,當(dāng)光標(biāo)離開(kāi)該行,則對(duì)該行立即進(jìn)行初步分析編譯。如果該行輸入正確,則該行的拼音簡(jiǎn)寫(xiě)會(huì)變成對(duì)應(yīng)的漢字變量名或組件名,并呈現(xiàn)統(tǒng)一的字體間距和格式,因此任何人所編寫(xiě)的任何程序其格式都完全一致,這對(duì)于應(yīng)用程序的協(xié)作開(kāi)發(fā)、交流和維護(hù)非常有利。9系統(tǒng)內(nèi)置的自動(dòng)名稱(chēng)管理器能夠?qū)τ脩?hù)所定義的各類(lèi)名稱(chēng)進(jìn)行跟蹤管理例如:假設(shè)程序中現(xiàn)存在一個(gè)名為“刷新內(nèi)容”的子程序,而且在很多地方都調(diào)用了該子程序?,F(xiàn)在用戶(hù)根據(jù)需要想把該子程序更改為另外一個(gè)名稱(chēng),在傳統(tǒng)的編程語(yǔ)言中,用戶(hù)更改子程序名稱(chēng)后,要搜尋整個(gè)應(yīng)用程序,逐一找到使用了該子程序的地方,把名稱(chēng)相應(yīng)地改變過(guò)來(lái)。在易語(yǔ)言中,用戶(hù)只需更改該子程序
29、名稱(chēng),程序中其它所有使用了該子程序的地方,其名稱(chēng)都將被自動(dòng)更改過(guò)來(lái)。10貫穿全程的即時(shí)且全面的信息幫助用戶(hù)在進(jìn)行任何操作的過(guò)程中,隨時(shí)按f1幫助鍵,均能夠在狀態(tài)行上或提示夾中獲得有關(guān)當(dāng)前操作位置的詳細(xì)相關(guān)信息。例如:用戶(hù)將光標(biāo)移動(dòng)到某程序行上,然后按下f1鍵,馬上就能夠得到此程序行上所有命令的定義、參數(shù)、使用方法、所錄屬的支持庫(kù)等信息。2.2易語(yǔ)言程序的構(gòu)成下面對(duì)易程序的結(jié)構(gòu)進(jìn)行介紹。首先你的易程序需要有一個(gè)顯示界面,一般是使用一個(gè)窗口(也可以是控制臺(tái)程序)作為啟動(dòng)畫(huà)面,易語(yǔ)言中指定“_啟動(dòng)窗口”這個(gè)窗口是首先彈出的窗口,大家可以在這個(gè)窗口中放上其它的組件,以顯示信息或美化程序界面。窗口顯示時(shí)
30、會(huì)有一系列的觸發(fā)事件,如“創(chuàng)建完畢”事件、“尺寸被改變”事件等,但可能大家沒(méi)有用到這些事件,因此不會(huì)進(jìn)行任何的動(dòng)作,只是顯示一個(gè)窗口。若大家使用到了這些事件,就會(huì)形成事件子程序,這樣就產(chǎn)生了子程序,而子程序是放在程序集中進(jìn)行組織的,而每一個(gè)窗口對(duì)應(yīng)一個(gè)程序集,大家也可以自己創(chuàng)建自己的程序集,程序集包含若干個(gè)子程序,子程序內(nèi)輸入程序代碼。而程序代碼就是各種命令和方法。 為配合命令書(shū)寫(xiě),需要有存放內(nèi)容的變量,為方便引用,可以建立常量,自定義數(shù)據(jù)類(lèi)型,甚至可以建立圖片或聲音資源供引用。為了調(diào)用系統(tǒng)應(yīng)用程序接口api,使用更多的功能,需要進(jìn)行dll聲明。這些操作可以在“程序面板”中完成。為了重復(fù)利用程
31、序資源,不必每次都重新寫(xiě)某段代碼,除提供自定義子程序外,還提供易模塊,供其它程序調(diào)用,也可以寫(xiě)標(biāo)準(zhǔn)動(dòng)態(tài)鏈接庫(kù),供易語(yǔ)言及其他語(yǔ)言調(diào)用。為了理解上述的程序結(jié)構(gòu),下面跟著本書(shū)寫(xiě)第一個(gè)易程序。先從一個(gè)簡(jiǎn)單的例子說(shuō)起。假定某甲有人民幣15元,某乙有人民幣20.5元,求甲乙二人共有人民幣多少元?把這個(gè)問(wèn)題寫(xiě)成易語(yǔ)言“windows控制臺(tái)程序”,可以是下面的樣子:計(jì)算機(jī)在執(zhí)行這個(gè)程序時(shí),先讓“甲”取得值15,再讓“乙”取得值20.5,然后讓“和”取得“甲”與“乙”之和,即35.5;再把“和”的值顯示出來(lái)。例程中,幾個(gè)數(shù)字,如15、20.5,幾個(gè)中文,如甲、乙、和。這些數(shù)字和中文,分別叫做常量和變量。2.3
32、易語(yǔ)言界面、菜單介紹以及上機(jī)操作2.2.1易語(yǔ)言的界面初次運(yùn)行易語(yǔ)言后,首先會(huì)彈出對(duì)話(huà)框,詢(xún)問(wèn)創(chuàng)建何種類(lèi)型的易程序。如下圖所示。若打開(kāi)易語(yǔ)言界面后未新建程序,也可以通過(guò)菜單“程序”“新建”來(lái)創(chuàng)建新的易程序?;螯c(diǎn)擊窗口工具條中的新建按鈕來(lái)新建易程序。 易語(yǔ)言啟動(dòng)對(duì)話(huà)框易語(yǔ)言可創(chuàng)建以下6種程序:1windows窗口程序:是支持在windows下彈出窗口及組件等標(biāo)準(zhǔn)win32位程序,也稱(chēng)易程序。2windows控制臺(tái)程序:是win32位無(wú)窗口界面的易程序。一般用于服務(wù)器等。3windows動(dòng)態(tài)鏈接庫(kù):可以生成dll程序,將在本書(shū)關(guān)于dll章節(jié)中介紹。4windows易語(yǔ)言模塊:簡(jiǎn)稱(chēng)易模塊,是經(jīng)過(guò)初步
33、編譯后的程序模塊,供其他程序重復(fù)調(diào)用,將在本書(shū)關(guān)于模塊章節(jié)中介紹。5linux控制臺(tái)程序:是支持linux操作系統(tǒng)的無(wú)窗口命令行程序,將在本書(shū)關(guān)于linux程序章節(jié)中介紹。6linux易語(yǔ)言模塊:是支持linux操作系統(tǒng)且經(jīng)過(guò)初步編譯后的程序模塊。選擇“windows窗口程序”,點(diǎn)擊“確定”按鈕,就會(huì)創(chuàng)建一個(gè)相應(yīng)的標(biāo)準(zhǔn)的windows窗口程序,并可以看到易語(yǔ)言的主界面。易語(yǔ)言主界面的最上方是標(biāo)題欄,顯示易語(yǔ)言系統(tǒng)當(dāng)前打開(kāi)的程序名稱(chēng),當(dāng)前所支持的操作系統(tǒng),以及當(dāng)前設(shè)計(jì)窗口名稱(chēng)。標(biāo)題欄下方是菜單欄,有易語(yǔ)言的常用菜單。菜單欄下方是快捷命令按鈕工具條,一些常用的操作都可以通過(guò)點(diǎn)擊這些工具條中的按鈕實(shí)
34、現(xiàn)。主界面的左邊是易語(yǔ)言的工作夾,其中有3個(gè)面板,分別是“支持庫(kù)面板”、“程序面板”和“屬性面板”?!爸С謳?kù)面板”的作用是:顯示支持庫(kù)列表,展開(kāi)查看各支持庫(kù)提供的命令、數(shù)據(jù)類(lèi)型等信息。在程序編輯狀態(tài)下,可以通過(guò)雙擊此面板中的某個(gè)命令,將其直接填充到光標(biāo)處。若有窗口組件的方法也可以在這個(gè)列表中查看方法的用處。將光標(biāo)移至某支持庫(kù)根部,按下f1后可查看此支持庫(kù)的介紹信息。“程序面板”的作用是:相當(dāng)于一個(gè)組織機(jī)構(gòu),可以添加窗口,或加載全局變量、常量、資源、dll命令申明、自定義數(shù)據(jù)類(lèi)型等。也可用來(lái)在程序各操作界面間進(jìn)行切換,例如可以直接找到某個(gè)創(chuàng)建的窗口中,或快速找到某個(gè)子程序,“屬性面板”的作用是:
35、屬性表可查看和更改已添加組件的屬性、組件列表列出所有組件并可快速選擇所需組件,事件列表可生成此組件的事件子程序。最右邊是易語(yǔ)言的組件箱,里面列出了易語(yǔ)言提供的所有組件。分為四欄,“基本組件”欄可顯示易語(yǔ)言最基本常用的組件,即核心支持庫(kù)內(nèi)的組件,在本書(shū)基本組件章節(jié)中進(jìn)行介紹?!皵U(kuò)展組件”包含擴(kuò)展支持庫(kù)內(nèi)的組件,在本書(shū)的后面有一些介紹?!巴獠拷M件”包含com包裝支持庫(kù)所封裝的activex組件,此組件也稱(chēng)ocx組件?!巴獠渴录M件”包含com包裝支持庫(kù)所封裝的com事件組件。主界面中間是設(shè)計(jì)區(qū),在窗口設(shè)計(jì)時(shí)可自由向窗口中添加組件,進(jìn)行程序界面設(shè)計(jì);在程序代碼編輯狀態(tài)下可錄入、修改程序代碼。切換這兩
36、個(gè)工作狀態(tài)可通過(guò)“窗口”菜單或“程序面板”等實(shí)現(xiàn)。最下方是易語(yǔ)言的狀態(tài)夾,可以查看幫助信息,查看調(diào)試文本等等。易語(yǔ)言系統(tǒng)界面如下圖所示。 易語(yǔ)言主界面2.2.2菜單項(xiàng)目詳解下面以易語(yǔ)言默認(rèn)創(chuàng)建的“windows窗口程序”介紹各菜單項(xiàng)目的功能。首先說(shuō)明的是,菜單欄中各項(xiàng)目名稱(chēng)以及子項(xiàng)目菜單名稱(chēng)前面帶有下劃線(xiàn)的字母是此項(xiàng)菜單的快捷鍵。只要項(xiàng)目上的文字未變灰,就可使用此項(xiàng)菜單的功能。其使用方法是:點(diǎn)擊鍵盤(pán)上的alt鍵,易語(yǔ)言系統(tǒng)菜單欄中的第一個(gè)項(xiàng)“程序”被選中;點(diǎn)擊菜單欄中任意一項(xiàng)名稱(chēng)前面的字母對(duì)應(yīng)的鍵盤(pán)上的按鍵,此項(xiàng)菜單被彈出;最后點(diǎn)擊子項(xiàng)目名稱(chēng)前面的字母,即可實(shí)現(xiàn)菜單功能。而子項(xiàng)目菜單名稱(chēng)后面的
37、提示是此項(xiàng)功能的快捷方式,比起快捷鍵來(lái)說(shuō),使用更方便快捷。如:ctrl + c鍵 的功能是將所選內(nèi)容復(fù)制到系統(tǒng)粘貼板中,方法就是同時(shí)按下鍵盤(pán)上的兩個(gè)鍵或先按下ctrl鍵然后再按下c鍵,而不需要彈出菜單。在實(shí)際操作中,快捷鍵和組合鍵的使用會(huì)大大提高菜單功能的實(shí)現(xiàn)速度,減少鼠標(biāo)的重復(fù)動(dòng)作。1程序此菜單的功能是對(duì)程序文件項(xiàng)目的操作。 (1)新建:建立新程序。彈出標(biāo)題為“新建:”的對(duì)話(huà)框,選擇創(chuàng)建不同類(lèi)型的程序。前面已經(jīng)介紹過(guò),這里就不多講了。(2)打開(kāi):打開(kāi)一個(gè)現(xiàn)有程序。彈出標(biāo)題為“請(qǐng)選擇易程序文件:”的打開(kāi)文件對(duì)話(huà)框,選擇后綴為“*.e”的程序文件。(3)關(guān)閉:關(guān)閉當(dāng)前程序。關(guān)閉后“易語(yǔ)言”的程序
38、設(shè)計(jì)窗口將被置空。(4)保存:保存當(dāng)前程序。新建程序沒(méi)有保存過(guò),將彈出“保存為:”對(duì)話(huà)框,提示編輯者選擇程序的保存位置和程序的名稱(chēng),以后此程序?qū)⒛J(rèn)這個(gè)保存位置,不會(huì)再?gòu)棾鎏崾?。?)另存為:將當(dāng)前程序以一個(gè)新文件名保存。將彈出“另存為:”對(duì)話(huà)框,提示編輯者選擇程序的新的保存位置或輸入程序的新的名稱(chēng)進(jìn)行保存,同時(shí)將位置指向新保存的程序。(6)打?。捍蛴‘?dāng)前編輯窗口中的源程序。使用打印機(jī)打印當(dāng)前窗口中的源代碼。(7)配置:配置本程序的環(huán)境及作者信息。彈出“程序配置對(duì)話(huà)框”設(shè)置程序信息。該對(duì)話(huà)框可以將程序名稱(chēng)、程序備注、作者信息等信息保存在生成后的exe文件中,當(dāng)查看此exe文件的屬性時(shí),這些信息
39、會(huì)顯示出來(lái)。并且可以在這里為自己的程序設(shè)置圖標(biāo)。(8)最近打開(kāi)的程序,可用鼠標(biāo)左鍵單擊打開(kāi)被選擇程序,同時(shí)原有程序被關(guān)閉。 (9)退出:退出系統(tǒng);提示保存文檔。 被更改過(guò)或末被保存過(guò)的程序,將彈出信息框提示編輯者保存程序,然后退出系統(tǒng)。2編輯此菜單中的項(xiàng)目可完成程序代碼的即時(shí)編輯功能,多在代碼設(shè)計(jì)區(qū)被選中時(shí)有效。(1)撤消:撤消最后一步操作。一步一步撤消自創(chuàng)建或打開(kāi)程序后對(duì)程序的修改。(2)重復(fù):重新執(zhí)行先前已撤消的操作。一步一步還原自程序被創(chuàng)建或打開(kāi)后的撤消的操作。(3)復(fù)制:復(fù)制被選塊并將其置于粘貼板上。復(fù)制被選中代碼或窗體、窗體組件到粘貼板,其原有內(nèi)容不會(huì)改變。(4)剪切:剪切被選塊并將
40、其置于粘貼板上。相當(dāng)于將被選中代碼或窗體、窗體組件移動(dòng)到粘貼板中,其原有內(nèi)容被刪除。(5)粘貼:插入粘貼板內(nèi)容。將粘貼板的內(nèi)容插到程序中。其內(nèi)容是程序代碼,需要在代碼設(shè)計(jì)區(qū)中進(jìn)行插入;內(nèi)容是窗體組件,需要選中窗體才能插入;如果是窗體,只需激活易語(yǔ)言系統(tǒng),便可以將窗體插入到程序中。(6)刪除行:刪除當(dāng)前所選擇的塊或光標(biāo)當(dāng)前所在的行。(7)開(kāi)始尋找:開(kāi)始在程序中尋找指定文本。彈出“尋找對(duì)話(huà)框”,請(qǐng)求輸入被尋找的文本。其尋找范圍為當(dāng)前程序集。(8)尋找下一個(gè):在程序中尋找下一個(gè)指定文本。以光標(biāo)或已尋找到的文本為界,向代碼下方尋找。其尋找范圍為當(dāng)前程序集。(9)尋找上一個(gè):在程序中尋找上一個(gè)指定文本。
41、以光標(biāo)或已尋找到的文本為界,向代碼上方尋找。其尋找范圍為當(dāng)前程序集。(10)尋找替換:在程序中尋找替換指定的文本。彈出“尋找替換對(duì)話(huà)框”,提示輸入被替換和替換成的文本。以光標(biāo)或已尋找到的文本為界,向下尋找或替換文本,也可以將當(dāng)前程序集中所有找到的指定文本進(jìn)行替換。(11)整體搜尋:在程序中尋找指定文本并列出所有找到的項(xiàng)目。在全局中尋找指定文本,包括常量數(shù)據(jù)表、數(shù)據(jù)類(lèi)型表等所有在代碼設(shè)計(jì)區(qū)中以文本形式存在的指定項(xiàng)目。注:以上5項(xiàng)功能遇到收縮的子程序時(shí)將跳過(guò),不進(jìn)入其內(nèi)部尋找,忽略其中包括的指定文本。(12)收縮:將當(dāng)前子程序或塊內(nèi)的所有語(yǔ)句收縮顯示。(13)展開(kāi)子程序:將當(dāng)前選中塊內(nèi)的所有被收縮
42、子程序展開(kāi)顯示。(14)屏蔽:屏蔽當(dāng)前所選中的代碼塊。把所選代碼行或代碼段設(shè)置為草稿,在調(diào)試和運(yùn)行程序時(shí)不被執(zhí)行。(15)解除屏蔽:解除屏蔽當(dāng)前所選中的代碼塊。把草稿行或被屏蔽的代碼設(shè)置為可執(zhí)行代碼。(16)導(dǎo)入其它程序:將其它易程序中的內(nèi)容全部導(dǎo)入到本程序中。打開(kāi)標(biāo)題為“請(qǐng)選擇易程序文件”對(duì)話(huà)框,選擇程序文件插入到當(dāng)前程序中。被導(dǎo)入程序的“_啟動(dòng)窗口”以及其它與當(dāng)前程序重復(fù)的程序集名稱(chēng)、窗口名稱(chēng)后面將按順序被加入數(shù)字加以區(qū)別。(17)置為只讀狀態(tài):設(shè)置為只讀狀態(tài)后將不允許所有修改操作的發(fā)生。 (18)(19)添加一個(gè)新的流程控制命令,并將被選擇代碼塊放到此命令中。要使菜單功能有效,選擇代碼塊
43、的方法是:選擇兩行或兩行以上的單行代碼;選擇一個(gè)或多個(gè)分支流程控制命令,必須把流程線(xiàn)外的一行選中,如下圖。其它選中方法無(wú)法實(shí)現(xiàn)。 (20)(21)把選中的流程控制命令轉(zhuǎn)換為別的流程控制命令,它們之間可以互相轉(zhuǎn)換。但要注意的是,在轉(zhuǎn)換過(guò)程中,原來(lái)的程序流向有可能發(fā)生改變。3查看顯示各功能工具和程序相關(guān)資源定義表。(1)查看自定義數(shù)據(jù)類(lèi)型表(2)查看全局變量表(3)查看dll命令定義表(4)查看常量數(shù)據(jù)表以上四項(xiàng)菜單的功能相同,都是將所選窗口放置到設(shè)計(jì)區(qū)的頂層。它們與工作夾中程序面板中的各項(xiàng)相互對(duì)應(yīng)。(5)預(yù)覽現(xiàn)行窗口,按esc鍵退出預(yù)覽程序不能在此窗口中進(jìn)行調(diào)試。 (6)在易語(yǔ)言界面上顯示和隱藏
44、各功能工具。(7)與工作夾中程序面板中的相對(duì)項(xiàng)目功能相同。4插入將所選項(xiàng)目自動(dòng)插入到對(duì)應(yīng)的設(shè)計(jì)區(qū)中,由編輯者按系統(tǒng)給定的格式填寫(xiě)代碼。(1)根據(jù)現(xiàn)行編輯窗口的性質(zhì)插入一個(gè)新子程序/數(shù)據(jù)類(lèi)型/全局變量/dll命令/常量/資源到當(dāng)前位置。(2)插入一個(gè)新類(lèi)模塊。(3)插入一個(gè)新程序集。(4)插入一個(gè)新的子程序到當(dāng)前位置的后面。(5)插入一個(gè)新窗口。(6)插入一個(gè)新的自定義數(shù)據(jù)類(lèi)型到數(shù)據(jù)類(lèi)型表。(7)插入一個(gè)新的全局變量到全局變量表。(8)插入一個(gè)新的dll命令到dll命令表。(9)插入一個(gè)新的常量到常量數(shù)據(jù)表。(10)插入一個(gè)新參數(shù)到程序中當(dāng)前命令或子程序調(diào)用的參數(shù)表。(11)插入一個(gè)新局部變量到
45、子程序局部變量表。(12)在當(dāng)前編輯光標(biāo)位置處插入所選擇文件的全路徑名稱(chēng)。 (13)向資源表中添加數(shù)據(jù)資源,如:文本文件、聲音圖片文件以及其它類(lèi)型文件。 5數(shù)據(jù)庫(kù) 使用易語(yǔ)言系統(tǒng)提供的數(shù)據(jù)庫(kù)工具,創(chuàng)建、編輯、轉(zhuǎn)換、設(shè)置數(shù)據(jù)庫(kù)相關(guān)內(nèi)容。(1)瀏覽或修改指定數(shù)據(jù)庫(kù)的結(jié)構(gòu)。本功能由dbmanger.e編譯后的程序提供,用戶(hù)可以根據(jù)需要進(jìn)行修改。(2)瀏覽或修改指定數(shù)據(jù)庫(kù)的記錄。本功能由dbmanger.e編譯后的程序提供,用戶(hù)可以根據(jù)需要進(jìn)行修改。(3)將數(shù)據(jù)庫(kù)中數(shù)據(jù)所使用的語(yǔ)言轉(zhuǎn)換到另外一種。(4)可以將其它類(lèi)型的數(shù)據(jù)庫(kù)通過(guò)odbc轉(zhuǎn)換為易數(shù)據(jù)庫(kù)。(5)設(shè)置指定數(shù)據(jù)庫(kù)的訪問(wèn)密碼。(6)將指定數(shù)據(jù)庫(kù)
46、的名稱(chēng)及所有字段名作為文本常量加入到系統(tǒng)常量表,以便在程序中使用。6運(yùn)行程序調(diào)試工具菜單。提供多種功能,用來(lái)查看、跟蹤、掛起程序。具體使用方法請(qǐng)參見(jiàn)第七課。(1)編譯現(xiàn)行易程序的調(diào)試版本.exe文件后立即運(yùn)行。(2)終止現(xiàn)行易程序的運(yùn)行。(3)查看/修改指定表達(dá)式或變量的內(nèi)容。(4)在程序現(xiàn)行運(yùn)行位置單步執(zhí)行一行程序,如果此程序調(diào)用了子程序,系統(tǒng)不會(huì)跟蹤到該子程序中去。(5)在程序現(xiàn)行運(yùn)行位置單步執(zhí)行一行程序,如果此程序行調(diào)用了子程序,則跟蹤進(jìn)入子程序。(6)在上級(jí)子程序調(diào)用現(xiàn)行子程序的語(yǔ)句后中斷。(7)運(yùn)行易程序,在當(dāng)前光標(biāo)所處程序行處中斷。(8)設(shè)置或清除當(dāng)前程序行處的斷點(diǎn)。(9)設(shè)置或修
47、改當(dāng)前程序行處的條件斷點(diǎn)。(10)清除掉程序中的所有斷點(diǎn)。(11)跳到現(xiàn)行即將被執(zhí)行語(yǔ)句的位置。7編譯對(duì)已注冊(cè)用戶(hù),提供三種不同的方法,將源代碼創(chuàng)建成可執(zhí)行的exe程序文件。(1)編譯現(xiàn)行易程序的最終發(fā)布版本,創(chuàng)建對(duì)應(yīng)的.exe可執(zhí)行程序文件。(2)編譯出可執(zhí)行exe文件,該文件不依賴(lài)任何易語(yǔ)言系統(tǒng)文件,可以在未安裝易語(yǔ)言系統(tǒng)的電腦上運(yùn)行。(3)制作當(dāng)前易語(yǔ)言程序的安裝軟件,該軟件不依賴(lài)任何易語(yǔ)言系統(tǒng)文件,可以在未安裝易語(yǔ)言系統(tǒng)的電腦上運(yùn)行并安裝指定易語(yǔ)言程序。8工具易語(yǔ)言系統(tǒng)提供的多種附加工具,可用來(lái)管理和配置易語(yǔ)言的擴(kuò)展功能。(1)調(diào)用菜單編輯器編輯修改當(dāng)前窗口的菜單。(2)編輯報(bào)表模板文
48、件。(3)管理系統(tǒng)中的易模塊。(4)執(zhí)行指定的易向?qū)募?。?)安裝新的支持庫(kù)或制作支持庫(kù)安裝包。(6)本工具可以封裝指定的com類(lèi)型庫(kù)或ocx組件,使其能夠在易語(yǔ)言中被使用。(7)配置當(dāng)前在系統(tǒng)中使用的支持庫(kù)。(8)設(shè)置與系統(tǒng)相關(guān)的配置信息??梢源蜷_(kāi)易語(yǔ)言的系統(tǒng)配置對(duì)話(huà)框,通過(guò)調(diào)整該對(duì)話(huà)框中各項(xiàng)屬性的參數(shù),可以自定義界面各部位顏色,可以選擇各種配色方案,還可以對(duì)內(nèi)置輸入法等很多方面進(jìn)行配置。9窗口 設(shè)置已被載入設(shè)計(jì)窗口的排列方式以及已被載入設(shè)計(jì)窗口的名稱(chēng)、隸屬和類(lèi)型。(1)排列窗口成相互重疊。(2)排列窗口成互不重疊。(3)將圖標(biāo)排列在窗口底部。(4)將活動(dòng)的窗口分隔成窗格。(5)已被激活的
49、設(shè)計(jì)窗口。(6)已被載入的設(shè)計(jì)窗口。10幫助易語(yǔ)言幫助和易語(yǔ)言系統(tǒng)信息。(1)在狀態(tài)夾中顯示有關(guān)當(dāng)前位置的幫助信息。(2)打開(kāi)并顯示易語(yǔ)言知識(shí)庫(kù)。需要安裝知識(shí)庫(kù)文件,方可使用。(3)顯示每日一貼。(4)提供有關(guān)易語(yǔ)言支持庫(kù)的幫助信息。(5)(6)(7)顯示程序和程序注冊(cè)信息。 2.2.3上機(jī)操作 1.在設(shè)計(jì)窗口中添加組件從組件組件箱中選出所需的組件添加在設(shè)計(jì)窗口中,只需要用鼠標(biāo)左鍵在組件箱中點(diǎn)擊欲添加的組件,使其處于選中狀態(tài),然后在設(shè)計(jì)窗口中左鍵單擊或按住鼠標(biāo)左鍵拖動(dòng),拉出一個(gè)組件即可。添加后的組件可以通過(guò)拖動(dòng)鼠標(biāo)改變其位置和大小,也可以使用方向鍵來(lái)微調(diào)組件的位置,還可以按住shift鍵+方向
50、鍵來(lái)微調(diào)組件的大小。 2.命令參數(shù)的輸入易語(yǔ)言提供的參數(shù)引導(dǎo)輸入功能,減少了記憶量,更節(jié)省了編程的時(shí)間,極大降低了程序錄入的錯(cuò)誤。對(duì)于參數(shù)較多的命令,程序員不需要再花時(shí)間去查詢(xún)參數(shù)的意義,可以直接將命令展開(kāi)輸入,方法:將光標(biāo)停在欲展開(kāi)的命令行上,如果當(dāng)前行沒(méi)有通過(guò)編譯,則不能展開(kāi)命令,可以使用shift+enter鍵來(lái)編譯當(dāng)前行,然后按下alt+右方向鍵,該命令就會(huì)被展開(kāi),各參數(shù)都列在了該命令的下面,可以直接在命令下的參數(shù)分支上輸入。3.即時(shí)幫助信息易語(yǔ)言編程環(huán)境在用戶(hù)進(jìn)行任何操作的同時(shí),會(huì)將有關(guān)的支持信息在提示面板中顯示出來(lái),若不能即可提示,可以使用以下介紹的方法:隨時(shí)按下“f1鍵”使用可隨
51、時(shí)得到與主題相關(guān)的幫助信息。即時(shí)幫助信息可顯示系統(tǒng)中各運(yùn)行支持庫(kù)內(nèi)的命令、庫(kù)定義數(shù)據(jù)類(lèi)型、庫(kù)定義常量等等信息。直接在工作夾內(nèi)的支持庫(kù)面板中找到并單擊欲查找信息的項(xiàng)目,此時(shí)所有的相關(guān)信息將會(huì)顯示在狀態(tài)夾的提示面板中。如果欲將這些信息提取出來(lái)打印或者以后閱讀,可以在相應(yīng)項(xiàng)目上單擊鼠標(biāo)右鍵,在彈出菜單中選擇“拷貝幫助文本到剪貼板”或者“寫(xiě)幫助文本到文件”,輸出與該項(xiàng)目及該項(xiàng)目所有子項(xiàng)目相關(guān)的幫助信息,供電腦中瀏覽或打印出來(lái)閱讀。4.備注和屏蔽的方法備注是一行或一段代碼的提示和說(shuō)明。編寫(xiě)代碼時(shí)要養(yǎng)成一個(gè)良好的習(xí)慣,就是給部分代碼輸入備注信息,這樣一來(lái),既方便了自己日后閱讀,又方便其他人更快的理解程序代
52、碼的思路和功能。輸入方法:在備注文字前加“”號(hào),則該符號(hào)后的本行文字變?yōu)閭渥?,在輸入代碼時(shí),可以在代碼的旁邊或代碼的下方輸入備注。在任何情況下,如果想屏蔽一行代碼,則在該行代碼前加“”號(hào),和置為備注的方法相同,屏蔽后的代碼在運(yùn)行調(diào)試時(shí)不會(huì)被編譯,調(diào)試程序?qū)ふ义e(cuò)誤時(shí),該方法會(huì)起到很大作用。將代碼前的“”號(hào)刪除便可以解除屏蔽。還可以在代碼上點(diǎn)擊鼠標(biāo)右鍵,彈出的菜單中也有“屏蔽”和“解除屏蔽”選項(xiàng)。也可使用ctrl+k鍵進(jìn)行屏蔽,選中多行代碼,然后使用ctrl+k鍵來(lái)屏蔽多行代碼,然后可以使用ctrl+m鍵來(lái)解除屏蔽。以上四種操作只是編寫(xiě)代碼時(shí)的基本操作方法,其他細(xì)節(jié)上的使用,將在以后的相關(guān)地方加以
53、詳解。2.4變量在程序運(yùn)行中可以改變的量,稱(chēng)為變量。變量實(shí)際上是常量的名字,只不過(guò)在程序運(yùn)行的不同時(shí)刻可能代表不同的常量罷了。一個(gè)變量名好象旅館的一個(gè)房間標(biāo)記,今天可以住張三,明天可以住李四。 任何一個(gè)變量參與運(yùn)算時(shí),總是取它所代表的具體數(shù)據(jù)(即常量)來(lái)進(jìn)行,可以代表一個(gè)具體的數(shù)據(jù)(即常量),或代表一組數(shù)據(jù)。變量的聲明方法:將光標(biāo)移到某個(gè)子程序中(包括子程序被聲明的表格中或子程序中的空白處),使用“ctrl+l鍵”生成下面的空白表格;生成的空白表格;按“回車(chē)鍵”添加新的空白行;輸入變量的名稱(chēng),除“_”外不能有任何符號(hào)和標(biāo)點(diǎn);輸入變量的數(shù)據(jù)類(lèi)型,也可以按“空格鍵”彈出數(shù)據(jù)類(lèi)型表從中選擇;可按“空
54、格鍵”選中/取消,如被選中,子程序第二次被調(diào)時(shí)變量值就不會(huì)自動(dòng)還原到初始值;用來(lái)定義變量的數(shù)組維數(shù)和成員數(shù)(如:2,3),可以使變量保存一組數(shù)據(jù),其默認(rèn)(為空)只能保存一個(gè)具體的數(shù)據(jù);注解變量的作用和在程序中相關(guān)信息。一旦它被聲明之后,就可以使用賦值運(yùn)算符“=”,給它分配值(數(shù)據(jù))。2.4.1 變量的作用范圍從變量的使用范圍來(lái)區(qū)分,可以將變量分為“局部變量”、“程序集變量”和“全局變量”。局部變量,只能在其所在的子程序中才能被調(diào)用的變量,其他子程序都無(wú)法調(diào)用。因?yàn)樽映绦虮徽{(diào)用的時(shí)候,這種變量才占用系統(tǒng)的內(nèi)存,當(dāng)子程序執(zhí)行結(jié)束后,變量所占空間被系統(tǒng)收回,因此局部變量是非常節(jié)省系統(tǒng)內(nèi)存的。程序集變
55、量,一般情況下僅在本程序集中被調(diào)用。程序集變量所在的程序集中的所有子程序,都可以自由訪問(wèn)程序集變量,多個(gè)子程序都需要訪問(wèn)的數(shù)據(jù),可以使用程序集變量來(lái)存儲(chǔ)。屬于靜態(tài)變量。全局變量,在程序運(yùn)行后,所有程序集內(nèi)子程序都可以使用的變量。也是覆蓋范圍最大的變量。這種變量在程序運(yùn)行后即占用內(nèi)存空間,在程序運(yùn)行結(jié)束才從內(nèi)存中清除,所以會(huì)長(zhǎng)時(shí)間占用系統(tǒng)資源,建議根據(jù)程序的實(shí)際情況適當(dāng)使用。在選擇使用變量的類(lèi)型時(shí),盡量選擇符合該變量使用范圍的變量類(lèi)型,以節(jié)省系統(tǒng)內(nèi)存。2.4.2 變量的賦值賦值語(yǔ)句是使變量取得數(shù)據(jù)的常用方法之一。給變量賦值的時(shí)候要注意變量的數(shù)據(jù)類(lèi)型,符合各數(shù)據(jù)類(lèi)型的賦值規(guī)則即可。變量的賦值還有幾個(gè)需要注意的地方,例如:1給數(shù)值型數(shù)據(jù)賦值時(shí),數(shù)據(jù)會(huì)自動(dòng)轉(zhuǎn)換類(lèi)型任意數(shù)值類(lèi)型的數(shù)據(jù)可以被寫(xiě)入到其它任意數(shù)值類(lèi)型的變量中,系統(tǒng)將自動(dòng)進(jìn)行轉(zhuǎn)換。例如將一個(gè)短整數(shù)寫(xiě)入到整數(shù)型變量中,將一個(gè)整數(shù)寫(xiě)入到小數(shù)型變量中等等,但是此時(shí)必須注意防止上一章中所提到的溢出問(wèn)題。若將小數(shù)型變量寫(xiě)入到整數(shù)型變量
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GH/T 1444-2023速凍薺菜加工技術(shù)規(guī)程
- 《電器銷(xiāo)售員培訓(xùn)》課件
- 《熱泵的基礎(chǔ)知識(shí)》課件
- 《小學(xué)人物描寫(xiě)》課件
- 單位管理制度范例合集職員管理十篇
- 《網(wǎng)絡(luò)b安全b》課件
- 第3單元 中國(guó)特色社會(huì)主義道路(A卷·知識(shí)通關(guān)練)(解析版)
- 《美甲的發(fā)展史》課件
- 2014年高考語(yǔ)文試卷(新課標(biāo)Ⅱ卷)(解析卷)
- 中國(guó)非遺文化魚(yú)燈介紹2
- 2024合同范本之太平洋保險(xiǎn)合同條款
- 萬(wàn)用表的使用
- TDT1062-2021《社區(qū)生活圈規(guī)劃技術(shù)指南》
- GB/T 12959-2024水泥水化熱測(cè)定方法
- 《商務(wù)禮儀》試題及答案大全
- 《核電廠焊接材料評(píng)定與驗(yàn)收標(biāo)準(zhǔn)》
- MOOC 數(shù)字邏輯電路實(shí)驗(yàn)-東南大學(xué) 中國(guó)大學(xué)慕課答案
- 小學(xué)生建筑科普小知識(shí)
- 安徽省六安市2024屆高三上學(xué)期期末教學(xué)質(zhì)量檢測(cè)數(shù)學(xué)試題(解析版)
- 2024年1月電大國(guó)家開(kāi)放大學(xué)期末考試試題及答案:人類(lèi)行為與社會(huì)環(huán)境
- 2024年貴安新區(qū)產(chǎn)業(yè)發(fā)展控股集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論