九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
2.4.4 程序控制結(jié)構(gòu)(2)

2.4.4  程序控制結(jié)構(gòu)(2)

3. 循環(huán)結(jié)構(gòu)

循環(huán)結(jié)構(gòu)是指程序中那些指定一次但可以多次執(zhí)行的語句序列。在程序設(shè)計(jì)語言中,有多種不同的循環(huán)結(jié)構(gòu)。一般地,根據(jù)控制循環(huán)的方式可以分為計(jì)數(shù)控制式循環(huán)結(jié)構(gòu)、條件控制式循環(huán)結(jié)構(gòu)、集合控制式循環(huán)結(jié)構(gòu)等。

如果循環(huán)方式是由指定的循環(huán)次數(shù)控制的,這種循環(huán)結(jié)構(gòu)就是計(jì)數(shù)控制式循環(huán)結(jié)構(gòu)。例如,如果某個(gè)循環(huán)指定循環(huán)10次,那么循環(huán)體語句將被重復(fù)執(zhí)行10次。達(dá)到循環(huán)次數(shù)后,循環(huán)結(jié)束。

在計(jì)數(shù)控制式循環(huán)結(jié)構(gòu)中,大多數(shù)語言都支持三表達(dá)式循環(huán)結(jié)構(gòu)是典型的循環(huán)結(jié)構(gòu)。該結(jié)構(gòu)的基本形式如下:

  1. for (initializer_expression; loop_test_expression; counting_expression)  
  2. /* loop_statements_body */ 

在上面的結(jié)構(gòu)形式中,第一個(gè)表達(dá)式initializer_expression表示初始值表達(dá)式,該表達(dá)式只是在循環(huán)開始時(shí)計(jì)算一次且僅一次;loop_test_expression表達(dá)式在每次循環(huán)開始時(shí)進(jìn)行計(jì)算,判斷此次循環(huán)是否執(zhí)行;counting_expression表達(dá)式是在每次循環(huán)結(jié)構(gòu)之后進(jìn)行計(jì)算,主要用于修改控制循環(huán)的變量。loop_statements_body表示循環(huán)語句體。表達(dá)式循環(huán)結(jié)構(gòu)的流程圖如圖2-4所示。

 
圖2-4  三表達(dá)式循環(huán)結(jié)構(gòu)流程圖
在下面的示例中,初始表達(dá)式是i=0,循環(huán)判斷表達(dá)式是i<10,循環(huán)變量控制表達(dá)式是i++,循環(huán)語句體是print i。首先,i=0滿足i<10的條件,因此i=0時(shí)執(zhí)行一次循環(huán)。結(jié)束之后,i=0經(jīng)過i++運(yùn)算之后變?yōu)閕=1,繼續(xù)滿足i<10的條件,因此i=1時(shí)執(zhí)行第二次循環(huán)。繼續(xù),直到i=9時(shí)執(zhí)行第10次循環(huán)。當(dāng)i=10時(shí),由于不滿足i<10的條件,所以程序退出循環(huán)結(jié)構(gòu)。
  1. for (i = 0; i < 10; i++)  
  2. print i;  

除了前面的三表達(dá)式循環(huán)結(jié)構(gòu)之外,計(jì)數(shù)控制式循環(huán)結(jié)構(gòu)還有其他一些形式。下面列出了一些典型的循環(huán)結(jié)構(gòu)形式。在這些循環(huán)結(jié)構(gòu)中,默認(rèn)的循環(huán)變量增量都是1。

  1. //for-next形式的計(jì)數(shù)控制式循環(huán)  
  2. for i = 1 to N  
  3.     loop_statements_body  
  4. next i  
  5. //for-end形式的計(jì)數(shù)控制式循環(huán)  
  6. for i := 1 to N do begin  
  7.     loop_statements_body  
  8. end  
  9. //DO-END DO形式的計(jì)數(shù)控制式循環(huán)  
  10. DO i =1, N  
  11.     loop_statements_body  
  12. END DO 

條件控制式循環(huán)結(jié)構(gòu)是指在滿足循環(huán)條件時(shí)執(zhí)行循環(huán)操作的循環(huán)結(jié)構(gòu)。在這種形式的循環(huán)結(jié)構(gòu)中,有些循環(huán)語句是在循環(huán)開始時(shí)進(jìn)行條件判斷,有些循環(huán)語句則是在循環(huán)結(jié)束時(shí)進(jìn)行條件判斷。有兩種典型的條件控制式循環(huán)結(jié)構(gòu):一種是while循環(huán)結(jié)構(gòu),另一種是do-while循環(huán)結(jié)構(gòu)。

