for語句和while語句還有do while語句
1:for循環 for語句的格式為: for (初始化語句; 條件語句; 控制語句) { 語句1 ; 語句2 ; 。
. 語句n ; } for 語句的執行順序是:首先執行“初始化語句”;然后測試“條件語句”;若條件成立,則執行語句1到語句n;然后執行“控制”語句;接著再測試條件語句是否成立,如果成立則重復執行以上過程,直至條件不成立時才結束for循環。如: for(i=0;i<10;i++)。
。; int i,a[]=new int[10]; for (i=0,i<10;i++) a[i]= 0; 這段代碼把整型數組a中的所有元素都賦成0。
你可以在for循環的頭部說明你的變量,而且最后一個表達式可以省略,不過要確定在語句中對變量的值有所改變,如: for(int i=0;i<=10;) i+=i; for循環中,“初始化語句”、“條件語句”和“控制語句”都可以省略,但是其間的分號不能省略。例如: int i =0 ; for (; ; ;) { if i>10 break ; i = i +1 ; } for循環中省略“條件語句”時,在for語句{}中必須包換轉句語句控制程序在某個條件滿足時跳出for循環,否則將形成死循環2:while循環 while循環和for循環類似,其格式為: while (條件語句) { 語句1 ; 語句2 ; 。
. 語句n ; } 執行while時,先測試“條件語句”,如果條件成立,則執行語句1到語句n,直至條件不成立時調處循環。 int i=0 ; while (i<10) { i++ ; *n("Hey!.get me out of here!:); }3:do 。
while 循環 do 。 while 循環語句的格式為: do { 語句1 ; 語句2 ; 。
. 語句n ; } while (條件語句) ; do 。while 語句的功能是首先執行語句1到語句n,然后進行條件測試,如果條件成立,則繼續執行語句1到語句n,否這跳出循環。
如: boolean test=false; do { 。
} while(test); 這種控制并不是很常用,但有時卻非常重要,使用時注意結尾處while語句后的分號。
什么是repeat語句和while語句
【用途】用于你不知道確切的循環次數的時候。
【while】一般形式 while (boolean表達式) do(循環體)fp運行到這里時 會先檢查Boolean表達式的值[注:這里就是while和repeat的區別!]當為true的時候 再執行你的循環體[反之 當一開始Boolean表達式就為false的時候 他直接跳過 根本不執行循環體]執行完一次之后 返回檢查Boolean表達式的值如果依舊為true 則繼續執行循環體 否則循環結束 執行接下來的語句【實例】在我所接觸到的題目中while語句一般用于讀入數據的處理上比如題目要你讀入一個字符串 并約定以'?'(或者其他符符號)作為結束的標志那么此時 while語句就可以π上用場了[code]var ch : char; s : string;begin s := ''; read(ch); while ch<>'?' do begin s := s + ch; read(ch); end;。 。
這就是這個程序的讀入的處理了應該說 在很多以字符讀入的題目中 while語句是很有用的(而且越到后來 你就會發現 很多題目算法其實很簡單反而在數據的讀入處理上很糾結 這個時候你就一定一定要想到while了..)[注:如果有的時候 你發 現你的code運行之后一直是黑屏(死循環)那么你一定要確保你的while語句是對的比如剛才的例子中 我的ch的值 是不斷地改變的也就是說 循環體中通常包括改變Boolean表達式值的語句而往往初學者就忘記了這一點 所以導致Boolean表達式始終為true而導致程序陷入死循環還是拿剛才的例子來說吧如果我沒有寫read(ch)這一句話 而你讀入的字符串第一個字符也不是'?'那么ch<>'?'就一直為真 so 電腦這個苕家伙就一直運行下去了..= =;; 像我到后來寫N長的題目的時候 最痛苦的莫過于差錯了..更痛苦的是 查了半天覺得主程序沒錯 而最后發現是while讀入的問題的時候真的是想撞墻啊。所以 童鞋你一定要注意!!!]【repeat】一般形式repeat (循環體)until (Boolean表達式)fp運行到這里會先執行循環體 then檢查Boolean表達式的值當為true的時候 停止執行循環體所以呢 repeat語句都至少執行一次循環體的【實例】我們就還是拿剛才while里面的例子來說吧那么我們用repeat就應該這樣寫//var ch : char; s : string;begin repeat read(ch); s := s + ch; until ch='?';。
。其實最終的目的和效果都是一樣的喔 剛才漏了一點額不僅是讀入啊 到后來要你循環求解比如萬惡但是相當經典的“生日蛋糕問題”或者基礎的轉N進制問題這些題目都是需要用到while和repeat(轉進制問題中 你用了while之后 就會感嘆哇塞 while真方便)當然還有很多很多 這里就不列舉了[注:值得注意的依舊是注意表達式值的改變repeat while中最常見的都是無限循環]【比較while和repeat】區別呢在上面也提到了 就再總結一下吧1. repeat至少執行一次循環體 while最少一次都不執行2. repeat是Boolean值為真時停止循環 while則是為真的時候繼續循環到實際的應用中你就根據兩者的差別來適當地選擇啦(剛開始的時候我覺得這倆是無所謂寫哪個個畢竟效果都一樣 只不過寫法不一樣而已但是到后來 根據題目的不同 你還是會發現其中的某一個比另一個較優這個就得在你寫題的過程中慢慢理會啦不過如果你沒有理會的話= =;;那就哪個順手寫哪個吧..)呃..以上就是我總結的啦。
不知道你看不看得懂呃。
請問語句do{.}while(!i)是什么意思?為什么會構成死循環?最好具體解
首先說說do……while的原理假設語句內容為do A while(B)則首先執行語句A,然后對語句B進行判定若B為真,則再次執行A,判定B,如此循環若B為假,則循環結束回到你的問題,根據問題內容,判定語句B為!i,也就是i的否定那么當i為真,或者在c語言中為非0的數值的時候,則循環結束那么在A語句,也就是do后面那一段中,一定要有能改變i的語句存在,否則i就會是固定的一個值若該值為0,或者為false,那么while的判斷則一直為真,循環一直持續下去,無法結束,造成死循環。