




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一講引論
?課程信息
?編譯程序概述
?高級語言的語法描述
§1.課程信息
一、課程名稱:編譯原理
基本內(nèi)容是介紹編譯程序構(gòu)造的基本原理、
方法和技術(shù),包括詞法分析、語法分析、
語義分析與中間代碼產(chǎn)生、代碼優(yōu)化及目
標(biāo)代碼產(chǎn)生等。簡言之,就是介紹如何將
源程序翻譯成目標(biāo)代碼程序。
CompilerPrinciples3
二、課程性質(zhì):專業(yè)基礎(chǔ)課,必修
。編譯程序(器)出現(xiàn)于上世紀(jì)50年代后期
(第一個高級語言1958年)
?60年代?70年代是研究高峰期
60年代中期開始在高校中開設(shè)課程
。80年代開始作為計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的
必修基礎(chǔ)課程
CompilerPrinciples4
三、課程特點(diǎn):
充分體現(xiàn)了計(jì)算學(xué)科中抽象、理論和設(shè)計(jì)三個學(xué)科
形態(tài)
。該課程涉及多門課程的內(nèi)容綜合運(yùn)用,涉及面廣,內(nèi)
容龐雜,學(xué)習(xí)艱難
9程序設(shè)計(jì)語言、計(jì)算機(jī)體系結(jié)構(gòu)、語言理論及算法等;
9離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)'
。該課程涉及的原理、方法和技術(shù)具有十分普遍的意
義
小每一個計(jì)算機(jī)科學(xué)與技術(shù)工作者的職業(yè)生涯中反復(fù)用到,
“享用一輩子”
《這兒接受的訓(xùn)練很難在其他地方獲得:
如:抽象與形式化方法、局部與全局優(yōu)化方法、構(gòu)造技術(shù)、
證明方法等
CompilerPrinciples5
四、學(xué)習(xí)該課程的意義
?編譯程序是計(jì)算機(jī)系統(tǒng)不可缺少的重要組成
部分
力對程序設(shè)計(jì)語言的設(shè)計(jì)與實(shí)現(xiàn)能有更深刻的理
解
9對程序設(shè)計(jì)語言有關(guān)理論有所了解
。從宏觀上把握程序設(shè)計(jì)語言—掌握了編譯原
理后,就不能再說:“某語言未學(xué)過,所以不
會”
i有助于快速理解、定位和解決程序調(diào)試與運(yùn)行
中出現(xiàn)的問題
CompilerPrinciples6
。編譯方法與技術(shù)有著廣泛應(yīng)用
《安全技術(shù)、程序理解、軟件逆向工程、應(yīng)用軟件與軟
件工具開發(fā)、軟件測試與驗(yàn)證等
。編譯課程蘊(yùn)含著計(jì)算學(xué)科中解決問題的思路、抽
象和方法,這些與高等數(shù)學(xué)一樣,使你“享用一
輩子”
課程所涉及的內(nèi)容至今非?;钴S
9自然語言的翻譯
9軟件移植
9網(wǎng)絡(luò)安全」
9形式化方法
力形式語義學(xué)等
CompilerPrinciples7
鑒于以上所述,作為計(jì)算機(jī)科
學(xué)與技術(shù)專業(yè)的學(xué)生必須學(xué)習(xí)和
掌握編譯原理這門課程,當(dāng)然由
于其綜合性、處理問題的復(fù)雜性
等,學(xué)習(xí)起來有一定難度,這就
需要艱苦奮斗的精神和良好的學(xué)
習(xí)方法I
CompilerPrinciples8
五、學(xué)習(xí)方法
*編譯程序的構(gòu)造是一個龐大而復(fù)雜的系統(tǒng)工
程,無論是概念還是理論、方法,對初學(xué)者
來說許多都是新的,學(xué)習(xí)起來會感到困難大
一些,這一點(diǎn)必須有充分認(rèn)識,為此建議學(xué)
習(xí)方法上注意以下幾點(diǎn):
CompilerPrinciples9
1.課前預(yù)習(xí),課堂認(rèn)真聽講,課后復(fù)習(xí)加深理
解,特別要經(jīng)常有意識地將前后內(nèi)容聯(lián)系起
來融會貫通。因?yàn)榫幾g程序是一個龐大的程
序系統(tǒng),講解過程必須“分而治之”,這也
是人們處理復(fù)雜問題的基本方法,這就要求
大家在學(xué)習(xí)過程中,始終以處理過程為主線,
把前后聯(lián)系起來考慮。
CompilerPrinciples10
2.理論聯(lián)系實(shí)際——親自動手,構(gòu)造一個
演示性編譯程序,至少要完成掃描器和
語法分析器,以及語法制導(dǎo)翻譯產(chǎn)生中
間代碼
3,認(rèn)真完成作業(yè),進(jìn)一步鞏固并加深理解
所學(xué)知識
4.特別要下功夫認(rèn)真學(xué)習(xí)如何從實(shí)際問題
進(jìn)行抽象并形式化,最終建立實(shí)際問題
的模型(上升為理性認(rèn)識),并借助模
型進(jìn)一步設(shè)計(jì)實(shí)現(xiàn),這將對你的能力提
高大有益處
CompilerPrinciples11
六、教材選擇:
《程序設(shè)計(jì)語言編譯原理》(第3版)
國防工業(yè)出版社陳火旺等
1.內(nèi)容詳實(shí)豐富,理論與技術(shù)相結(jié)合
2.新版充分考慮了新的研究成果——屬
性文法、LR分析法、全局優(yōu)化等
3.大多數(shù)院校一直采用,碩士入學(xué)考試
參考書
4,較為全面介紹了編譯程序構(gòu)造的基本
原理、方法與技術(shù)
CompilerPrinciples12
七、考試
平時成績:30%
期終考試成績:70%
八、參考書目
1.《編譯原理》陳意云張昱高教出版社
2.《編譯原理》李建中姜守旭譯
A.V.Aho,RavSethi,J.D.Ullman著
機(jī)械工業(yè)出版社
3.《編譯原理及實(shí)踐》廿馮博琴馮嵐等譯
KennethC.Louden著)
機(jī)械工業(yè)出版社
CompilerPrinciples13
§2.編譯程序概述
,翻譯程序(Translator)
能夠把一種語言程序(稱為源語言
程序)轉(zhuǎn)換成邏輯上等價(jià)的另一種
語言程序(稱為目標(biāo)語言程序)的
程序
Compilerprinciples14
?任何非機(jī)器語言程序都需要翻譯程序
。翻譯程序的工作就是進(jìn)行等價(jià)變換(映射)
兩個程序邏輯上等價(jià)是指對相同輸入得到
相同的輸出
CompilerPrinciples15
1.匯編程序(Assembler)
把匯編語言程序轉(zhuǎn)變?yōu)闄C(jī)器語言程序的翻譯程序
2.解釋程序(Interpreter)
把源程序作為輸入接收,邊解釋邊執(zhí)行的翻譯程序
r源程序解釋>結(jié)果
數(shù)據(jù)程序
CompilerPrinciples16
3.編譯程序
將高級語言程序轉(zhuǎn)變?yōu)榈图壵Z言程序的翻譯程序
源程序
CompilerPrinciples17
。編譯程序又可根據(jù)用途和側(cè)重點(diǎn)的不同,
進(jìn)一步分類為:
①診斷編譯程序(DiagnosticCompiler)
專門用于幫助程序開發(fā)和調(diào)試的編譯程序
②優(yōu)化編譯程序(OptimizingCompiler)
著重于提高目標(biāo)代碼效率的編譯程序
③交叉編譯程序(CrossCompiler)
能夠產(chǎn)生不同于其宿主機(jī)機(jī)器代碼的編譯程序
④可變目標(biāo)編譯程序(Retargetablecompiler)
無須重寫與機(jī)器無關(guān)部分就能改變目標(biāo)機(jī)的
編譯程序
CompilerPrinciples18
二、與編譯程序相關(guān)的程序
本講義只介紹編譯程序(器)構(gòu)造的基本原
理、方法與技術(shù),但在一個完整的語言開發(fā)
(或稱程序設(shè)計(jì))環(huán)境中,除了編譯器這一I
主要工具外,還需要其他一些工具,如編輯
器、連接器、裝入程序等?,F(xiàn)代計(jì)算機(jī)系統(tǒng)
常將這些相互獨(dú)立的程序設(shè)計(jì)工具集成起來,
構(gòu)成一個集成化的程序開發(fā)環(huán)境,以提高程
序設(shè)計(jì)效率和程序的質(zhì)量。如TurboC、
VisualC++等語言環(huán)境都是集成化的程序設(shè)
計(jì)環(huán)境。而Ada語言的集成環(huán)境是這方面的
J
如Ada語言的集成環(huán)境是一個分層的程序開發(fā)環(huán)境
這兒要強(qiáng)調(diào)的是:盡
管本課程只介紹編譯
的基本理論、方法和
技術(shù),但這些基本理
論、方法與技術(shù)對其
他工具的構(gòu)造同樣起
作用!
CompilerPrinciples21
1編輯器(Editor)
.完成源程序輸入、編輯并產(chǎn)生標(biāo)準(zhǔn)文件
(如ASCII文件)的程序。
近來已與編譯器和其他程序捆綁進(jìn)一個交
互開發(fā)環(huán)境——IDE中
盡管這樣的編輯器仍生成標(biāo)準(zhǔn)文件,但會
轉(zhuǎn)向正被討論的程序設(shè)計(jì)語言的格式或結(jié)
構(gòu)(稱為基于結(jié)構(gòu)的),且已包含了編譯
器的某些操作;因此在程序編寫時而不是
編譯時就可得知錯誤,甚至也可調(diào)用編譯
器
CompilerPrinciples22
2,預(yù)處理程序(Preprocessor)
在真正翻譯開始之前產(chǎn)生編譯程序的輸入
的程序
。處理宏及注釋:宏是被經(jīng)常使用的較長結(jié)
構(gòu)的縮寫
處理文件包含:把頭文件包含到程序正文
中(如C的文件包含includev..?.h>)
?!袄斫狻鳖A(yù)處理器:把現(xiàn)代控制流和數(shù)據(jù)
結(jié)構(gòu)機(jī)制添加到比較老式的語言中
。語言擴(kuò)充:通過大量的內(nèi)部宏定義來增強(qiáng)
語言的能力,如Equel語言是一種嵌套在C
,樟司中的數(shù)據(jù)庫查詢語言
CompilerPrmciples二2323
K連接程序(Linker)——又稱為連接編輯器。
將分別在不同的目標(biāo)文件中編譯(或匯編)
的代碼、所用標(biāo)準(zhǔn)庫函數(shù)的代碼以及操作
系統(tǒng)提供的資源(如存儲分配程序及輸入/
輸出設(shè)備)收集到一個可直接執(zhí)行的文件
中的程序
4.裝配程序(Loader)
完成程序的裝入和連接編輯兩項(xiàng)功能。
裝入過程包括讀入可重定位機(jī)器代碼、修
改可重定位地址、并將修改后的指令和數(shù)
據(jù)放到內(nèi)存的適當(dāng)位置。
裝入程序使得可執(zhí)行代碼更加靈活
CompilerPrinciples24
5,調(diào)試程序(Debugger)
可在被編譯了的程序中判定執(zhí)行錯誤的程
序
?它經(jīng)常與編譯程序一起放在IDE中
。運(yùn)行一個帶有調(diào)試程序的程序與直接執(zhí)行
不同,這是因?yàn)檎{(diào)試程序保存著所有的或
大多數(shù)源代碼信息,它可以在預(yù)先指定的
位置(斷點(diǎn)Breakpoint)暫停執(zhí)行,并提供
有關(guān)信息(已調(diào)用的函數(shù)、變量名的當(dāng)前
值等)
CompilerPrinciples25
6.其他有關(guān)的還有
。描述器(Profiler)——執(zhí)行中搜集目標(biāo)程序行
為統(tǒng)計(jì)的程序
項(xiàng)目管理程序(ProjectManager)-----如
Unix系統(tǒng)中的SCCS(源代碼控制系統(tǒng))和
RCS(修正控制系統(tǒng))和匯編程序等
綜上所述可給出一個“語言處理系統(tǒng)”的圖示:
CompilerPrinciples26
源程序梗概
_______1_______
預(yù)處理器
丁
源程序
編全器
丁
目標(biāo)匯編程序
—
匯編器
可重定位機(jī)器代碼
____________+
裝載器/連接編輯器;一庫、可重定位目標(biāo)程序
可執(zhí)行機(jī)器代碼
我們這個課只介紹編譯程序這一部分
CompilerPrinciples27
三、編譯過程與編譯程序結(jié)構(gòu)
1.編譯過程:
輸入---------編譯程序--------輸出
(高級語言源程序)(低級語言目標(biāo)程序)
編譯程序工作過程如下:
?識別出一個個的單詞
?分析句子的語法結(jié)構(gòu)
?分析句子的語義并進(jìn)行初步翻譯.
?對初步翻譯進(jìn)行優(yōu)化
?整理出目標(biāo)程序
對以上過程進(jìn)一步整理可得如下編譯程序結(jié)構(gòu)總框:
CompilerPrinciples
3.五個階段簡介
?第一階段:詞法分析——依據(jù)語言構(gòu)詞規(guī)
貝I」,識別出一個個單詞(符號)
?單詞種類
?基本字:for,if,while等、
?算符:+,一,X,/等、有窮性!
?界符:,;O等J
?標(biāo)識符:a123,pi等
無窮性
?常數(shù):9,36,486E6等
CompilerPrinciples30
?詞法分析工作由詞法分析器(或稱掃描
器)完成。
?掃描器輸出為等長度的單詞符號(二元
式)流。
?例:
(06,'Position')。l,-X06,'initial'X12,-X06,'rate')(13,—)(07,'60的二進(jìn)制')
CompilerPrinciples31
?第二階段:語法分?如:Position=initial+rate*60是——
析——依據(jù)語言的個“賦值表達(dá)式”(C語言中)
語法規(guī)則,把掃描
器提供的單詞符號
串分解成各種語法
單位(范疇),如
“短語”、“子Position
句”、“句子”乃
至“程序”。同時
進(jìn)行語法檢查,以
確定輸入串是否正
確,該工作是由語initial標(biāo)示符常數(shù)
法分析器完成的。
rate60
CompilerPrinciples32
?第三階段:語義分析與中間代碼產(chǎn)生——針對
各類不同的語法范疇,按語言的語義規(guī)則進(jìn)行
語義分析和初步翻譯工作,產(chǎn)生某種中間語言
形式的中間代碼(即一種結(jié)構(gòu)簡單,含義明確
的記號系統(tǒng))
該階段工作通常包括兩個方面的工作:
?對每種語法范疇進(jìn)行靜態(tài)語義檢查,包括:
?變量是否定義過.
?類型是否正確1
?是否用了。作除數(shù)等
CompilerPrinciples33
J?將語法范疇翻譯成某種形式的中間代碼,
如四元式:
OpARG1ARG2Result
*rate60T1
+initialT1T2
■T2Position
CompilerPrinciples34
?第四階段:優(yōu)化——對前階段產(chǎn)生的中間
代碼進(jìn)行加工變換,以期在最后階段能產(chǎn)
生出高效(節(jié)省時、空)的目標(biāo)代碼,這
一任務(wù)是由優(yōu)化器來完成的I
?根據(jù)優(yōu)化的范圍不同,可分為:
局部優(yōu)化,循環(huán)優(yōu)化和全局優(yōu)化
?一個循環(huán)優(yōu)化的例子:
■
循環(huán)語句為:For(k=1;k<=100;k++){M=l+10*k;N=J+10*k;}
⑴=1K(1)=IM
(2)J<10°K(9)⑵=JN
⑶*10KT1⑶=1K
(4)+IT1M(4)J<1。。K⑼
⑸*10KT2⑸+M10M
(6)+JT2N(6)+N10N
⑺+K1K⑺+K1K
(8)J(2)(8)J(4)
?優(yōu)化前用了兩個臨時工作單元(T1,T2),優(yōu)化后沒有用臨時單元
?優(yōu)化前循環(huán)體中要做300次加、200次乘,
就施簫循環(huán)體內(nèi)只做30。次加36
?第五階段:目標(biāo)代碼生成——把中間代碼
翻譯成目標(biāo)代碼
?顯然這階段要依賴于硬體系統(tǒng)結(jié)構(gòu)和指
令系統(tǒng)
?涉及存貯分配、寄存器調(diào)度
這一階段工作是由代碼生成器完成的
說明:
以上各階段(或稱工序)并不是截然分開
的,尤其編譯程序結(jié)構(gòu)十分復(fù)雜、體積相
當(dāng)龐大,所以有時人們把幾個階段的工作
有機(jī)地組合在一起、穿插進(jìn)行,構(gòu)成遍。
Compilerprinciples37
。遍(Pass):對源程序或源程序的中間代
碼從頭到尾掃描一次并做相應(yīng)處理加工
?分遍的好處是結(jié)構(gòu)清晰、節(jié)省內(nèi)存(每
遍都從外存獲取前一遍的結(jié)果作為開始,
工作結(jié)果仍記入外存,每遍幾乎可使用
全部內(nèi)存)
?分不分遍、如何分遍要視具體情況----
計(jì)算機(jī)內(nèi)存容量、源語言的繁簡、從事
編譯程序設(shè)計(jì)人員的情況等
CompilerPrinciples38
如最早的基本BASIC語言采用一遍掃描的編譯程序:
CompilerPrinciples39
又如PL/O編譯程序的結(jié)構(gòu)
PL/O源程序
格
表
錯
出
理
管
理
處
序
程
程
序
目標(biāo)程序
CompilerPrinciples40
再如COBOL編譯程序采用了四遍掃描的編譯程序:
序
程
源U
詞法分析與
名等內(nèi)碼內(nèi)
碼生成器
1山I
文
配
基
外
字
對
詞
名
信
矩
表
表
息
陣
表
表
CompilerPrinciples41
4.前端與后端:概念上講,編譯程序的五個階
)段可進(jìn)一步劃分為前端和后端:
?前端:主要由與源語言有關(guān)而與目標(biāo)機(jī)無
關(guān)的部分組成,包括詞法分析、語法分析、
語義分析和中間代碼產(chǎn)生。代碼優(yōu)化一般
也包含在前端。J
?后端:主要由與目標(biāo)機(jī)有關(guān)的部分組成,(
包括目標(biāo)代碼生成和與目標(biāo)機(jī)有關(guān)的優(yōu)化
等。
詳見下圖:
CompilerPrinciples42
前端后端
中
義
詞
語
語
目
目
中
目
源
析
間
據(jù)
法
分
令
標(biāo)
間
標(biāo)
程
分
分
中
代
和
代
代
語
語
序
析
析
代
間
碼
碼
碼
言
言
產(chǎn)
碼
優(yōu)
優(yōu)
生
主
件
化
化
成
CompilerPrinciples43
?劃分前端和后端,就可以僅改寫后端
而生成不同目標(biāo)機(jī)上的目標(biāo)程序,當(dāng)然
也可考慮對不同語言僅稍加改變前端而
產(chǎn)生相同的中間代碼,經(jīng)同一后端生成
相同目標(biāo)機(jī)的目標(biāo)代碼。就目前來說,
針對相同中間代碼適應(yīng)不同目標(biāo)機(jī)的工
作較多,如Ada語言的APSE(Ada程序設(shè)
計(jì)環(huán)境)中使用的Diana中間代碼,Java
語言定義的虛擬機(jī)代碼---Bytecode中
間語言,都是定義良好的中間語言。
詳見下圖:
Compilerprinciples44
Java的傳統(tǒng)環(huán)境
編譯環(huán)境
Java源程序
(Java)
Java編譯器
Java字節(jié)碼
(本地或
網(wǎng)絡(luò)傳輸),
Java字節(jié)碼
(,class)
CompilerPrinciples45
5,表格與表格管理
?表格記錄源程序中的各類有用信息——名
字、函數(shù)、標(biāo)號、過程、數(shù)值等
?每個階段的工作都要與表格打交道:查、
填、改等
?表格的結(jié)構(gòu)與處理方法:統(tǒng)一的大表與分
類的小表
?統(tǒng)一大表NAMEINFORMATION
名字欄為主欄(關(guān)鍵字欄),信息欄又分
成若干子欄——種屬、類型等
CompilerPrinciples46
?分類小表:每類一張表,如:
?符號名表(SNT)X啞元實(shí)型
A數(shù)組整型...
?常數(shù)表(CT)3.1415926
48
Compilerprinciples47
?入口表(ENT)Swap二目子程序入口地址
?標(biāo)號表
(LBT)L1入口地址
?基本字表DO編號(03)
(KWT)
CompilerPrinciples48
6.出錯處理:
這是編譯程序的又一重要組成部分,
因?yàn)榫幾g的各個階段都有可能發(fā)現(xiàn)源
程序中的錯誤。一旦發(fā)現(xiàn)這樣或那樣
的錯誤,就應(yīng)把錯誤的性質(zhì)及位置報(bào)
告給用戶,并且使編譯能繼續(xù)下去。
Compilerprinciples49
四、編譯程序的構(gòu)造過程
1.需求分析,確定語言文本
(1)確定語言的種類:
?按語言范型分類,當(dāng)今大多數(shù)程序語言可分為四類:
過程式(強(qiáng)制式語言):命令驅(qū)動,面向語句,如
FORTRAN>PASCAL>Ada及C等
函數(shù)式(應(yīng)用式)語言:功能驅(qū)動,面向函數(shù),如
LISP、SNOBOL及ML等
邏輯式(基于規(guī)則的)語言:依據(jù)條件進(jìn)行邏輯推演,
如Prolog等
00語言:支持封裝性、繼承性、多態(tài)性及動態(tài)聚
束等,以對象為運(yùn)行單位,如Smalltalk、Java、
C++等
CompilerPrinciples50
?通過用戶提供的應(yīng)用范圍,決定采用何種語
、A
H。
例如:
偏重于科學(xué)計(jì)算的則選用Fortran;
偏重于符號處理的則選用Lisp或Snobol;
偏重于事務(wù)處理的則選用Cobol或數(shù)據(jù)庫管理
語言;
CompilerPrinciples51
(2)深刻理解語言的結(jié)構(gòu)、語法及語義
這就是說不僅僅是用程序設(shè)計(jì)語言編幾個程序的
問題,而是要在語法和語義方面下一些功夫。具
體說來有以下幾個方面:
①程序語言的定義:
任何程序語言都是某個確定的字符集上的符號按
照一定規(guī)則組成的有窮序列。
這里所謂的規(guī)則是從兩個方面來談的:
-語法規(guī)則:用于形成和產(chǎn)生一個正確的程序的
一組規(guī)則。
?語義規(guī)則:用于定義程序意義的一組規(guī)則。
CompilerPrinciples52
例如:
從語法的角度看,標(biāo)識符和名字是一個東
西,都是以字母開頭的字母數(shù)字串;但從語
義的角度看,標(biāo)識符是一個沒有任何意義的
字符序列,而名字卻有確定的意義和屬性,
而且具有一定的作用域和定義域,即有局部
和全部之分。
又如:....
程序從語法角度看,是一些語法范疇構(gòu)成
的如下層次結(jié)構(gòu):
CompilerPrinciples53
程序
I
分程序或子程序(過程、函數(shù)等)
PBT
語句
I
表達(dá)式
數(shù)據(jù)引用算符函數(shù)調(diào)用
而從語義的角度來說,程序是描述一定
的數(shù)據(jù)結(jié)構(gòu)及其處理過程。
CompilerPrinciples54
②程序結(jié)構(gòu):
現(xiàn)代高級語言程序通常由若干子程序段
(過程、函數(shù)等)構(gòu)成,許多語言還引入了
類、程序包等更高級的結(jié)構(gòu)。
例如,Fortran、C程序是塊結(jié)構(gòu)的;
Pascal程序是過程嵌套的;Algol既有分程序
嵌套,又有過程嵌套;Java與C++是面向?qū)ο?/p>
的,它們很重要的方面是類和繼承的概念,
同時支持多態(tài)性和動態(tài)聚束等特性;而在Ada
中引入了程序包,它可以把數(shù)據(jù)和操作代碼
封裝在一起,支持?jǐn)?shù)據(jù)抽象。
(詳見教材P15.18)
CompilerPrinciples55
③語言的基本成分:
包括數(shù)據(jù)類型、表達(dá)式、語句、過程或函數(shù)等,
這些在學(xué)習(xí)語言課時都已經(jīng)學(xué)過了,但從編譯的角
度出發(fā),應(yīng)如何了解這些基本成分呢?
?初等數(shù)據(jù)類型:牽扯到存儲空間的問題;
■結(jié)構(gòu)數(shù)據(jù)類型:牽扯到下標(biāo)、維數(shù)、存放方式、
分配時間動態(tài)與靜態(tài)等;
?表達(dá)式:牽扯到運(yùn)算分量、運(yùn)算符、形成規(guī)則、
運(yùn)算順序等;
?語句:順序、控制、循環(huán)等;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年小學(xué)語文畢業(yè)升學(xué)考試句式變換與修辭深度解析全真試卷
- 2025年成人高考《語文》語言表達(dá)與運(yùn)用能力提升試題庫(含答案)
- 2025年消防執(zhí)業(yè)資格考試題庫(專業(yè)技能提升)消防設(shè)施維修員消防安全教育培訓(xùn)試題
- 2025年特種設(shè)備安全工程師資格考試真題與模擬試卷
- 2025年鄉(xiāng)村醫(yī)生考試題庫:農(nóng)村居民健康管理服務(wù)規(guī)范實(shí)操技能試題集
- 2025年養(yǎng)老護(hù)理員專業(yè)知識測試卷:養(yǎng)老護(hù)理員職業(yè)素養(yǎng)試題集
- 2025年聲樂演唱職業(yè)能力測試卷:基礎(chǔ)理論長尾詞解析試題
- 2025年高壓電工考試題庫:高壓設(shè)備維護(hù)保養(yǎng)計(jì)劃復(fù)習(xí)指導(dǎo)試題集
- 2025年統(tǒng)計(jì)學(xué)專業(yè)期末考試題庫:統(tǒng)計(jì)軟件在自然語言處理數(shù)據(jù)分析中的應(yīng)用試題
- 2025年統(tǒng)計(jì)學(xué)專業(yè)期末考試題庫:學(xué)術(shù)論文寫作與統(tǒng)計(jì)結(jié)果解讀試題
- 2024福建省能源石化集團(tuán)有限責(zé)任公司秋季社會招聘120人筆試參考題庫附帶答案詳解
- 吉林省吉林市2024-2025學(xué)年高三下學(xué)期3月三模試題 英語 含答案
- 工程竣工決算編審方案的編制與審核指導(dǎo)
- 2025年常州紡織服裝職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫及答案1套
- 國開2025年《會計(jì)政策判斷與選擇》形考任務(wù)1-9答案
- 2025年高速公路收費(fèi)站(車輛通行費(fèi)收費(fèi)員)崗位職業(yè)技能資格知識考試題庫與答案
- 2025年智慧農(nóng)業(yè)考試題大題及答案
- T-CECRPA 011-2024 溫室氣體 產(chǎn)品碳足跡量化方法與要求 光伏組件
- Unit3 Weather Part A(教學(xué)設(shè)計(jì))-2023-2024學(xué)年人教PEP版英語四年級下冊
- 舞蹈室課程顧問工作合同5篇
- 計(jì)調(diào)業(yè)務(wù)2.2組團(tuán)計(jì)調(diào)發(fā)團(tuán)業(yè)務(wù)流程
評論
0/150
提交評論