C++循环结构
一、循環體部分知識點整理
1.for循環
for(表達式1;表達式2;表達式3){break; //用于跳出當前循環體,結束循環。continue; //跳過當前循環體continue后面的代碼,繼續執行下一個循環 return 0; //跳出該函數}程序執行順序,先執行表達式1,驗證表達式2是否為真,執行循環體語句,執行表達式3,再驗證表達式2是否為真,若為真繼續執行上述操作,直至表達式2不成立,跳出循環體,執行后續語句。
特殊用法
for()中可以不加語句也可以添加部分語句,語句不存在時跳過執行,參考while循環。
參考例題
最高的分數
描述
孫老師講授的《計算概論》這門課期中考試剛剛結束,他想知道考試中取得的最高分數。因為人數比較多,他覺得這件事情交給計算機來做比較方便。你能幫孫老師解決這個問題嗎?
輸入
輸入兩行,第一行為整數n(1 <= n <
100),表示參加這次考試的人數.第二行是這n個學生的成績,相鄰兩個數之間用單個空格隔開。所有成績均為0到100之間的整數。
輸出
輸出一個整數,即最高的成績。
#include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() {int i,a=0,b=0;int score[100];cin>>a;for(i=0;i<a;i++){cin>>score[i];b=max(b,score[i]);}cout<<b; return 0; }2.while循環-適合不確定循環次數時使用
while循環
while (條件表達)
{
break; //用于跳出當前循環體,結束循環。
continue; //跳過當前循環體continue后面的代碼,繼續執行下一個循環
return 0; //跳出該函數
}
運行順序:首先檢驗條件語句是否為真若為真,執行循環體,直至條件不成立,跳出循環。
參考例題
金幣 描述
國王將金幣作為工資,發放給忠誠的騎士。第一天,騎士收到一枚金幣;之后兩天(第二天和第三天)里,每天收到兩枚金幣;之后三天(第四、五、六天)里,每天收到三枚金幣;之后四天(第七、八、九、十天)里,每天收到四枚金幣……這種工資發放模式會一直這樣延續下去:當連續N天每天收到N枚金幣后,騎士會在之后的連續N+1天里,每天收到N+1枚金幣(N為任意正整數)。
你需要編寫一個程序,確定從第一天開始的給定天數內,騎士一共獲得了多少金幣。 輸入 一個整數(范圍1到10000),表示天數。 輸出
騎士獲得的金幣數
樣例輸入
6
樣例輸出
14
do-while()循環
do { //循環體 }while() 執行順序大體與while循環一樣,但程序至少執行一遍。 將上述程序改寫為do-while()循環
#include <iostream> #include <cstdio> using namespace std; int main() { int a,i=1,sum=0; cin>>a; do { a=a-i; sum=sum+i*i; if(a<0) sum=sum+a*i; i++; }while(a>0)cout<<sum; return 0; }循環體可以用來解決的問題
從上述題目中可以看到
如果程序中存在需要連續反復執行多次的操作,就可以采用。
另外針對操作次數已經,建議使用計數循環方式。
如果操作次數未知,要求達到指定目標才停止,就采用條件循環。
很多函數大都是循環體。
本階段學習遇到的問題以及學習感悟
從開始不熟悉c語言,到如今的可以熟練的運用簡單的語句,從被動的聽老師講課,到現在自己做題從不會問題中去尋找知識點,進行積累。最近遇到最頭疼的問題就是程序可以運行但是,卻總的不出正確的答案,只要在程序中一個值的錯誤,或者定義變量沒有初始化都使整個程序偏離正確的答案,編程是一件嚴謹的事情,絕不可有半點馬虎,其次是對于題目的理解不夠,循環體中的內容相對,思路出現較慢,理解題目還不夠全面。對于后期的學習應該從題目中總結經驗,歸納題目解題思路,for循環相對于while循環更加實用便捷,通過運用break、continue等可以使程序更簡化,通過循環的套用能夠解決更多更復雜的問題,而對于學過的知識,以為通過編程就可以復習,但是只寫程序而不復習積累過的知識,有些知識還是會遺忘,所以要在學習中回歸書籍以及整理的知識點。
寫在最后:
我叫風骨散人,名字的意思是我多想可以不低頭的自由生活,可現實卻不是這樣。家境貧寒,總得向這個世界低頭,所以我一直在奮斗,想改變我的命運給親人好的生活,希望同樣被生活綁架的你可以通過自己的努力改變現狀,深知成年人的世界里沒有容易二字。目前是一名在校大學生,預計考研,熱愛編程,熱愛技術,喜歡分享,知識無界,希望我的分享可以幫到你!
如果有什么想看的,可以私信我,如果在能力范圍內,我會發布相應的博文!
感謝大家的閱讀!😘你的點贊、收藏、關注是對我最大的鼓勵!
總結
- 上一篇: Win10计算机管理功能怎么开 Win1
- 下一篇: s3c2440移植MQTT