![由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言-程序編寫(xiě)編譯_第1頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/7/287f5e12-c3f1-4dc6-b914-11fdcd718714/287f5e12-c3f1-4dc6-b914-11fdcd7187141.gif)
![由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言-程序編寫(xiě)編譯_第2頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/7/287f5e12-c3f1-4dc6-b914-11fdcd718714/287f5e12-c3f1-4dc6-b914-11fdcd7187142.gif)
![由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言-程序編寫(xiě)編譯_第3頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/7/287f5e12-c3f1-4dc6-b914-11fdcd718714/287f5e12-c3f1-4dc6-b914-11fdcd7187143.gif)
![由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言-程序編寫(xiě)編譯_第4頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/7/287f5e12-c3f1-4dc6-b914-11fdcd718714/287f5e12-c3f1-4dc6-b914-11fdcd7187144.gif)
![由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言-程序編寫(xiě)編譯_第5頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/7/287f5e12-c3f1-4dc6-b914-11fdcd718714/287f5e12-c3f1-4dc6-b914-11fdcd7187145.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第5講講 由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯程序編寫(xiě)與編譯理解:理解:“如何編寫(xiě)計(jì)算機(jī)可以執(zhí)行的程序如何編寫(xiě)計(jì)算機(jī)可以執(zhí)行的程序?” “為什么編寫(xiě)為什么編寫(xiě)程序越來(lái)越方便程序越來(lái)越方便?”以及以及“用各種語(yǔ)言編寫(xiě)的程序,機(jī)器用各種語(yǔ)言編寫(xiě)的程序,機(jī)器為什么可以執(zhí)行為什么可以執(zhí)行?”2/56基本目標(biāo)基本目標(biāo): : 理解如何編寫(xiě)計(jì)算機(jī)可以執(zhí)行的程序理解如何編寫(xiě)計(jì)算機(jī)可以執(zhí)行的程序內(nèi)容提要內(nèi)容提要基本思維:基本思維:高級(jí)語(yǔ)言與匯編語(yǔ)言高級(jí)語(yǔ)言與匯編語(yǔ)言語(yǔ)言與編譯器語(yǔ)言與編譯器高級(jí)語(yǔ)言程高級(jí)語(yǔ)言程序的構(gòu)成要素序的構(gòu)成要素不同層面的計(jì)算機(jī)不同層面的計(jì)算機(jī)3/562.4 由機(jī)器語(yǔ)
2、言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯2.4.1 由機(jī)器語(yǔ)言到匯編語(yǔ)言由機(jī)器語(yǔ)言到匯編語(yǔ)言由機(jī)器語(yǔ)言到匯編語(yǔ)言由機(jī)器語(yǔ)言到匯編語(yǔ)言-機(jī)器語(yǔ)言、指令系統(tǒng)、機(jī)器語(yǔ)言程序機(jī)器語(yǔ)言、指令系統(tǒng)、機(jī)器語(yǔ)言程序-匯編語(yǔ)言、源程序與匯編程序匯編語(yǔ)言、源程序與匯編程序4/56算法算法解決問(wèn)題的步驟程序程序計(jì)算機(jī)能夠理解與執(zhí)行的解決問(wèn)題的步驟計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言步驟書(shū)寫(xiě)的規(guī)范、語(yǔ)法規(guī)則、標(biāo)準(zhǔn)的集合是人和計(jì)算機(jī)都能理解的語(yǔ)言 算法、計(jì)算機(jī)語(yǔ)言與計(jì)算機(jī)程序算法、計(jì)算機(jī)語(yǔ)言與計(jì)算機(jī)程序2.4.1 由機(jī)器語(yǔ)言到匯編語(yǔ)言由機(jī)器語(yǔ)言到匯編語(yǔ)言 為什么需要計(jì)算機(jī)語(yǔ)言為什么需要計(jì)算機(jī)語(yǔ)言? 5/56計(jì)算
3、計(jì)算7+107+10并存儲(chǔ)的程序并存儲(chǔ)的程序u機(jī)器語(yǔ)言:機(jī)器語(yǔ)言:用二進(jìn)制和編碼方式提供的指令系統(tǒng)所編寫(xiě)程序的語(yǔ)言被稱(chēng)為機(jī)器語(yǔ)言100001 1000000111100010 1000001010100101 1100000110111101 00u所有程序都需轉(zhuǎn)換成機(jī)器語(yǔ)言程序,計(jì)算機(jī)才能執(zhí)行所有程序都需轉(zhuǎn)換成機(jī)器語(yǔ)言程序,計(jì)算機(jī)才能執(zhí)行u指令系統(tǒng):指令系統(tǒng):CPU用二進(jìn)制和編碼提供的可以解釋并執(zhí)行的命令的集合。100001 10 00000111100010 11 00001010操作碼 地址碼問(wèn):用機(jī)器語(yǔ)言編寫(xiě)程序存在什么問(wèn)題呢?問(wèn):用機(jī)器語(yǔ)言編寫(xiě)程序存在什么問(wèn)題呢?計(jì)算機(jī)能夠理解與執(zhí)行
4、什么計(jì)算機(jī)能夠理解與執(zhí)行什么? 計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言-機(jī)器語(yǔ)言機(jī)器語(yǔ)言6/56計(jì)算計(jì)算7+107+10并存儲(chǔ)的程序并存儲(chǔ)的程序u匯編語(yǔ)言:匯編語(yǔ)言:是用助記符號(hào)編寫(xiě)程序的語(yǔ)言。u匯編語(yǔ)言源程序:匯編語(yǔ)言源程序:是用匯編語(yǔ)言編出的程序。u匯編程序匯編程序: 是將匯編語(yǔ)言源程序翻譯成機(jī)器語(yǔ)言程序的程序。u用符號(hào)編寫(xiě)程序用符號(hào)編寫(xiě)程序 = 翻譯翻譯 = 機(jī)器語(yǔ)言程序MOV A, 7ADD A, 10MOV (6), AHLTu人們提供了用助記符助記符編寫(xiě)程序的規(guī)范/標(biāo)準(zhǔn)。同時(shí)開(kāi)發(fā)了一個(gè)翻譯程序翻譯程序,實(shí)現(xiàn)了將符號(hào)程序自動(dòng)自動(dòng)轉(zhuǎn)換成機(jī)器語(yǔ)言程序的功能。100001 1000000111MOV A,
5、7操作碼 地址碼怎樣解決機(jī)器語(yǔ)言編寫(xiě)程序所存在的困難怎樣解決機(jī)器語(yǔ)言編寫(xiě)程序所存在的困難? 計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言-匯編語(yǔ)言匯編語(yǔ)言7/56u匯編語(yǔ)言程序處理過(guò)程匯編語(yǔ)言程序處理過(guò)程符號(hào)化程序機(jī)器不能直接執(zhí)行怎么辦符號(hào)化程序機(jī)器不能直接執(zhí)行怎么辦? 計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言-匯編語(yǔ)言匯編語(yǔ)言-匯編程序匯編程序(編譯器編譯器)MOV A, 7ADD A, 10MOV (6), AHLT匯編匯編程序程序匯編語(yǔ)言源程序助記符號(hào)機(jī)器語(yǔ)機(jī)器語(yǔ)言程序言程序二進(jìn)制和編碼10000110000001111000101100001010100101110000011011110100由匯編程序自動(dòng)轉(zhuǎn)換轉(zhuǎn)換執(zhí)執(zhí)行行匯編
6、匯編語(yǔ)言語(yǔ)言轉(zhuǎn)換規(guī)則轉(zhuǎn)換規(guī)則 助記符號(hào)助記符號(hào),機(jī)器指令機(jī)器指令用助記符號(hào)書(shū)寫(xiě)程序的規(guī)范、語(yǔ)法規(guī)則、標(biāo)準(zhǔn)的集合是人和計(jì)算機(jī)都能理解的語(yǔ)言機(jī)器指令的集合是計(jì)算機(jī)能夠理解并執(zhí)行,但人理解困難的語(yǔ)言機(jī)器機(jī)器語(yǔ)言語(yǔ)言編制完成7+10并存儲(chǔ)的匯編語(yǔ)言程序完成7+10并存儲(chǔ)的機(jī)器語(yǔ)言程序執(zhí)行8/56由匯編語(yǔ)言到高級(jí)語(yǔ)言由匯編語(yǔ)言到高級(jí)語(yǔ)言由匯編語(yǔ)言到高級(jí)語(yǔ)言由匯編語(yǔ)言到高級(jí)語(yǔ)言-高級(jí)語(yǔ)言、源程序與編譯器高級(jí)語(yǔ)言、源程序與編譯器9/56計(jì)算計(jì)算7+107+10并存儲(chǔ)的程序并存儲(chǔ)的程序Result = 7+10;Returnu人們提供了類(lèi)似于自然語(yǔ)言方式、自然語(yǔ)言方式、以以語(yǔ)句為單語(yǔ)句為單位書(shū)寫(xiě)程序的規(guī)范位書(shū)
7、寫(xiě)程序的規(guī)范/ /標(biāo)準(zhǔn)標(biāo)準(zhǔn)。并開(kāi)發(fā)了一個(gè)翻譯程翻譯程序序,實(shí)現(xiàn)了將語(yǔ)句程序自動(dòng)自動(dòng)翻譯成機(jī)器語(yǔ)言程序的功能。u高級(jí)語(yǔ)言:高級(jí)語(yǔ)言:是用類(lèi)似自然語(yǔ)言的語(yǔ)句編寫(xiě)程序的語(yǔ)言。u高級(jí)語(yǔ)言源程序:高級(jí)語(yǔ)言源程序:是用高級(jí)語(yǔ)言編出的程序。u編譯程序:編譯程序:是將高級(jí)語(yǔ)言源程序翻譯成機(jī)器語(yǔ)言程序的程序。為什么還要提出高級(jí)語(yǔ)言為什么還要提出高級(jí)語(yǔ)言? 計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言-高級(jí)語(yǔ)言高級(jí)語(yǔ)言10/56編譯編譯程序程序源程序語(yǔ)句機(jī)器語(yǔ)言程序二進(jìn)制和編碼Result = 7+10Return10000110000001111000101100001010100101110000011111110100MOV A,
8、 7ADD A, 10MOV (6), AHLT高級(jí)語(yǔ)言程序處理過(guò)程示意高級(jí)語(yǔ)言程序處理過(guò)程示意高級(jí)語(yǔ)言和匯編語(yǔ)言的差別在哪里高級(jí)語(yǔ)言和匯編語(yǔ)言的差別在哪里? u高級(jí)語(yǔ)言高級(jí)語(yǔ)言:機(jī)器無(wú)關(guān)性;一條高級(jí)語(yǔ)言語(yǔ)句往往可由若干條機(jī)器語(yǔ)言語(yǔ)句實(shí)現(xiàn)且機(jī)器無(wú)關(guān)性;一條高級(jí)語(yǔ)言語(yǔ)句往往可由若干條機(jī)器語(yǔ)言語(yǔ)句實(shí)現(xiàn)且不具有對(duì)應(yīng)性不具有對(duì)應(yīng)性u(píng)匯編語(yǔ)言匯編語(yǔ)言:機(jī)器相關(guān)性;匯編語(yǔ)言語(yǔ)句和機(jī)器語(yǔ)言語(yǔ)句有對(duì)應(yīng)性機(jī)器相關(guān)性;匯編語(yǔ)言語(yǔ)句和機(jī)器語(yǔ)言語(yǔ)句有對(duì)應(yīng)性11/56編譯器如何實(shí)現(xiàn)呢編譯器如何實(shí)現(xiàn)呢? 高級(jí)語(yǔ)言編譯器高級(jí)語(yǔ)言編譯器匯編匯編程序程序匯編語(yǔ)言源程序助記符號(hào)轉(zhuǎn)換執(zhí)行執(zhí)行轉(zhuǎn)換規(guī)則轉(zhuǎn)換規(guī)則 助記符號(hào),機(jī)器指令助記
9、符號(hào),機(jī)器指令編譯編譯程序程序高級(jí)語(yǔ)言源程序變量/表達(dá)式/語(yǔ)句機(jī)器語(yǔ)言程序二進(jìn)制和編碼10000110000001111000101100001010100101110000011011110100轉(zhuǎn)換執(zhí)行執(zhí)行高級(jí)語(yǔ)高級(jí)語(yǔ)言言編譯規(guī)則編譯規(guī)則機(jī)器語(yǔ)言機(jī)器語(yǔ)言編制Result = 7+10ReturnMOV A, 7ADD A, 10MOV (6), AHLT自動(dòng)轉(zhuǎn)換自動(dòng)轉(zhuǎn)換執(zhí)行轉(zhuǎn)換轉(zhuǎn)換匯編器匯編器編譯器編譯器轉(zhuǎn)換轉(zhuǎn)換12/56高級(jí)語(yǔ)言編譯器高級(jí)語(yǔ)言編譯器-基本思想基本思想高級(jí)語(yǔ)言編譯器高級(jí)語(yǔ)言編譯器-基本思想基本思想13/562.4.2 高級(jí)語(yǔ)言編譯器高級(jí)語(yǔ)言編譯器-基本思想基本思想 模式化的
10、語(yǔ)句模式化的語(yǔ)句? 由由“具體的具體的” 運(yùn)算式到運(yùn)算式到“模式模式”運(yùn)算式運(yùn)算式Result = 7 + 10;V = C + C;Sum = 8 + 15;K = 100 + 105; 注:Result:具體的變量7, 10:具體的常量= 賦值符號(hào)賦值符號(hào)+ 加法運(yùn)算符號(hào)加法運(yùn)算符號(hào); 語(yǔ)句結(jié)束符語(yǔ)句結(jié)束符注:V:變量C:常量= 賦值符號(hào)賦值符號(hào)+ 加法運(yùn)算符號(hào)加法運(yùn)算符號(hào); 語(yǔ)句結(jié)束符語(yǔ)句結(jié)束符不變的部分不變的部分(保留字保留字)變化的部分變化的部分14/56“模式模式”運(yùn)算式的識(shí)別及常量、變量的標(biāo)識(shí)運(yùn)算式的識(shí)別及常量、變量的標(biāo)識(shí)V = C + C;S1S2S3S4V,V,R空格,nul
11、l,R=,=,RC,C,RS5S6+,+,R空格,null,R空格,null,R空格,null,R空格,null,RS7;,null,NC,C,R空格,null,R;,null,N(c)能識(shí)別兩種模式“V=C;”和 “V=C+C;”并能去除空格的圖靈機(jī)示意圖注:字母表V,C,=,+,空格, ; ;S1起始狀態(tài);S7終止?fàn)顟B(tài);null表示什么也不寫(xiě)回。Result = 7 + 10;(V, 1) = (C, 1) + (C, 2);語(yǔ)句模式的識(shí)別語(yǔ)句模式的識(shí)別 15/56復(fù)雜模式轉(zhuǎn)換為簡(jiǎn)單模式及其組合復(fù)雜模式轉(zhuǎn)換為簡(jiǎn)單模式及其組合V = C + C;V=+CCV,1=+C,1C,2復(fù)雜模式的預(yù)先
12、構(gòu)造復(fù)雜模式的預(yù)先構(gòu)造 16/56V,1=+C,1C,2將簡(jiǎn)單模式轉(zhuǎn)換成匯編語(yǔ)言語(yǔ)句序列將簡(jiǎn)單模式轉(zhuǎn)換成匯編語(yǔ)言語(yǔ)句序列,用常量值和變量地址進(jìn),用常量值和變量地址進(jìn)行替換,組合次序調(diào)整,得到最后的匯編語(yǔ)言程序行替換,組合次序調(diào)整,得到最后的匯編語(yǔ)言程序MOV A, ADD A, MOV (), A MOV A, 7ADD A, 10 MOV (6), A MOV A, ADD A, MOV (), A 簡(jiǎn)單模式與匯編語(yǔ)句的映射簡(jiǎn)單模式與匯編語(yǔ)句的映射 17/56小結(jié)小結(jié) 18/56由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯2.4.3 計(jì)算機(jī)語(yǔ)言的發(fā)展計(jì)算機(jī)語(yǔ)言的發(fā)
13、展計(jì)算機(jī)語(yǔ)言的發(fā)展計(jì)算機(jī)語(yǔ)言的發(fā)展19/56-像堆積木一樣構(gòu)造程序像堆積木一樣構(gòu)造程序如何更方便地編寫(xiě)程序如何更方便地編寫(xiě)程序? 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言與面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言與可視化構(gòu)造語(yǔ)言可視化構(gòu)造語(yǔ)言Command1ClickPrivate Sub Command1_Click() /此處放置單擊按鈕此處放置單擊按鈕Command1時(shí)要執(zhí)行的程序語(yǔ)句時(shí)要執(zhí)行的程序語(yǔ)句;Text2TextChangedPrivate Sub Text2_TextChanged() /此處放置文本框此處放置文本框Text2中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行的程序語(yǔ)句的程序語(yǔ)句;TextText
14、ChangedPrivate Sub Text_TextChanged() /此處放置文本框此處放置文本框Text中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行的中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行的程序語(yǔ)句程序語(yǔ)句;Text1TextChangedPrivate Sub Text1_TextChanged() /此處放置文本框此處放置文本框Text1中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行的程序語(yǔ)句的程序語(yǔ)句;Text1GetFocusPrivate Sub Text1_GetFocus() /此處放置文本框此處放置文本框Text1中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行中內(nèi)容發(fā)生變化時(shí)將要執(zhí)行的程序語(yǔ)句的程序語(yǔ)句;20/56計(jì)算機(jī)
15、/CPU能識(shí)別與執(zhí)行的機(jī)器語(yǔ)言程序機(jī)器語(yǔ)言程序匯編程序編譯程序編譯程序編程效率高執(zhí)行效率高匯編語(yǔ)言源程序匯編語(yǔ)言源程序自動(dòng)轉(zhuǎn)換高級(jí)語(yǔ)言源程序高級(jí)語(yǔ)言源程序自動(dòng)轉(zhuǎn)換語(yǔ)言積木塊語(yǔ)言積木塊自動(dòng)轉(zhuǎn)換更大的語(yǔ)言積木塊更大的語(yǔ)言積木塊自動(dòng)轉(zhuǎn)換編譯程序計(jì)算機(jī)語(yǔ)言發(fā)展的基本思維計(jì)算機(jī)語(yǔ)言發(fā)展的基本思維計(jì)算機(jī)語(yǔ)言的發(fā)展思維計(jì)算機(jī)語(yǔ)言的發(fā)展思維? 21/56不僅要用語(yǔ)言,還要發(fā)明新語(yǔ)言不僅要用語(yǔ)言,還要發(fā)明新語(yǔ)言(可執(zhí)行可執(zhí)行)計(jì)算機(jī)計(jì)算機(jī)語(yǔ)言語(yǔ)言源程序源程序新新語(yǔ)言源程序語(yǔ)言源程序編譯器編譯器新語(yǔ)言新語(yǔ)言:書(shū)寫(xiě)規(guī)范及其語(yǔ)法結(jié)構(gòu)編輯器編輯器類(lèi)自然語(yǔ)言類(lèi)自然語(yǔ)言圖形化的模型圖形化的模型積木塊式編程語(yǔ)言積木塊式編程語(yǔ)
16、言智能化語(yǔ)言及模型智能化語(yǔ)言及模型(面向各專(zhuān)業(yè)的面向各專(zhuān)業(yè)的)專(zhuān)業(yè)化語(yǔ)言專(zhuān)業(yè)化語(yǔ)言能否提出新語(yǔ)言能否提出新語(yǔ)言? 22/56 計(jì)算機(jī)技術(shù)是伴隨著計(jì)算機(jī)語(yǔ)言的不斷發(fā)展而發(fā)展起來(lái)的計(jì)算機(jī)技術(shù)是伴隨著計(jì)算機(jī)語(yǔ)言的不斷發(fā)展而發(fā)展起來(lái)的FORTRANCOBOLJAVAC+u因計(jì)算機(jī)語(yǔ)言獲得圖靈獎(jiǎng)的因計(jì)算機(jī)語(yǔ)言獲得圖靈獎(jiǎng)的l1966 A.J. Perlis: 編程技術(shù)和編譯架構(gòu)l1972 E.W. Dijkstra: ALGOL語(yǔ)言l1974 Donald E. Knuth: 程序語(yǔ)言1977 John Backus : 高級(jí)語(yǔ)言,Fortranl1979 Kenneth E. Iverson: 編程語(yǔ)言
17、,APLl1980 C. Antony R. Hoare: 編程語(yǔ)言l1981 Edgar F. Codd: 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言l1984 Niklaus Wirth:開(kāi)發(fā)了EULER、 ALGOL-W、 MODULA和PASCAL一系列嶄新的計(jì)算語(yǔ)言。l1987 John Cocke:編譯器l2001 Ole-Johan Dahl、Kristen Nygaard: 面向?qū)ο缶幊?SIMULA I 和SIMULA 67中。l2003 Alan Kay :面向?qū)ο笳Z(yǔ)言,Smalltalkl2005 Peter Naur:Algol60程序語(yǔ)言。2006 Fran Allen: 編譯器能否提出新語(yǔ)言能
18、否提出新語(yǔ)言? 23/56計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言(程序程序)的基本構(gòu)成要素的基本構(gòu)成要素計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言(程序程序)的的基本構(gòu)成要素基本構(gòu)成要素(I)24/56K = 0;For I =1 to 100 Step 1 If I 30 K = K+I; 保留字保留字變量變量常量常量語(yǔ)句語(yǔ)句表達(dá)式表達(dá)式認(rèn)識(shí)計(jì)算機(jī)語(yǔ)言程序認(rèn)識(shí)計(jì)算機(jī)語(yǔ)言程序2.4.4 計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言(程序程序)的基本構(gòu)成要素的基本構(gòu)成要素 計(jì)算機(jī)語(yǔ)言程序的基本構(gòu)成要素有哪些計(jì)算機(jī)語(yǔ)言程序的基本構(gòu)成要素有哪些? “ 保留字保留字”為編譯器識(shí)為編譯器識(shí)別和處理語(yǔ)句而確定別和處理語(yǔ)句而確定的一些特定符號(hào)的一些特定符號(hào)25/56常量
19、、變量與表達(dá)式常量、變量與表達(dá)式u算術(shù)表達(dá)式示例。算術(shù)表達(dá)式的結(jié)果是一數(shù)值;算術(shù)表達(dá)式示例。算術(shù)表達(dá)式的結(jié)果是一數(shù)值; A1 + (B2 x1 + 76) * 3(B2 + yy4) / L3 xx3u比較表達(dá)式示例。比較表達(dá)式的計(jì)算結(jié)果是邏輯比較表達(dá)式示例。比較表達(dá)式的計(jì)算結(jié)果是邏輯“真真”或或“假假”;Grade = 70N4 = A1) & (B2 y2)u將表達(dá)式的計(jì)算結(jié)果賦值給一變量:賦值語(yǔ)句將表達(dá)式的計(jì)算結(jié)果賦值給一變量:賦值語(yǔ)句M = XY+50; M = (XY) AND (XD2 D1=D1-5; ElseD1=D1+10; Y = 50;Z = 80; X = 30
20、;X = Z + Y;If Y Z X = X - Y; Else X= X - Z; X = X + Y;If X Z X = Y; X = X - Z; If XY X = X - Y; 語(yǔ)句與程序控制語(yǔ)句與程序控制28/56Y = 50;Z = 80; X = 30;X = Z + Y;If Y Z X = X - Y; Else X= X - Z; X = X + Y;If X Z X = Y; X = X - Z; If XY X = X - Y; 語(yǔ)句與程序控制語(yǔ)句與程序控制XYZ3050801305010050-3029/56u循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)(有界循環(huán)結(jié)構(gòu)) For (計(jì)數(shù)器變
21、量計(jì)數(shù)器變量 = 起始值起始值 To 結(jié)束值結(jié)束值 增量表達(dá)式增量表達(dá)式 ) 循環(huán)體的程序語(yǔ)句序列 Next 計(jì)數(shù)器變量計(jì)數(shù)器變量Sum=0;For I = 1 to 5 Step 1 Sum = Sum + I; Next I/繼續(xù)其他語(yǔ)句繼續(xù)其他語(yǔ)句Sum=0;For I =1 to 10000 Step 2 Sum = Sum + I; Next I語(yǔ)句與程序控制語(yǔ)句與程序控制SumI0112336410515630/56u循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)(條件循環(huán)結(jié)構(gòu)條件循環(huán)結(jié)構(gòu)) Do 循環(huán)體的程序語(yǔ)句序列循環(huán)體的程序語(yǔ)句序列 While (條件表達(dá)式條件表達(dá)式);X=1;Y=2; Sum=0;Do
22、 Sum = X+Y; X=X+1; Y=Y+1; While (Sum=10)/其他語(yǔ)句其他語(yǔ)句語(yǔ)句與程序控制語(yǔ)句與程序控制XYSum120233345457569671131/56u循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)(條件循環(huán)結(jié)構(gòu)條件循環(huán)結(jié)構(gòu)) Do 循環(huán)體的程序語(yǔ)句序列循環(huán)體的程序語(yǔ)句序列 While (條件表達(dá)式條件表達(dá)式);X=1;Y=2; Sum=0;Do Sum = X+Y; X=X+1; Y=Y+1; While (Sum0)/其他語(yǔ)句其他語(yǔ)句語(yǔ)句與程序控制語(yǔ)句與程序控制XYSum12023332/56u循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)(條件循環(huán)結(jié)構(gòu)條件循環(huán)結(jié)構(gòu)) While (條件表達(dá)式條件表達(dá)式) Do 循
23、環(huán)體的程序語(yǔ)句序列循環(huán)體的程序語(yǔ)句序列 X=1;Y=2; Sum=0;While (Sum0) Do Sum = X+Y; X=X+1; Y=Y+1; 語(yǔ)句與程序控制語(yǔ)句與程序控制你知道怎樣控制程序的執(zhí)行次序嗎你知道怎樣控制程序的執(zhí)行次序嗎? XYSum12033/56由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯2.4 5 計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言(程序程序)的基本構(gòu)成要素的基本構(gòu)成要素計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言(程序程序)的的基本構(gòu)成要素基本構(gòu)成要素(II)34/56函數(shù)函數(shù)int Sum(int m, int n) S = m + n; return S;函數(shù)名函數(shù)名()
24、函數(shù)返回函數(shù)返回值的類(lèi)型值的類(lèi)型形式參數(shù),即在函數(shù)形式參數(shù),即在函數(shù)體中所使用的變量體中所使用的變量函數(shù)體:實(shí)現(xiàn)函數(shù)函數(shù)體:實(shí)現(xiàn)函數(shù)功能的程序段落功能的程序段落2.4.5 計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言(程序程序)的基本構(gòu)成要素的基本構(gòu)成要素 函數(shù)是很重要的程序構(gòu)造手段,你知道嗎函數(shù)是很重要的程序構(gòu)造手段,你知道嗎? 數(shù)學(xué)上的函數(shù)只是一個(gè)符號(hào)表達(dá),而計(jì)算機(jī)數(shù)學(xué)上的函數(shù)只是一個(gè)符號(hào)表達(dá),而計(jì)算機(jī)程序中的函數(shù)則是一段可以執(zhí)行的程序程序中的函數(shù)則是一段可以執(zhí)行的程序35/56函數(shù)函數(shù)函數(shù)的定義函數(shù)的定義形式參數(shù)形式參數(shù)函數(shù)體,實(shí)現(xiàn)函數(shù)功能的程序語(yǔ)句序列函數(shù)體,實(shí)現(xiàn)函數(shù)功能的程序語(yǔ)句序列以形式參數(shù)作為需要處理的
25、對(duì)象。以形式參數(shù)作為需要處理的對(duì)象。當(dāng)被調(diào)用時(shí),用實(shí)際參數(shù)替換相應(yīng)的形當(dāng)被調(diào)用時(shí),用實(shí)際參數(shù)替換相應(yīng)的形式參數(shù)進(jìn)行程序執(zhí)行。式參數(shù)進(jìn)行程序執(zhí)行。函數(shù)的使用函數(shù)的使用實(shí)際參數(shù)實(shí)際參數(shù)函數(shù)的使用函數(shù)的使用實(shí)際參數(shù)實(shí)際參數(shù) 你知道函數(shù)是一種抽象嗎你知道函數(shù)是一種抽象嗎? 函數(shù)是一種抽象,用一個(gè)名字代表一個(gè)程序段落函數(shù)是一種抽象,用一個(gè)名字代表一個(gè)程序段落36/56數(shù)學(xué)運(yùn)算函數(shù)數(shù)學(xué)運(yùn)算函數(shù),如三角函數(shù)、指數(shù)與對(duì)數(shù)函數(shù)、開(kāi)方函數(shù)等;例如sin(),Log(x)等; 數(shù)據(jù)轉(zhuǎn)換函數(shù)數(shù)據(jù)轉(zhuǎn)換函數(shù),如字母大小寫(xiě)變換、數(shù)值型數(shù)字和字符型數(shù)字相互轉(zhuǎn)換等;字符串操作函數(shù)字符串操作函數(shù),如取子串、計(jì)算字符串長(zhǎng)度等;例如
26、,Len(abcd);輸入輸出函數(shù)輸入輸出函數(shù),如輸入輸出數(shù)值、字符、字符串等;例如,Printf(),Scanf()等;文件操作函數(shù)文件操作函數(shù),如文件的打開(kāi)、讀取、寫(xiě)入、關(guān)閉等; 其它函數(shù)其它函數(shù),如取系統(tǒng)日期、繪制圖形等。系統(tǒng)提供的可以使用的函數(shù)類(lèi)別系統(tǒng)提供的可以使用的函數(shù)類(lèi)別你知道計(jì)算機(jī)語(yǔ)言或操作系統(tǒng)提供哪些函數(shù)嗎你知道計(jì)算機(jī)語(yǔ)言或操作系統(tǒng)提供哪些函數(shù)嗎? 37/56你忘記了遞歸和迭代嗎你忘記了遞歸和迭代嗎? long int Fact(int n) long int x; If (n 1) x = Fact(n-1); /*遞歸調(diào)用遞歸調(diào)用*/ return n*x; else re
27、turn 1; /*遞歸基礎(chǔ)遞歸基礎(chǔ)*/ 程序示例:階乘的遞歸程序如下示意程序示例:階乘的遞歸程序如下示意38/56你忘記了遞歸和迭代嗎你忘記了遞歸和迭代嗎? 程序示例:階乘的迭代程序如下示意程序示例:階乘的迭代程序如下示意long int Fact(int n) int counter; long product = 1; for counter = 1 to n step 1 product = product * counter; /*迭代迭代*/ return product; ProductCounter初始值1循環(huán)第1次11循環(huán)第2次12循環(huán)第3次23循環(huán)第4次64循環(huán)第5次245
28、循環(huán)第6次1206時(shí)當(dāng)時(shí)當(dāng)111.)1(1!nnnnn39/56變量及其存儲(chǔ)變量及其存儲(chǔ)u變量與存儲(chǔ)單元變量與存儲(chǔ)單元 你知道變量和存儲(chǔ)單元有什么關(guān)系嗎你知道變量和存儲(chǔ)單元有什么關(guān)系嗎? 40/56u“變量變量”與與 “指針變量指針變量” 指針是什么指針是什么? *p變量及其存儲(chǔ)變量及其存儲(chǔ)41/56u“變量變量”與與 “變量類(lèi)型變量類(lèi)型”及其存儲(chǔ)及其存儲(chǔ) 變量為什么需要聲明類(lèi)型變量為什么需要聲明類(lèi)型? 變量及其存儲(chǔ)變量及其存儲(chǔ)42/56u向量向量或列表列表是有序數(shù)據(jù)的集合型變量,向量中的每一個(gè)元素都屬于同一個(gè)數(shù)據(jù)類(lèi)型,用一個(gè)統(tǒng)一的向量名和下標(biāo)來(lái)唯一的確定向量中的元素。在程序設(shè)計(jì)語(yǔ)言中,又稱(chēng)為
29、數(shù)組數(shù)組。u向量名通常表示該向量的起始存儲(chǔ)地址,而向量下標(biāo)表示所指向元素相對(duì)于起始存儲(chǔ)地址的偏移位置。向量實(shí)例向量實(shí)例向量存儲(chǔ)實(shí)例向量存儲(chǔ)實(shí)例n = 4; Sum=0;For J =0 to n Step 1 Sum = Sum + mark J ; Next JAvg = Sum/(n+1);如何控制讀取向量如何控制讀取向量/數(shù)組型變量的不同元素?cái)?shù)組型變量的不同元素? 多元素變量及其存儲(chǔ)多元素變量及其存儲(chǔ)多元素變量使得程序可通過(guò)下標(biāo)來(lái)操作多元素變量中的每一個(gè)元素多元素變量使得程序可通過(guò)下標(biāo)來(lái)操作多元素變量中的每一個(gè)元素編寫(xiě)求上述數(shù)組中值的平均值的程序編寫(xiě)求上述數(shù)組中值的平均值的程序43/56
30、u矩陣矩陣或表表是按行按列組織數(shù)據(jù)的集合型變量,通常是一個(gè)二維向量,可表示為如M2,3或M23形式,即用符號(hào)名加兩個(gè)下標(biāo)來(lái)唯一確定表中的一個(gè)元素,前一下標(biāo)為行序號(hào),后一下標(biāo)為列序號(hào)。系統(tǒng)會(huì)自動(dòng)將其轉(zhuǎn)換為對(duì)應(yīng)的存儲(chǔ)地址,找到相應(yīng)的存儲(chǔ)單元。在程序設(shè)計(jì)語(yǔ)言中,矩陣或表是一個(gè)多維數(shù)組變量。 112522254539844212801003483751612341234行列M2,3表實(shí)例Sum=0;For I =1 to 4 Step 1 For J =1 to 4 Step 1 Sum = Sum + MIJ; Next J Next I Avg = Sum/16; 如何控制讀取向量如何控制讀取向量
31、/數(shù)組型變量的不同元素?cái)?shù)組型變量的不同元素? 多元素變量及其存儲(chǔ)多元素變量及其存儲(chǔ)邏輯上是二維的按行、列下標(biāo)來(lái)操作一個(gè)元素邏輯上是二維的按行、列下標(biāo)來(lái)操作一個(gè)元素, 如如M2,3或或M23;物理上仍舊是一;物理上仍舊是一維存儲(chǔ)的,由維存儲(chǔ)的,由“表起始地址表起始地址+ (行下標(biāo)行下標(biāo)-1)*列數(shù)列數(shù)/行行+列下標(biāo)列下標(biāo)”。這種轉(zhuǎn)換可由系統(tǒng)自動(dòng)。這種轉(zhuǎn)換可由系統(tǒng)自動(dòng)完成,程序中只需按下標(biāo)操作即可,即如完成,程序中只需按下標(biāo)操作即可,即如M23 44/56傳統(tǒng)程序構(gòu)造及其表達(dá)方法-由粗到細(xì)程序是構(gòu)造的,不是編的程序是構(gòu)造的,不是編的? 為控制復(fù)雜性,先以函數(shù)來(lái)代替為控制復(fù)雜性,先以函數(shù)來(lái)代替瑣碎的
32、細(xì)節(jié),著重考慮函數(shù)之間瑣碎的細(xì)節(jié),著重考慮函數(shù)之間的關(guān)系,以及如何解決問(wèn)題的關(guān)系,以及如何解決問(wèn)題在前一階段考慮清楚后或編制完在前一階段考慮清楚后或編制完成后,再編寫(xiě)其中的每一個(gè)函數(shù)。成后,再編寫(xiě)其中的每一個(gè)函數(shù)。而函數(shù)的處理同樣采取這種思路而函數(shù)的處理同樣采取這種思路45/56傳統(tǒng)程序構(gòu)造及其表達(dá)方法-也可以由細(xì)到粗程序是構(gòu)造的,不是編的程序是構(gòu)造的,不是編的? 上一層次的函數(shù)依據(jù)下層上一層次的函數(shù)依據(jù)下層函數(shù)來(lái)編寫(xiě),確認(rèn)正確后函數(shù)來(lái)編寫(xiě),確認(rèn)正確后再轉(zhuǎn)至更上層問(wèn)題處理再轉(zhuǎn)至更上層問(wèn)題處理首先編寫(xiě)一些基礎(chǔ)性的函數(shù),首先編寫(xiě)一些基礎(chǔ)性的函數(shù),并確定其正確后,再處理上并確定其正確后,再處理上一層次的問(wèn)題。一層次的問(wèn)題。46/56程序開(kāi)發(fā)環(huán)境程序開(kāi)發(fā)環(huán)境包括哪些部分呢程序開(kāi)發(fā)環(huán)境包括哪些部分呢? 編輯器編輯器源程序源程序編譯器編譯器目標(biāo)程序目標(biāo)程序鏈接器鏈接器可執(zhí)行程序可執(zhí)行程序調(diào)試器調(diào)試器工程管理器工程管理器函數(shù)庫(kù)函數(shù)庫(kù)管理管理管理管理管理管理47/56由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯由機(jī)器語(yǔ)言到高級(jí)語(yǔ)言:程序編寫(xiě)與編譯2.4.6 不同抽
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借資產(chǎn)合同范本
- 2025年度DAF運(yùn)輸合同下的貨物運(yùn)輸保險(xiǎn)責(zé)任劃分
- 使用土地建房合同范例
- 個(gè)人傭金協(xié)議合同范例
- 2024-2030年中國(guó)掃描聲學(xué)顯微鏡(SAM)行業(yè)發(fā)展監(jiān)測(cè)及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 上門(mén)宴席服務(wù)合同范例
- 勞保服合同范本
- 農(nóng)村房屋征收合同范本
- 2025年度教育培訓(xùn)機(jī)構(gòu)經(jīng)營(yíng)權(quán)承包合同范本
- 2025年度節(jié)能減排產(chǎn)品銷(xiāo)售代理合同樣本
- 2024智慧城市城市交通基礎(chǔ)設(shè)施智能監(jiān)測(cè)技術(shù)要求
- 湖北省崇陽(yáng)縣浪口溫泉地?zé)崽锏責(zé)豳Y源開(kāi)發(fā)利用與生態(tài)復(fù)綠方案
- 《工程建設(shè)標(biāo)準(zhǔn)強(qiáng)制性條文電力工程部分2023年版》
- CJT252-2011 城鎮(zhèn)排水水質(zhì)水量在線(xiàn)監(jiān)測(cè)系統(tǒng)技術(shù)要求
- 2024年執(zhí)業(yè)醫(yī)師考試-醫(yī)師定期考核(人文醫(yī)學(xué))筆試參考題庫(kù)含答案
- 【心理學(xué)與個(gè)人成長(zhǎng)課程論文3500字】
- JJG 1138-2017煤礦用非色散紅外甲烷傳感器
- 2024年極兔速遞有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024-2030年中國(guó)無(wú)人機(jī)光電吊艙行業(yè)市場(chǎng)深度研究及投資規(guī)劃建議報(bào)告
- 征兵工作試題
- TCALC 003-2023 手術(shù)室患者人文關(guān)懷管理規(guī)范
評(píng)論
0/150
提交評(píng)論