在程式設計中,經常需要反覆執行某一條語句或乙個語句塊,這種結構稱為「迴圈結構」或者「重複結構」。在c++中,迴圈結構有三種實現語句:while語、do-while-語句和for語句。
一,while語句
格式:while(表示式)
其含義為:先計算表示式(一般稱為迴圈條件)的值,當表示式的值為真(迴圈條件成立)時,去執行一次迴圈體。和if語句不同的是,執行完一次迴圈體後,while語句又回到開始處,繼續計算和判斷表示式的真假,決定是否再次執行迴圈體。也就是「當表示式成立時,不斷重複執行迴圈體」,所以又稱為「當型迴圈」。
例如:求1+2+3+……+100的值。
問題分析:
設sum存放答案,初始化為0。再設i為迴圈控制變數,初始化為1當迴圈條件(i<=100)成立時,反覆執行以下迴圈體:
(1)將i累加到和sum中;
(2)將i取值為下乙個數,即i++
最後,輸出ans的值。
#include
using namespace std;
int main ()
return 0;
}五break和continue語句
1)break語句
在迴圈體中遇到break語句,就會立刻跳出迴圈體,執行迴圈結構後面的語句.
例:與7無關的數。
【問題描述】
乙個正整數,如果它能被7整除,或者它的某一位上的數字為7,則稱其為「與7相關」的數,現在,請程式設計求出所有小於或等於n的「與7無關」的正整數個數。
【輸入格式】
一行乙個正整數n,n≤10的6次方
【輸出格式]
一行乙個整數,表示答案。
[樣例輸入]
21[樣例輸出]
17[問題分析]
判斷x中是否有數字7的時候,一旦出現「x%107,則說明x是與7相關的數,就可以用break語句立刻退出當前的while迴圈,這樣可以提高程式的效率。
#include
using namespace std;
int main()
x=×/10;
}if (flagi&&flag2 ) ans++ ;
}cout<0」時,說明i已經是與7相關的數了,此時,就不再需要判斷i可的某一位是否是7了。所以,可以用continue忽略本次迴圈的後續語句,而去執行下一次迴圈,判斷下乙個數了。這樣做同樣可以提高程式的效率。
#includec
using namespace std ;
int main()
if (flag) ans++ ;
}cout << ans << endl ;
return 0 ;
}六,程式的除錯與跟蹤
1)靜態查錯
程式寫好後,首先要從頭至尾通讀程式,檢查是否存在下面幾個問題:語句的順序、思路、邏輯是否有誤;語法是否有誤,如關鍵字是否錄入錯誤、變數是否沒有定義就使用、變數的大小寫問題、用錯標點符號等。其他常見的錯誤還有以下幾個方面。
(1)變數未賦初值
(2)中間運算結果越界
(3)if-else語句混亂
(4)實數比較出錯
2)動態查錯
動態除錯為常用方法
注:動態除錯用增加輸出語句的方式,提交之前要把動態除錯語句註解掉
3)借助ide的除錯工具實施單步跟蹤
學習心得:
迴圈結構明顯比前面的知識難了許多,做作業也用了比較長的時間,迴圈結構是前面所學知識的綜合,通過做迴圈結構的題,也對前面的知識進行加強,比如if語句的使用,scanf函式的使用,prinf函式的使用等等,迴圈巢狀是這一單元的重難點,需要比較強的邏輯思維能力,所以在平時要加強對基礎知識的練習,對知識點反覆揣摩,熟練應用,才能達到對迴圈結構熟練應用的目地。
學習感受:
通過這一課的習題,最大的感受是要仔細審題,要有乙個清楚的解題思路,並有很好的c語言基礎和程式設計能力,多加注意細節,這樣題目才會容易解出。
迴圈結構程式設計總結
迴圈結構程式總結 第一部分 一.迴圈結構的三種實現語句 while語句,do while語句和for語句 while語句 1.格式 while 表示式 while 表示式 注意 語句先執行迴圈題再判斷表示式,故至少執行一次迴圈體 經典例題 除十取餘 p106 利用除十取餘依次把各位數字都取出來 一般...
迴圈結構程式設計總結
含義 先計算表示式 一般稱為迴圈條件 的值。當表示式的值為真 迴圈條件成立 時,去執行一次迴圈體,也就是 當表示式成立時不斷重複執行迴圈體,所以又稱為 當型迴圈 格式 while 表示式 注意 死迴圈 無法靠自身的控制終止的迴圈 e.g.include intmain a return0 含義 先執...
迴圈結構程式設計 總結
迴圈結構程式設計 一 迴圈結構的三種實現語句 while語句do while語句和for語句乙個迴圈語句的迴圈體內又包含迴圈語句,稱為巢狀迴圈。各種迴圈語句都可以相互巢狀,使用巢狀迴圈時應使用復合語句保證邏輯上的正確性,內層和外層迴圈控制變數不能同名,防止造成混亂 還要採用右縮排格式書寫保證層次的清...