while循環(huán)結(jié)構(gòu)類似于for語句循環(huán)。while循環(huán)由循環(huán)判斷條件和循環(huán)語句體組成。在執(zhí)行時(shí),首先計(jì)算循環(huán)判斷條件,如果該布爾條件的值為true,則執(zhí)行循環(huán)語句體。循環(huán)語句體一直被循環(huán)執(zhí)行,直到循環(huán)判斷條件的值為false為止。這是一種先判斷后執(zhí)行循環(huán)的語句結(jié)構(gòu)。下面是兩個(gè)while循環(huán)語句的示例。第一個(gè)示例是Java、C#語言的示例,第二個(gè)是Visual Basic .NET語言示例。值得注意的是,在Visual Basic .NET語言示例中,雖然也出現(xiàn)了Do關(guān)鍵字,但是由于該循環(huán)方式依然是先判斷后執(zhí)行,因此也屬于while循環(huán)結(jié)構(gòu)。

  1. //Java語言和C#語言  
  2. int counter = 100;  
  3. int factorial = 1;  
  4. while (counter > 1)  
  5. {  
  6.    factorial *= counter--;  
  7. }  
  8.  
  9. 'Visual Basic.NET語言  
  10. Dim counter As UInteger = 100 
  11. Dim factorial As UInteger = 1 
  12. Do While counter > 0  
  13.   factorial *= counter  
  14.   counter -= 1 
  15. Loop 

與while循環(huán)結(jié)構(gòu)不同的是,do-while循環(huán)結(jié)構(gòu)是先執(zhí)行循環(huán)體語句,然后再進(jìn)行循環(huán)條件判斷。在do-while循環(huán)結(jié)構(gòu)中,首先執(zhí)行循環(huán)體,然后計(jì)算循環(huán)條件,如果循環(huán)條件的值為true,則繼續(xù)執(zhí)行循環(huán)體,一直到循環(huán)條件為false為止。在下面的示例中,可以看到先執(zhí)行循環(huán)然后再進(jìn)行條件判斷的情景。從示例中可以看出,Pascal語言使用repeat-until的形式進(jìn)行循環(huán),這種循環(huán)結(jié)構(gòu)的形式也是先執(zhí)行循環(huán)體再進(jìn)行條件判斷。

  1. //C和C++語言  
  2. int counter = 100;  
  3. long factorial = 1;  
  4. do {  
  5.   factorial *= counter--;  
  6. } while (counter > 0);  
  7.  
  8. //Pascal語言  
  9. var  
  10.   counter, factorial: integer;  
  11. begin  
  12.   counter := 100;  
  13.   factorial := 1;  
  14.   repeat  
  15.     factorial := factorial * counter;  
  16.     Dec(counter);  
  17.   until counter = 0;  
  18. end. 

集合控制式循環(huán)結(jié)構(gòu)是一種通過在集合中遍歷集合元素的循環(huán)方式,其典型的語句是foreach。該結(jié)構(gòu)的基本語法形式如下:

  1. foreach item in collection:  
  2. do something to item 

下面是幾個(gè)集合控制式循環(huán)示例。第一個(gè)示例是C#語言的foreach用法,第二個(gè)示例是Perl語言中的示例(變量$x是@arr集合中的元素),第三個(gè)示例是Visual Basic .NET語言示例(使用For Each..Next語句)。

  1. // C#語言示例  
  2. foreach (type item in set)  
  3. {  
  4.   // do something to item  
  5. }  
  6. #Perl語言示例  
  7. foreach $x(@arr) { #$x is the element in @arr  
  8. print $x;  
  9. }  
  10. 'Visual Basic .NET語言示例  
  11. For Each item As type In set  
  12.  'do something to item  
  13. Next item 

【責(zé)任編輯:云霞 TEL:(010)68476606】

回書目   上一節(jié)   下一節(jié)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[中學(xué)]循序漸進(jìn)學(xué)Python之循環(huán)語句
關(guān)于PLC一直說結(jié)構(gòu)化編程,到底什么才是結(jié)構(gòu)化編程
控制流
mysql儲存過程的優(yōu)缺點(diǎn)和創(chuàng)建使用詳細(xì)教程
規(guī)整的編程語言:C語言的三大結(jié)構(gòu)你都知道嗎?
do while 循環(huán)結(jié)構(gòu)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服