學習筆記 迴圈結構與程式除錯

2021-10-02 01:12:46 字數 2338 閱讀 4896

while語句

格式:while(表示式){

迴圈體}

條件表示式成立,執行一次迴圈體。當表示式成立時,不斷重複執行迴圈體。

do-while語句

格式:dowhile(表示式);

先執行一次迴圈體,然後判斷表示式是否成立,如果成立,則返回繼續執行迴圈。

for語句

for 語句的格式如下:

for( 表示式 1; 表示式 2; 表示式 3)

迴圈巢狀

迴圈結構與分支結構的巢狀類似,也可以在乙個迴圈語句的迴圈體裡出現另乙個迴圈語句,不管是 while 語句、do-while 語句還是 for 語句。這樣的迴圈結構稱為「迴圈巢狀」。

break語句和continue語句

break 語句:就會立刻跳出迴圈體,執行迴圈結構後面的語句。

continue 語句:就會忽略本次迴圈的後續語句而去執行下一次迴圈。

意義:減少運算次數

例如:例 1、與 7 無關的數。

【問題描述】

乙個正整數,如果它能被 7 整除,或者它的某一位上的數字為 7,則稱其為「與 7 相關」的數。現在,請程式設計求出所有小於或等於 n 的「與 7 無關」的正整數個數。

【輸入格式】

一行乙個正整數 n,n≤10^6 。

【輸出格式】

一行乙個整數,表示答案。

#include

using namespace std;

int main()

x = x / 10;

}if(flag1 && flag2) ans++;

}cout << ans << endl;

return 0;

}例 2、與 7 無關的數。

【問題描述】

乙個正整數,如果它能被 7 整除,或者它的某一位上的數字為 7,則稱其為「與 7 相關」的數。

請程式設計求出所有小於或等於 n 的「與 7 無關」的正整數個數。

【輸入格式】

一行乙個正整數 n,n≤10^6 。

【輸出格式】

一行乙個整數,表示答案。

#include

using namespace std;

int main()

x = x / 10;

}if(flag) ans++;

}cout << ans << endl;

return 0;

}靜態查錯

(1)語句的順序、思路、邏輯是否有誤

(2)語法是否有誤,如關鍵字是否錄入錯誤、變數是否沒有定義就使用、變數的大小寫問題、用錯標點符號(注意全半形)等。

(3) 變數未賦初值

(4) 中間運算結果越界

(5) if-else 語句混亂

(6) 實數比較出錯

動態差錯

(1)加輸出語句

例如:#include

using namespace std;

int main()

}cout << 「 prime 」 << endl;

return 0;

}(2)通過「單步執行」觀察跟蹤某個變數的值的變化。

while和if條件判別的區別

和 if 語句不同的是,while語句執行完一次迴圈體後,又回到開始處,繼續計算和判斷表示式的真假,決定是否再次執行迴圈體。

do-while 語句是 c++ 中用於解決至少執行一次重複操作(迴圈體)的迴圈語句。

如果重複執行的操作(迴圈體)次數是固定的、已知的,則一般使用 for 語句。若輸入次數不定用while語句

例如:描述

給出一些整數對,它們表示一些平面上的座標點,給定乙個點,求所有那些點到該點最短距離的點。結構為:第乙個整數對為所給定的點,後面的整數對為所有其他的點。

輸入第乙個整數對為所給定的點,後面的整數對為所有其他的點。

輸出到第乙個點最短距離的點

#include

#include

using namespace std;

int main()

}cout《死迴圈

注意當條件恆成立時迴圈不能結束,形成死迴圈。

在必要時使用標記變數

最近的學習使我認識到:對於程式設計來說最難的不是語言,最難的是解決問題的思路,比如調換任意位數字,對比自己粗暴的對每一位乘相應位次的冪,可以選用加合依次乘10。面對實際問題應該多思考,尋求更簡單的解題方法以程式設計。

關於調程式,應抱有懷疑的態度,應用差錯方法,找錯誤。

多思多嘗試。

五 多重迴圈與程式除錯

多重迴圈 for迴圈,while迴圈,do while迴圈之間的巢狀是任意的 外層迴圈 迴圈一次,內層迴圈 迴圈一遍 一般來說不超過三層 外層迴圈控制行數,內層迴圈控制內容 break語句 break語句普遍用於do while,while,for迴圈當中 break 停止迴圈 continue語句...

學習筆記4 迴圈結構

windows phone 7手機開發 net培訓 期待與您交流!1 while迴圈結構 例 int i 0 一般稱i為迴圈變數 while i 5 while迴圈的語法 while 迴圈條件 執行過程 1 先判斷迴圈條件,如果條件為true,則轉向2 如果條件為false,則轉向3 2 執行迴圈體...

多重迴圈及程式除錯

多重迴圈是指乙個迴圈語句的迴圈體中再包含迴圈語句,又稱巢狀迴圈。迴圈語句內可以巢狀多層迴圈。同時,不同的迴圈語句可以相互巢狀。多重迴圈語句的格式如下。while 迴圈條件1 這是while語句和for語句巢狀的例子。其中while迴圈稱為外層迴圈,for迴圈稱為內層迴圈,因為是兩層巢狀,所以稱為二重...