四、循環(huán)語(yǔ)句
(一)DO語(yǔ)句
DO語(yǔ)句的一般形式為:
DO n V=el,e2,e3
n循環(huán)體
其中,n為語(yǔ)句標(biāo)號(hào);V為循環(huán)控制變量,它只能是簡(jiǎn)單變量(整型或?qū)嵭停,不能是表達(dá)式;el,e2,e3分別為循環(huán)控制變量的初值、終值與增量(步長(zhǎng)),它們都可以是表達(dá)式,當(dāng)e3為1時(shí)可以省略不寫(xiě)。循環(huán)體是若干語(yǔ)句的集合,其中最后一個(gè)語(yǔ)句稱(chēng)為循環(huán)終端語(yǔ)句;若循環(huán)體只有一個(gè)語(yǔ)句,則該語(yǔ)句也就是終端語(yǔ)句。終端語(yǔ)句必須有標(biāo)號(hào)n.
在DO循環(huán)執(zhí)行時(shí),首先計(jì)算表達(dá)式el,e2,e3的值,并將它們化為與循環(huán)控制變量V的類(lèi)型一致;然后將初值賦給循環(huán)控制變量v,并計(jì)算需要循環(huán)的次數(shù);最后根據(jù)循環(huán)次數(shù)重復(fù)執(zhí)行循環(huán)體中的語(yǔ)句,并每次執(zhí)行完循環(huán)體后,將循環(huán)控制變量增值一次,循環(huán)次數(shù)減少一次。當(dāng)循環(huán)次數(shù)為零時(shí),則結(jié)束循環(huán),轉(zhuǎn)向程序規(guī)定的下一個(gè)語(yǔ)句。
(二)繼續(xù)語(yǔ)句CONTINUECONTINUE
是一個(gè)可執(zhí)行語(yǔ)句,其功能是使程序的流程繼續(xù)到邏輯上的下一個(gè)語(yǔ)句。
FORTRAN77規(guī)定,循環(huán)終端語(yǔ)句必須是一個(gè)可執(zhí)行語(yǔ)句,但不能是GOTO語(yǔ)句、塊IF語(yǔ)句、ELSE語(yǔ)句、ELSEIF語(yǔ)句、ENDIF語(yǔ)句、00語(yǔ)句、STOP語(yǔ)句、END語(yǔ)句。由于這些限制,通常用CONTINUE語(yǔ)句作為循環(huán)的終端語(yǔ)句。當(dāng)然,CONTINUE語(yǔ)句也可用在其他場(chǎng)合。
(三)循環(huán)嵌套
使用循環(huán)嵌套可以實(shí)現(xiàn)多重循環(huán)。這時(shí)應(yīng)注意各重循環(huán)的層次和循環(huán)變量的關(guān)系。例如,編寫(xiě)一個(gè)計(jì)算乘法表的程序段,可以寫(xiě)為:
DO101=1,9
DO8J=l,9
IJ=I*j8CONTINUE10CONTINUE
本例中,外層循環(huán)控制變量I初值為1,終值為9,內(nèi)層循環(huán)控制變量J初值為外層循環(huán)控制變量I的當(dāng)前值,終值為9.外層的第1次循環(huán),內(nèi)層經(jīng)過(guò)9-1+1=9次循環(huán),依次計(jì)算1×1=1,1×2=2,…,1×9=9,外層的第2次循環(huán),內(nèi)層經(jīng)過(guò)9-2+1=8次循環(huán),依次計(jì)算2×2=4,2×3=6,…,2×9=18……
(四)使用循環(huán)語(yǔ)句應(yīng)注意的若干問(wèn)題
1.正確選定循環(huán)變量的初值。比如,對(duì)累加問(wèn)題和連乘問(wèn)題,變量初值不正確,使影響最終結(jié)果。
例如計(jì)算m=l!十2!+……十10!,采用循環(huán)語(yǔ)句編寫(xiě)程序,涉及到累加和連乘。其程序可編寫(xiě)如下:
m=0
n=1
DO 20I=1,10
n=n×I
m=m十n
20 CONTINUE
PRINT*,m
END
例中,n用于存放連乘結(jié)果,其初值設(shè)定為1,而m用于存放累加結(jié)果,其初值設(shè)定為0.2.DO語(yǔ)句可以和轉(zhuǎn)換語(yǔ)句,條件語(yǔ)句等結(jié)合起來(lái)使用,此時(shí)應(yīng)注意從循環(huán)體內(nèi)可以轉(zhuǎn)向循環(huán)體外,但不允許從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi);從內(nèi)層循環(huán)中可以轉(zhuǎn)向外層循環(huán),但不允許從外層循環(huán)轉(zhuǎn)向內(nèi)層循環(huán)中。
3.當(dāng)內(nèi)外層循環(huán)體的終端語(yǔ)句相同,且兩個(gè)終端語(yǔ)句之間沒(méi)有其他語(yǔ)句時(shí),可以合并使用一個(gè)終端語(yǔ)句。例如,前面計(jì)算乘法表的程序段可以寫(xiě)為:
DO 10I=1.9
DO10J=I,9
IJ=I*j
10 CONTINUE
或?qū)憺?
DO 10 I=1,9
00 10J=I,9
10 IJ=I*J
考試簡(jiǎn)介 | 報(bào)名條件 | 報(bào)名時(shí)間 | 報(bào)名方式 |
考試時(shí)間 | 考試科目 | 成績(jī)管理 | 考試動(dòng)態(tài) |
了解更多 | 報(bào)考咨詢(xún) |
4大班次+考前模擬題 提升學(xué)習(xí)效果;
經(jīng)典班次組合 專(zhuān)家在線(xiàn)答疑!
特色通關(guān)班:當(dāng)期考試結(jié)束后一周關(guān)閉
特色無(wú)憂(yōu)班:報(bào)名或考試當(dāng)期不過(guò),第二年免費(fèi)學(xué)
4大班次+考前模擬題+1套預(yù)測(cè)試題
智能交互課件 階段測(cè)試點(diǎn)評(píng)!
精品通關(guān)班:當(dāng)期考試結(jié)束后一周關(guān)閉
精品無(wú)憂(yōu)班:報(bào)名或考試當(dāng)期不過(guò),第二年免費(fèi)學(xué)
考前模擬題+2套預(yù)測(cè)試題+考前沖關(guān)寶典
名師定期直播 一對(duì)一跟蹤教學(xué)
實(shí)驗(yàn)通關(guān)班:當(dāng)期考試結(jié)束后一周關(guān)閉
實(shí)驗(yàn)無(wú)憂(yōu)班:報(bào)名或考試當(dāng)期不過(guò),第二年免費(fèi)學(xué)
考前模擬題+3套預(yù)測(cè)題+沖關(guān)寶典+考前重點(diǎn)
大數(shù)據(jù)分析小灶教學(xué) 私人定制服務(wù)!
定制通關(guān)班:當(dāng)期考試結(jié)束后一周關(guān)閉
定制無(wú)憂(yōu)班:報(bào)名或考試當(dāng)期不過(guò),第二年免費(fèi)學(xué)
1、凡本網(wǎng)注明“來(lái)源:建設(shè)工程教育網(wǎng)”的所有作品,版權(quán)均屬建設(shè)工程教育網(wǎng)所有,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、鏈接、轉(zhuǎn)貼或以其他方式使用;已經(jīng)本網(wǎng)授權(quán)的,應(yīng)在授權(quán)范圍內(nèi)使用,且必須注明“來(lái)源:建設(shè)工程教育網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其法律責(zé)任。
2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標(biāo)明作者和出處。對(duì)于本網(wǎng)刊載作品涉及版權(quán)等問(wèn)題的,請(qǐng)作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實(shí)確認(rèn)后會(huì)盡快予以處理。
本網(wǎng)轉(zhuǎn)載之作品,并不意味著認(rèn)同該作品的觀點(diǎn)或真實(shí)性。如其他媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用,請(qǐng)與著作權(quán)人聯(lián)系,并自負(fù)法律責(zé)任。
3、聯(lián)系方式:010-82326699 / 400 810 5999。
010-82326699
400 810 5999
官方微信