------------恢復內容開始------------
在C語言中回圈可分為3中,while回圈、do - while回圈、for 回圈,
一、while回圈
while即:首先檢查啟動回圈的條件是否滿足,當條件滿足時,不斷地重復回圈體內的陳述句,直到不滿足條件就退出,
while回圈基本形式:
while (條件){ <回圈體>;
<回圈體>;
}
eg: 1
//輸入任意個int型,整數并判斷其位數 #include <stdio.h> int main() { int x; int n=0; scanf("%d",&x); n++; x /=10; while (x > 0){ n++; x /=10; } printf("%d\n",n); return 0;
}
eg: 2
//判斷輸入的位數 /* 1.用戶輸入x; 2.初始化n為0; 3.x = x/10,去掉個位; 4.n++; 5.如果 x>0,回到3; 6.否則n就是結果; */ #include <stdio.h> int main() { int x; int n=0; scanf("%d",&x); n++;//n=1 x /=10;//對輸入的數進行取整數商,得到的 x放入while回圈中 while (x > 0){ //判斷 x 是否大于零,滿足條件則執行大括號中的陳述句 n++;//n=2 x /=10; } printf("%d\n",n); return 0; }
eg: 3
//輸入一個數,計算階乘(while方法)
#include <stdio.h> int main() { int n;//定義變數n為輸入的數 scanf("%d",&n);//讀入輸入的數 int fact = 1;//定義變數fact保存程式的結果 (初始化) int i = 1;//定義變數 i 作為回圈條件 (初始化) while (i <= n){ fact *= i; i ++; } printf("%d!=%d\n",n,fact); return 0; }
二、do while 回圈
do while 即:進入do while 前不做檢查,而是在執行完一輪回圈后再來檢查回圈的條件是否滿足,如果滿足則繼續下一輪回圈,不滿足則結束回圈,
do while 回圈至少是要被執行一次的!
基本形式:
do { <回圈體>; <回圈體>; }while (<條件>); //在while大括號后面必須要有括號
while回圈和do while 回圈的區別:while回圈是先判斷條件, do while 回圈是在執行了一輪回圈后再來判斷條件,無論條件是否滿足do while 都至少會被執行一輪,
而while回圈是條件滿足執行,不滿足結束回圈,
eg:
//判斷任意位數(do -while方法) #include <stdio.h> int main() { int x; int n=0; scanf("%d",&x); do { x /=10; n ++; } while( x >0); printf("%d\n",n); return 0; }
三、for 回圈
for回圈類似一個計數回圈,設定一個計數器,初始化它,然后在計數器到達某值之前重復執行回圈體,同時每執行一輪回圈,計數器值以一定步進進行調整,
for(初始動作,條件,每輪的動作){
<回圈體>;
<回圈體>;
}
小套路:做求和程式時,記錄結果的變數應該初始化為0;而做求積的 程式時,記錄結果的變數應該初始化為1.
while回圈和for 回圈可以說是等價的,任何一個for回圈都可以改造成while回圈
//while回圈和for 回圈可以說是等價的,任何一個for回圈都可以改造成while回圈 for (int i= 1, i <=n, i ++){ fact *= i; } ||||||| ||||||| int i = 1; while ( i <=n ){ fact *=i; i ++; }
eg:
//輸入一個數,計算階乘(for方法) #include <stdio.h> int main() { int n; scanf("%d",&n); int fact = 1; int i = 1;//定義變數 i 初始值為1 for (i=1; i<=n; i++ ){ //i=1作為初始條件 ,i<=n是回圈繼續的條件,i++是 回圈每一輪要做的事情 /* 例如我前面輸入的變數 n 等于4,當執行到 for 回圈時,首先計算機會將變數 i=1 作為初始值 如果 i 小于等于4就執行回圈,即執行回圈體的陳述句塊,最后再來執行 i++, 反之就跳出回圈*/ fact *= i; } printf("%d!=%d\n",n,fact); return 0; }
總結:如果程式回圈的次數,有固定次數用for;
如果必須執行一次,用do - while;
其它情況用while;
------------恢復內容結束------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/36273.html
標籤:C
上一篇:【啟蒙】C筆記之初學階段(上篇)
下一篇:Warshall關系傳遞閉包
