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