版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第四章匯編語言程序設(shè)計§4.0緒§4.1匯編語言源程序格式§4.2匯編語言源程序的編輯和匯編精選課件§4.0緒評價程序質(zhì)量的標準程序的執(zhí)行時間;程序所占用的內(nèi)存字節(jié)數(shù)目;程序的邏輯性、可讀性;程序的兼容性、可擴展性;程序的可靠性精選課件§4.0緒采用匯編語言的優(yōu)點占用內(nèi)存單元和CPU資源少;程序簡短、執(zhí)行速度快;可直接調(diào)動計算機的全部資源,并可以有效利用計算機的專有特性;能準確地掌握指令的執(zhí)行時間,適用于實時控制精選課件§4.1匯編語言源程序格式
§4.1.1編程的步驟§4.1.2匯編語言源程序格式
§4.1.3偽指令
§4.1.4編程的方法和技巧§4.1.5匯編語言程序的基本結(jié)構(gòu)精選課件§4.1.1編程的步驟一、分析問題二、確定算法三、畫程序流程圖四、編寫程序精選課件根據(jù)問題要實現(xiàn)的目標:
首先設(shè)計硬件電路。然后再根據(jù)具體的硬件環(huán)境進行程序設(shè)計。精選課件一、分析問題對需要解決的問題進行分析,以求對問題正確的理解。如:解決問題的任務(wù)是什么?工作過程是什么?現(xiàn)有的條件,已知數(shù)據(jù),對運算的精度
和速度方面的要求?設(shè)計的硬件結(jié)構(gòu)是否方便編程?精選課件在編程以前,先要對幾種不同的算法進行分析、比較,找出最適宜的算法二、確定算法精選課件三、畫程序流程圖程序流程圖是使用各種圖形、符號、有向線段等來說明程序設(shè)計過程的一種直觀的表示。流程圖步驟分得越細致,編寫程序是也越方便。畫流程圖是程序結(jié)構(gòu)設(shè)計是采用的一種重要手段。一個系統(tǒng)軟件有總的流程圖(主程序框圖)和局部的流程圖。精選課件橢圓框或桶形框:表示程序的開始或結(jié)束。矩形框:表示要進行的工作。菱形框:表示要判斷的事情,菱形框內(nèi)的表達式表示要判斷的內(nèi)容。流程圖常采用的圖形和符號。精選課件圓圈:表示連接點指向線:表示程序的流向流程圖常采用的圖形和符號。精選課件四、編寫程序精選課件匯編語言編寫的源程序行(一條語句)包括四
個部分,也叫4個字段。這四個字段是:
[標號:]<操作碼>[操作數(shù)][;注釋]
每個字段之間要用分隔符分隔,而每個字段
內(nèi)部不能使用分隔符?!?.1.2匯編語言源程序格式
精選課件可以用作分隔符的符號有:
空格“”
冒號“:”
逗號“,”
分號“;”
例如,
LOOPl:MOVA,#00H
;立即數(shù)00H送A§4.1.2匯編語言源程序格式
精選課件標號是用戶定義的符號地址。一條指令的標號是該條指令的符號名字,標號的值是匯編這條指令時指令的地址。標號由以英文字母開始的1~8個字母或數(shù)
字串組成,以冒號":"結(jié)尾。標號可以由賦值偽指令賦值?!?.1.2匯編語言源程序格式
⑴標號精選課件如果標號沒有賦值,匯編程序就把存放該指令目標碼第一字節(jié)的存儲單元的地址賦給該標號,所以,標號又叫指令標號。注意:系統(tǒng)中保留使用的關(guān)鍵字不能用
作標號?!?.1.2匯編語言源程序格式
⑴標號精選課件對于一條匯編語言指令,這個字段是必不
可少的,它用一組字母符號表示指令的操作碼。89C51中,它由指令系統(tǒng)助記符組成。
§4.1.2匯編語言源程序格式
⑵操作碼精選課件匯編語言指令可能要求或不要求操作數(shù)。
若有兩個操作數(shù),操作數(shù)之間應(yīng)用逗號分開操作數(shù)字段的內(nèi)容是復(fù)雜多樣的,
它可能包括下列諸項:①工作寄存器名②特殊功能寄存器名③標號④常數(shù)⑤$⑥表達式§4.1.2匯編語言源程序格式
⑶操作數(shù)精選課件⑶操作數(shù):①工作寄存器名由PSW.3和PSW.4規(guī)定的當前工作寄存器區(qū)中的R0~R7都可以出現(xiàn)在操作數(shù)字段中。MOVA,R4MOVA,@R0精選課件⑶操作數(shù):②特殊功能寄存器名89C51中的21個特殊功能寄存器的名字都可以作為操作數(shù)使用。MOVA,P1MOVTMOD,#01HSETBET0精選課件可以在操作數(shù)字段中引用的標號名包括:賦值標號由匯編命令EQU等賦值的標號可以作為
操作數(shù)。指令標號指令標號雖未給賦值,但這條指令的第一
字節(jié)地址就是這個標號的值,在以后指令操作數(shù)字段中可以引用。
⑶操作數(shù):③標號名精選課件LOOP:MOVA,R2……LJMPLOOP
⑶操作數(shù):③標號名精選課件匯編語言指令允許以各種數(shù)制表示常數(shù),常數(shù)可以寫成二進制、十進制或十六進制。常數(shù)總是要以一個數(shù)字開頭若十六進制的
第一個數(shù)為A~F字符,前面要加零,數(shù)字后要直接跟一個表明數(shù)制的字母,B二
進制,H十六進制。
⑶操作數(shù):④常數(shù)精選課件MOVA,#00000111BMOVA,#07HMOVA,#07MOVA,#0FDH⑶操作數(shù):④常數(shù)精選課件“$”,用來表示程序計數(shù)器的當前值。這個符號最常出現(xiàn)在轉(zhuǎn)移指令中,
JNBTF0,$
表示若TF0為零仍執(zhí)行該指令,否則往下執(zhí)行,它等效于
$:JNBTF0,$⑶操作數(shù):⑤$精選課件匯編程序允許把表達式作為操作數(shù)使用。在匯編時,計算出表達式的值;
并把該值填入目標碼中。例如,
MOVA,SUM+l⑶操作數(shù):⑥表達式精選課件⑷注釋注釋字段不是匯編語言的功能部分,只是用
于增加程序的可讀性。注釋是匯編語言程序編寫中的重要組成部分以“;”隔開?!?.1.2匯編語言源程序格式
精選課件例:LOOP:MOVA,#00H;立即數(shù)00H→A精選課件偽指令不是真正的指令,無對應(yīng)的機器碼,在匯編時不產(chǎn)生目標程序,只是用來對匯編過程進行某種控制?!?.1.3偽指令
精選課件§4.1.3偽指令
ORGENDEQUDATADBDWDSBIT精選課件ORG匯編起始命令格式:ORG16位地址功能:規(guī)定該偽指令后面程序的匯編地址,
即匯編后生成目標程序存放的起始地址。
例如:
精選課件ORG匯編起始命令例如:ORG2000HSTART:MOVA,#64H┇規(guī)定了START的地址是2000H,
又規(guī)定了匯編后的第一條指令碼從2000H開始存放。精選課件END匯編結(jié)束指令格式:END功能:通知匯編程序結(jié)束匯編。
在END之后所有的匯編指令均不予以處理。精選課件EQU賦值命令格式:
字符名稱EQU項(數(shù)或匯編符號)功能:把“項”賦給“字符名稱”。注意:字符名稱不等于標號(其后沒有冒號);其中的項,可以是數(shù),也可以是匯編符號。EQU賦值過的符號名可以用作數(shù)據(jù)、代碼地址、位地址或一個立即數(shù)??梢允?位的,也可以是16位的。例如:精選課件EQU賦值命令例1:AAEQUR1MOVA,AA;AA代表工作寄存器R1精選課件EQU賦值命令例2:A10EQU10DELYEQU07EBHMOVA,A10;
A10作為片內(nèi)的一個直接地址LCALLDELY;DELY作為一個16位子程序的入口地址精選課件DATA數(shù)據(jù)地址賦值命令格式:字符名稱DATA表達式功能:與EQU類似,但有以下差別:EQU定義的字符名必須先定義后使用,而DATA定義的字符名可以后定義先使用。用EQU偽指令可以把一個匯編符號賦給一個名字,而DATA只能把數(shù)據(jù)賦給字符名。精選課件DATA數(shù)據(jù)地址賦值命令3、DATA語句可以把一個表達式的值賦給字符名稱,其中的表達式應(yīng)是可求值的。DATA偽指令在程序中用來定義數(shù)據(jù)地址精選課件DB定義字節(jié)命令格式:DB(項或項表)功能:通知匯編程序從當前ROM地址開始,保留一個字節(jié)或字節(jié)串的存儲單元,并存入DB后的數(shù)據(jù)。注意:項或項表可以是一個字節(jié),用逗號隔開的字節(jié)串或括在單引號中的ASCII字符串。例如:精選課件DB定義字節(jié)命令
ORG2000HDB0A3HLIST:DB26H,03HSTR:DB‘ABC’┇經(jīng)匯編后(2000H)=A3H,(2001H)=26H,(2002H)=03H,(2003H)=41H,(2004H)=42H,(2005H)=43H,
(41H,42H,
43H分別為A,B,
C的ASCII碼)精選課件DW定義字命令格式:DW16位數(shù)據(jù)項或項表功能:把DW后的16位數(shù)據(jù)項或項表從當前地址連續(xù)存放。每項數(shù)值為16位二進制數(shù),高8位先放,低8位后存放。DW用于定義一個地址表。例如:精選課件DW定義字命令
ORG1500HTABLE:DW7234H,8AH,10H┇經(jīng)匯編后(1500H)=72H,(1501H)=34H,(1502H)=00H,(1503H)=8AH,(1504H)=00H,(1505H)=10H,精選課件DS定義存儲空間命令格式:DS表達式功能:在匯編時,從指定地址開始保留DS之后表達式的值所規(guī)定的存儲單元以備后用。例如:精選課件DS定義存儲空間命令ORG1000HDS08HDB30H,8AH
匯編后,
從1000H保留8個單元,
從1008H按DB命令給內(nèi)存賦值,
即(1008H)=30H(1009H)=8AH精選課件BIT位地址符號命令格式:字符名BIT位地址功能:把BIT后的位地址值賦給字符名。其中字符名不是標號,其后沒有冒號,但字符名是必須的。精選課件BIT位地址符號命令例如:A1BITP1.0A2BIT02H匯編后,P1口第0位的位地址90H就賦給了A1,而A2的值則為02H。精選課件§4.1.4編程的方法和技巧一、模塊化的程序設(shè)計方法二、編程技巧精選課件一、模塊化的程序設(shè)計方法1、程序功能模塊化的優(yōu)點2、劃分模塊的原則精選課件1、程序功能模塊化的優(yōu)點單個模塊結(jié)構(gòu)的程序功能單一,易于編寫、調(diào)試和修改。便于分工,從而可使多個程序員同時進行程序的編寫和調(diào)試工作,加快軟件研制進度。程序可讀性好,便于功能擴充和版本升級。對程序的修改可局部進行,其它部分可以保持不變。對于使用頻繁的子程序可以建立子程序庫,便于多個模塊調(diào)用。精選課件2、劃分模塊的原則每個模塊應(yīng)具有獨立的功能,能產(chǎn)生一個明確的結(jié)果,即單模塊的功能高內(nèi)聚性。模塊之間的控制耦合應(yīng)盡量簡單,數(shù)據(jù)耦合應(yīng)盡量少,即模塊間的低耦合性??刂岂詈鲜侵改K進入和退出的條件及方式,數(shù)據(jù)耦合是指模塊間的信息交換方式、交換量的多少及交換頻繁程度。模塊長度適中。20條~100條的范圍較合適。精選課件二、編程技巧1、盡量采用循環(huán)結(jié)構(gòu)和子程序。2、盡量少用無條件轉(zhuǎn)移指令。3、對于通用的子程序,考慮到其通用性,除了用于存放子程序入口參數(shù)的寄存器外,子程序中用到的其他寄存器的內(nèi)容應(yīng)壓入堆棧(返回前再彈出),即保護現(xiàn)場。精選課件二、編程技巧4、在中斷處理程序中,除了要保護處理程序中用到的寄存器外,還要保護標志寄存器。5、用累加器傳遞入口參數(shù)或返回參數(shù)比較方便,在子程序中,一般不必把累加器內(nèi)容壓入堆棧。精選課件§4.1.5匯編語言程序的基本結(jié)構(gòu)一、順序程序二、分支程序三、循環(huán)程序精選課件語句3語句2順序結(jié)構(gòu)
入口語句1出口分支結(jié)構(gòu)入口條件滿足否?
分支1出口YN
分支2循環(huán)結(jié)構(gòu)入口
處理
修改條件條件滿足否?Y出口N精選課件一、順序程序順序程序是最簡單的程序結(jié)構(gòu),即順序結(jié)構(gòu)。程序按順序一條一條地執(zhí)行指令。精選課件例1
雙字節(jié)加法。被加數(shù)地址:addr2,addr1.
加數(shù)地址:addr4,addr3.和在:addr2,addr1中.MOVR0,#addr1MOVR1,#addr3MOVA,@R0ADDA,@R1MOV@R0,A;和的低字節(jié)INCR0INCR1MOVA,@R0ADDCA,@R1MOV@R0,A;和的高字節(jié)精選課件例2、雙字節(jié)求補子程序CPLD
算法:正數(shù)不變,負數(shù)取反+1
解:
入口參數(shù):(R7R6)=待求補碼的16位負數(shù)
出口參數(shù):(R7R6)=求補后的16位數(shù)CPLD: MOV A,R6
CPL A ;取反
ADD A,#1
MOV R6,A
MOV A,R7
CPL A
ADDC A,#0
MOV R7,A
RET精選課件例3
拆字。將片內(nèi)RAM20H單元的內(nèi)容拆成兩段,每段四位。并將它們分別存入21H與22H單元中。程序如下:ORG2000HSTART:MOVR0,#21HMOVA,20HANLA,#0FHMOV@R0,AINCR0MOVA,20HSWAPAANLA,0FHMOV@R0,A精選課件二、分支程序程序分支是通過條件轉(zhuǎn)移指令實現(xiàn)的,即根據(jù)條件對程序的執(zhí)行進行判斷、滿足條件則進行程序轉(zhuǎn)移,不滿足條件就順序執(zhí)行程序。分支程序又分為單分支和多分支結(jié)構(gòu)。多分支程序是首先把分支程序按序號排列,然后按序號值進行轉(zhuǎn)移。精選課件程序分支判斷條件在MCS-51指令系統(tǒng)中,通過條件判斷實現(xiàn)單分支程序轉(zhuǎn)移的指令有:JZ、JNZ、CJNE、DJNZ等此外還有以位狀態(tài)作為條件進行程序分支的指令如:JC、JNC、JB、JNB、JBC等使用這些指令可以完成0、1、正、負,以及相等、不相等作為各種條件判斷依據(jù)的程序轉(zhuǎn)移精選課件簡單分支程序例1(2Path.asm)設(shè)內(nèi)部RAM30H,31H單元中存放兩個無符號數(shù),試比較它們的大小,將較小的數(shù)存放在30H單元,較大的數(shù)存放在31H單元解這是個簡單分支程序,可以使用兩數(shù)相減,若CY=1,則被減數(shù)小于減數(shù),采用JC指令進行判斷,程序流程圖和程序如下:精選課件簡單分支程序例1精選課件例2(3Path.asm)設(shè)變量X存入30H單元,求得函數(shù)Y存入31H單元。按下式計算Y的值
X+1 (X>10)Y=0 (10>=X>=5)X-1 (X<5)解
要根據(jù)X的大小來決定Y值,在判斷X<5和X>10時,采用CJNE和JC以及CJNE和JNC指令進行判斷。程序流程圖和代碼多重分支程序精選課件多重分支程序精選課件
ORG100HSTART:MOV A,30H ;取X CJNEA,#5,NEXT1 ;與5比較NEXT1:JC NEXT2 ;X<5,則轉(zhuǎn)next2 MOV R0,A ;X>=5 INC R0 ;假設(shè)X>10,Y=X+1
CJNE
A,#11,NEXT3
;與11比較NEXT3:JNC NEXT4
;X>10,轉(zhuǎn)NEXT4
MOV R0,#0
;10>=X>=5,Y=0
SJMP
NEXT4NEXT2:MOV R0,A
DEC R0
;X<5.Y=X-1NEXT4:MOV 31H,R0
;存結(jié)果
END多路分支程序精選課件例3:128種分支轉(zhuǎn)移程序。功能:根據(jù)入口條件轉(zhuǎn)移到128個目的地址。入口:(R3)=轉(zhuǎn)移目的地址的序號00H~7FH。出口:轉(zhuǎn)移到相應(yīng)子程序入口。128個子程序首址JMP_128:MOVA,R3RLAMOVDPTR,#JMPTABJMP@A+DPTRJMPTAB:AJMPROUT00AJMPROUT01┇┇AJMPROUT7F精選課件說明:此程序要求128個轉(zhuǎn)移目的地址(ROUT00~ROUT7FH)必須駐留在與絕對轉(zhuǎn)移指令A(yù)JMP相同的一個2KB存儲區(qū)內(nèi)。RL指令對變址部分乘以2,因為每條AJMP指令占兩個字節(jié)。精選課件分支程序結(jié)構(gòu)散轉(zhuǎn)指令轉(zhuǎn)向0分支轉(zhuǎn)向1分支轉(zhuǎn)向n-1分支轉(zhuǎn)向n分支K=0K=1K=n-1K=n┅┅┅精選課件三、循環(huán)程序在程序運行時,有時需要連續(xù)重復(fù)執(zhí)行某段程序,可以使用循環(huán)程序。其結(jié)構(gòu)包括四部分:
1、置循環(huán)初值2、循環(huán)體(循環(huán)工作部分)3、修改控制變量4、循環(huán)控制部分精選課件置初值循環(huán)體循環(huán)修改循環(huán)控制退出循環(huán)未完完(a)置初值循環(huán)體循環(huán)修改循環(huán)控制退出循環(huán)未完完(b)圖循環(huán)組織方式流程圖精選課件1、置循環(huán)初值對于循環(huán)程序中所使用的工作單元,在循環(huán)開始時應(yīng)置初值。例如,工作寄存器設(shè)置計數(shù)初值,累加器A清0,以及設(shè)置地址指針、長度等。精選課件2、循環(huán)體(循環(huán)工作部分)重復(fù)執(zhí)行的程序段部分,分為循環(huán)工作部分和循環(huán)控制部分。循環(huán)控制部分每循環(huán)一次,檢查結(jié)束條件,當滿足條件時,就停止循環(huán),往下繼續(xù)執(zhí)行其他程序精選課件3、修改控制變量在循環(huán)程序中,必須給出循環(huán)結(jié)束條件。常見的是計數(shù)循環(huán),當循環(huán)了一定的次數(shù)后,就停止循環(huán)。在單片機中,一般用一個工作寄存器Rn作為計數(shù)器,對該計數(shù)器賦初值作為循環(huán)次數(shù)。每循環(huán)一次,計數(shù)器的值減1,即修改循環(huán)控制變量,當計數(shù)器的置件為0時,就停止循環(huán)。精選課件4、循環(huán)控制部分根據(jù)循環(huán)結(jié)束條件,判斷是否結(jié)束循環(huán)。8051可采用DJNZ指令來自動修改控制變量并能結(jié)束循環(huán)。精選課件例1在內(nèi)部RAM30H~4FH連續(xù)32個單元中存放單字節(jié)無符號數(shù)。求32個無符號數(shù)之和,并存放到RAM51H、50H中解這是重復(fù)相加問題。設(shè)用R0作加數(shù)地址指針,R7作循環(huán)次數(shù)計數(shù)器,R3作總和數(shù)高字節(jié)寄存器。程序流程圖及代碼:循環(huán)次數(shù)已知的程序精選課件精選課件
ORG 0000HSTART:MOVR7,#31 ;R7作循環(huán)次數(shù)計數(shù)
MOV R3,#0;R3作和數(shù)高字節(jié)寄存器
MOV A,30H ;取第一個被加數(shù)
MOV R0,#31H ;R0作加數(shù)地址指針LOOP:ADD A,@R0 ;作加法
JNC NEXT ;CY=0,和<256,則轉(zhuǎn)
INC R3 ;CY=1,加到高字節(jié)NEXT:INC R0 ;修改R0指針
DJNZ R7,LOOP ;未完,重復(fù)加法
MOV 51H,R3 MOV 50H,A ;存和數(shù)循環(huán)次數(shù)已知的程序精選課件例2:設(shè)有一帶符號的數(shù)組存放在8031單片機內(nèi)部RAM,以20H為首地址的連續(xù)單元中,其長度為90,要求找出其中的最大值并將其存放到內(nèi)部RAM的1FH單元中,試編寫相應(yīng)的程序循環(huán)次數(shù)已知的程序精選課件NYYA與X符號相同?開始置循環(huán)計數(shù)器B初值置取數(shù)指針R0初值取第一單元內(nèi)容送A修改R0并取數(shù)XA>X?X送A循環(huán)計數(shù)器計數(shù)循環(huán)計數(shù)器=0?A送結(jié)果單元A為正數(shù)NNNYY結(jié)束(B)=89(R0)=20HMOVA,@R0(R0)+1→R0精選課件SCMPMA:MOVR0,#20HMOVB,#89MOVA,@R0SCLOOP:INCR0MOVR1,AXRLA,@R0JBACC.7,RESLATMOVA,R1CLRCSUBBA,@R0JNBACC.7,SMEXT1CXAHER:MOVA,@R0LJMPSMEXT2RESLAT:XRLA,@R0JNBACC.7,SMEXT2LJMPCXAHERSMEXT1:ADDA,@R0SMEXT2:DJNZB,SCLOOPMOV1FH,A;置取數(shù)指針R0初值;置循環(huán)計數(shù)器B初值;第一個數(shù)送A;修改指針;暫存;判兩個數(shù)符號是否相同;若相異,則轉(zhuǎn)RESLAT;若相同,則恢復(fù)A原來值;C清0;兩數(shù)相減,以判兩者大?。蝗鬉為大,則轉(zhuǎn)SMEXT1;若A為小,則將大數(shù)送入A;A恢復(fù)原值;若A為正,則轉(zhuǎn)SMEXT2;若A為負,則轉(zhuǎn)CXAHER;恢復(fù)A原值;所有單元都比較過?未比較完,則繼續(xù);最大者送1FH單元精選課件例3:設(shè)用戶用鍵盤輸入長度不超過100字節(jié)的字符串放在8031單片機外部RAM以20H為首地址的連續(xù)單元,該字符串用回車符CR(‘CR’=0DH)作為結(jié)束標志,要求統(tǒng)計此字符串的長度并存入內(nèi)部RAM的1FH單元中解:從首單元開始取數(shù),每取一數(shù)判斷其是否為‘CR’,是則結(jié)束循環(huán)次數(shù)未知的程序示例精選課件
ORG1000HSTADADATA20HSLANGDATA1FHCMCR2:MOVR0,#STADA-1MOVB,#0FFHCRLOP:INCR0INCBMOVXA,@R0CJNEA,#0DH,CRLOPMOVSLANG,BSJMP$END循環(huán)次數(shù)未知的程序示例精選課件編寫循環(huán)程序應(yīng)注意的問題(1)進入循環(huán)之前,應(yīng)合理設(shè)置循環(huán)初始變量(2)循環(huán)體只能執(zhí)行有限次,如果無限執(zhí)行的話,稱之為死循環(huán),這是應(yīng)當避免的(3)不能破壞或修改循環(huán)體,這里要特別注意避免從循環(huán)體外直接跳轉(zhuǎn)到循環(huán)體內(nèi)(4)多種循環(huán)的嵌套,應(yīng)當是以下兩種形式錯(5)循環(huán)體內(nèi)可以直接轉(zhuǎn)到循環(huán)體外或外層循環(huán)中,實現(xiàn)一個循環(huán)多個條件控制結(jié)束的結(jié)構(gòu)(6)對循環(huán)體的編程要仔細推敲,合理安排,對其優(yōu)化時應(yīng)主要放在縮短執(zhí)行時間上,其次是程序的長度精選課件冒泡法排序-A設(shè)在8031內(nèi)部RAM中存一無符號數(shù)的數(shù)組,其長度為100,起始地址是30H,要求將它們從大到小排序,排序后仍存放在原區(qū)域中精選課件冒泡法排序共4–1=3次外循環(huán)
解:先舉四個數(shù)排序的例子內(nèi)RAM第一次外循環(huán)第二次外循環(huán)第三次外循環(huán)30H0003030631H0302060332H0206020233H06000000精選課件這就是所謂的“冒泡法”4個數(shù)排序最多經(jīng)過3次外循環(huán)就可排出,每次外循環(huán)都包含3次內(nèi)循環(huán)。實際上大多情況不用3次外循環(huán)就可排完對于100個數(shù)排序也是如此,用不到99次循環(huán),排序就結(jié)束為了提高排序速度,程序中可設(shè)一交換標志位如10
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)辦公墻紙裝飾協(xié)議
- 商場攤位租賃合同:鮮花綠植租賃
- 市場營銷總監(jiān)聘用協(xié)議律師
- 假山醫(yī)院景觀施工合同
- 酒店清水池防水施工合同
- 海南省博物館聘用合同指南
- 皮革行業(yè)合同管理樣本
- 智能醫(yī)療弱電綜合布線施工合同
- 眼鏡專柜租賃合同模板
- 商務(wù)中心會議廳翻新合同
- 國開《小學(xué)數(shù)學(xué)教學(xué)研究》形考任務(wù)二
- 維修方案模板
- 冶金行業(yè)特殊工種有哪些崗位
- 初中部綜合素質(zhì)評價實施方案范本(三篇)
- 2023湖南省永州市七年級上學(xué)期語文期末試卷及答案
- 昌建明源銷售系統(tǒng)上線培訓(xùn)
- 仲夏夜之夢-中英對照
- 廣州市本級政府投資項目估算編制指引
- 課堂觀察量表
- (現(xiàn)行版)江蘇省建筑與裝飾工程計價定額說明及計算規(guī)則
- 音樂鑒賞智慧樹知到答案章節(jié)測試2023年山東科技大學(xué)
評論
0/150
提交評論