c語言的三個循環語句該怎麼區別呢
C語言中的三種循環語言while、do……while、for,從語法角度來區別,主要是執行流程,以及循環三要素的區分。
循環變量初始值、判斷控製表達式、修改循環變量即所謂的循環三要素。一般來說,進入循環之前,應該給循環變量賦初值,確保循環能夠正常開始,在控製表達式中判斷循環變量是否達到循環的終止值,在循環體中對循環條件變量進行修改,以使循環正常的終止。
1、while循環
循環變量初始值:while循環中的循環初始值,隻能在while循環語句前編寫。
判斷控製表達式:循環條件在while關鍵字之後設置。
修改循環變量:在循環體語中設置。
示例:計算[1,100]的所有整數之和
#include? int?main() { int?sum?=?0; int?start?=?1;????????????//初始化 while?(start?<=100)???????>=100)???????> { sum?+=?start; ++start;??????????//循環變量增加 } printf("結果:%d\n",?sum); return?0; } 2、for循環 for循環的執行流程 for語句最大的特點將循環三要素都設置在控製結構,這是非常方便的。還是上麵的例子。 #include? int?main() { int?sum?=?0; for?(int?start?=?1;?//初始化 start?<=100;????>=100;????> ++start?????????//循環變量增加 ) { sum?+=?start; } printf("結果:%d\n",?sum); return?0; } 3、do……while語句 do……while語句的執行流程: do……while語句最大的特點是無論如何循環都會至少執行一次,這是do……while與while和for最大的區別。 循環條件有真、假之分,判定真假的方法和if語句的條件判定是相同的。當循環條件為真時,會執行大括號{}內的所有語句,然後再次對循環條件進行真假判定,即進入下一個循環。當循環條件為假時,不執行大括號內的語句,直接跳至大括號結束處往後執行,即跳出循環。 比較常用的循環有while循環和for循環。 while有兩種格式: (一) while(循環條件) {滿足條件時執行的語句} (二) do {先執行一遍,滿足條件時重複執行的語句} while(循環條件) 這兩者就如同二樓所說,是在於入口條件和出口條件的差別。在while之後的括號()內寫上循環條件,循環條件可以是變量、常量、算式、判定語句如: (一)int a = 10; while(a){ a = a - 1; } (二)while(true){ printf("do while"); } (三)int a = 10; while(a - 1){ a = a - 1; }其實算是也可以看成常量或變量吧 (四)int a = 10; while(0 != a){ a = a - 1; } 另外一提,大括號內的滿足條件時執行的語句可為空,就是不寫。形如:while(循環條件){}。但是空的大括號{}一定要帶上,如果寫成while(循環條件),就是錯誤的。但是在滿足條件時執性語句隻有一句時,可以不寫大括號,此時若執行語句為空,則寫成while(循環條件);。注意那個分號。 for循環的格式: for(初始語句; 循環條件; 執行語句){滿足條件時執性的語句} 參照以上while循環的格式。 循環條件判定真假方法: 對於bool型變量和常量,true即為真、false即為假。 對於數型變量和常量,非零即為真,0即為假。 對於判定句,成立即為真,不成立即為假。 如果if語句隻是判斷條件執行相應語句,條件不成立的話不跳出循環,那麼for循環的表達式3還是會執行,比如: int?a=0,i; for(i=0;i<> { if(i>5) { a=a+i; } } 此種情況下當i<> C提供三種基本的循環語句: for語句、while語句和do-while語句。 一. for循環 for循環是開界的。它的一般形式為: for(<初始化>; <條件表過式>; <增量>) 語句; 初始化總是一個賦值語句, 它用來給循環控製變量賦初值; 條件表達式是一個關係表達式, 它決定什麼時候退出循環; 增量定義循環控製變量每循環一次後按什麼方式變化。這三個部分之間用";"分開。 例如: for(i=1; i<=10;>=10;> 語句; 上例中先給i賦初值1, 判斷i是否小於等於10, 若是則執行語句, 之後值增加1。再重新判斷, 直到條件為假, 即i>10時, 結束循環。 注意: 1. for循環中語句可以為語句體, 但要用"{"和"}"將參加循環的語句括起來。 2. for循環中的"初始化"、"條件表達式"和"增量"都是選擇項, 即可以缺省, 但";"不能缺省。省略了初始化, 表示不對循環控製變量賦初值。 省略了條件表達式, 則不做其它處理時便成為死循環。省略了增量, 則不對循環控製變量進行操作, 這時可在語句體中加入修改循環控製變量的語句。 3. for循環可以有多層嵌套。 例16: main() { int i, j, k; printf("i j k\n"); for (i=0; i<2;>2;> for(j=0; j<2;>2;> for(k=0; k<2;>2;> printf(%d %d %d\n", i, j, k); } 輸出結果為: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 二、 while循環 while循環的一般形式為: while(條件) 語句; while循環表示當條件為真時, 便執行語句。直到條件為假才結束循環。 並繼續執行循環程序外的後續語句。 例17: #include main() { char c; c=’\0’; /*初始化c*/ while(c!=’\X0D’) /*回車結束循環*/ c=getche(); /*帶回顯的從鍵盤接收字符......餘下全文>> 條件判斷語句:if語句、switch語句、condition ? exp1 : exp2(問號表達式) 循環語句:for語句、while語句、do...while 跳轉語句:continue、break、goto 開關語句:switch語句 Java中提供的循環語句有:while語句、do-while語句和for語句,循環語的作用就是反複執行—段代碼,直到滿足終止循環的條件為止。無論是上麵哪種循環語句,通常包括下 麵四個部分: 1)初始化部分 該部分用來設置循環的一些初始條件,比如循環變量賦初值。 2)循環體部分 循環體是指被反複執行的一段代碼,可以是—條語句,也可以是複合語句。 3)迭代部分(修正部分) 該部分常用來使計數器加1或者減1, 這部分內容在當前循環結束後、下一次循環開始前執行。 4)終止部分 這部分內容在當前循環結束後 用來判定是否終止循環的語句,通常是一個布爾表達式,每一次循環都需要對這個表達式進行求值,以驗證是否滿足循環終止的條件。下麵,我們分別介紹while、do—while和for循環語句。 ●While語句 while語句的格式為: 初始化部分 while (布爾表達式) { 循環體部分 迭代部分 } 當布爾表達式的值為真時,循環執行{}中的複合語句,值得注意的是,while語句格式中的初始化部分和迭代部分是任選的,可以有也可以沒有。 ●do—while語句 do—while語句的格式為: [初始化部分] do{ 循環體部分 造代部分] }while(布爾表達式);[注意:] 上麵的最後的條件()後麵一定不要忘了加一分號 ; 。 對比while語句和do—while語句可以看出,while語句首先計算終止條件,當條件滿足時,才執行循環體中的語句,而do-while語句是首先執行循環體,然後計算終止條件,如果布爾 表達式的值為真,就循環執行{}中的語句,因此,while語句的循環體可能一次也沒有執行,而do—while語句的循環體至少要執行一次。 ●For語句 for語句的一般格式為: for (初始化部分; 終止條件部分; 迭代修正部分 ) { 循環體部分 } for語句執行時,首先執行初始化操作,然後判斷終止條件是否滿足,如果滿足,則執行循環體中的語句,最後執行迭代修正部分。完成一次循環後,重新判斷終止條件。 需要注意的是,初始化、終止以及迭代部分都可以為空語句(但分號不能省),三者均為空的時候,相當於—個無限循環(通常說的死循環)。在初始化部分和迭代部分可以使用逗號語句,來進行多個操作,逗號語句是用逗號分隔的語句序列,如下麵的語句所示: for ( i=0, j=10; i <10 ;="" i++,="">10> { coding…… } 這些都是Java的基礎知識你可以去一個叫做秒秒學的網站學習相關內容 代碼示例片段: int num = 10; int in_put; scanf("%d",&in_put); while(!(in_put == num)) //如果in_put == num 則跳出循環,不等於為假,繼續執行。 { scanf("%d",&in_put); } //條件為真後執行 感覺沒太大區別。表麵上說是for要確定循環次數而while不確定循環次數,但實際上for的演變形式很多,已經和while沒什麼區別了; 比如: while(n) {......;n--} for(; n!=0;) {.......;n--}類似這樣的就沒區別了 當然一定要細細分析的話,總能找到些特殊例子來論證區別的,不然語言在設計循環結構的時候也不會分開了。 關鍵是用最合理,至少自己比較容易明白的方式去表達一個循環才是正途 循環語句隻要條件滿足,就可以無限次的運行循環體內的代碼;條件判斷語句當條件判斷的結果,決定之後運行的代碼塊,但隻運行一次 看完這個例子,你應該會有多領悟。 #include
轉載請注明出處句子大全網 » c語言的三個循環語句該怎麼區別呢c語言中循環條件的詳細解釋
for語句中的循環體部分為if語句,若if的條件語句為假,for的循環體部分
C語言中循環語句有哪些?具體怎麼用?
單片機C語言:3個條件判斷語句、3個循環語句、3個跳轉語句和1個開關語句。
Java中的循環語句指什麼?
循環判斷語句該如何寫 。條件為真則執行語句1,條件為假則重新判斷該條件,直到條件為真。 c語言新手
for語句while語句的區別
循環語句和條件判斷語句的區別是什麼?
條件語句和循環語句都會用到條見表達式