循環(huán)結構的概述
在之前我們寫的程序都是從上到下順序執(zhí)行的,要么就是選擇性的執(zhí)行某段代碼,現(xiàn)在大家打印10遍“學生C#”,在打印100遍商佑、1000遍。 這時候就會有問題了,發(fā)現(xiàn)我們寫的代碼都是重復的,那么有沒有辦法讓某些代碼可以跟據(jù)需求執(zhí)行多次妖胀,這就是我們這次要學習的的循環(huán)結構
银萍。
什么是循環(huán)結構
循環(huán)就是重復地做络凿, 如下案例分析
//案例
在日常生活中有很多循環(huán)的例子,如打印50份試卷,炒一百道魚香肉絲,
被罰抄一百遍的單詞默寫,或者正在行駛中滾動的車輪都是在重復的做著某些相同的操作;
//分析
打印50份試卷
循環(huán)條件:只要打印試卷的份數(shù)不夠50份就繼續(xù)打印
循環(huán)操作:打印1份試卷,打印試卷的總數(shù)+1;
炒100道魚香肉絲
循環(huán)條件:只要魚香肉絲的數(shù)量不夠100道菜就繼續(xù)炒;
循環(huán)操作:炒1份魚香肉絲,魚香肉絲炒菜總數(shù)+1;
被罰抄100遍默寫:
循環(huán)條件:只要罰抄不夠100遍就得繼續(xù)寫;
循環(huán)操作:寫一遍罰抄,罰抄總數(shù)+1;
滾動的車輪:
循環(huán)條件:沒有到達目的地就繼續(xù)滾動
循環(huán)操作:車輪滾動一圈,離目的地的距離減少車輪的周長;
循環(huán)總結
- 循環(huán)結構的特點:在某條件成立時不斷地做某事情
- 循環(huán)不是無休止進行的,滿足一定的條件時,循環(huán)才會繼續(xù),稱為
循環(huán)條件
; - 循環(huán)結構是反復進行相同的或類似的一系列操作,稱為
循環(huán)操作
;
所以要想構成循環(huán)操作必須滿足擁有循環(huán)條件
和循環(huán)操作
兩件事;
循環(huán)實現(xiàn)方式
在C#中基本的循環(huán)實現(xiàn)方式有三種:
-
for
循環(huán) -
while
循環(huán) -
do...while
循環(huán)
由于篇幅限制憨攒, 我們在本節(jié)中學習for
循環(huán)。
for循環(huán)
循環(huán)關鍵字: for
循環(huán)格式:
for(循環(huán)變量初始化; 循環(huán)條件; 循環(huán)增量)
{
循環(huán)語句段也叫循環(huán)體或者循環(huán)操作
}
格式解釋:
- 1循環(huán)變量初始化:循環(huán)時需要有一個變量來記錄循環(huán)的次數(shù)惧盹,這此處定義記錄次數(shù)的變量乳幸, 并初始化次數(shù),比如默認次數(shù)為0.
- 2循環(huán)條件:什么情況下循環(huán)繼續(xù)執(zhí)行
- 3循環(huán)增量:循環(huán)變量每次增加或者減少多少
- 4循環(huán)操作:在滿足循環(huán)條件時被重復執(zhí)行的代碼段
循環(huán)語法:
先執(zhí)行1-變量初始化-->再進行2 條件判斷 -->然后執(zhí)行4-循環(huán)操作 -->最后 3變量增量-->接著 再判斷2 -->執(zhí)行 4 --> 增量 3-->……………… 按照此順序直到判斷2不滿足時 結束循環(huán)钧椰。
1 --> 2 ---> 4 --> 3 -->2 --> 4--> 3-->2-->4-->3-->…………-->2-->結束
for循環(huán)流程圖
學習案例: 案例非常重要粹断,一定要看哦
/**
* 練習1:打印10遍 學習C#基礎.
*/
for (int i = 0; i < 10; i++) {
Console.WriteLine("學習C#基礎");
}
/**
* 練習2:打印100遍 學習C#基礎.
* 與上一題次數(shù)不一樣
*/
for (int i = 0; i < 100; i++) { //循環(huán)條件不一樣
Console.WriteLine("學習C#基礎");
}
/**
* 練習3:正序打印1~10
*/
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(i);
}
/**
* 練習4:倒序打印1~10
*/
for (int i = 10; i >= 1; i--)
{
Console.WriteLine(i);
}
/**
* 練習5:打印1~10之間的偶數(shù)
*/
//方式一
for (int i = 1; i <= 10; i++)
{
//判斷是不是偶數(shù)
if(i%2 == 0)
{
Console.WriteLine(i);
}
}
//方式二
//2是最小的偶數(shù), 每次+2嫡霞, 后面的就都是偶數(shù)了
for (int i = 2; i <= 10; i+=2)
{
Console.WriteLine(i);
}
/**
* 練習6:打印1~100之間的所有能被7整除的數(shù)
* 注:遍歷出1~100之間的數(shù),然后判斷是否是7的倍數(shù).
*/
for (int i = 1; i <= 100; i++)
{
//判斷能不能被7整除
if(i%7 == 0)
{
Console.WriteLine(i);
}
}
/**
* 練習7:打印200~300之間十位不為7的數(shù).
* 注:遍歷出200~300之間的數(shù),然后判斷是否十位不為7.
* 取十位:三位數(shù)取出十位數(shù)需要先除10得到一個包含百位和十位的兩位數(shù),
* 然后再直接對10取余數(shù)即可. / 10 % 10.
*/
for (int i = 200; i <= 300; i++) {
if (i / 10 % 10 != 7)
{
Console.WriteLine(i);
}
}
/**
* 練習8:求1 ~ 100的整數(shù)和.
*
* 注:遍歷出1~100之間的數(shù),然后累加求和.
*/
int sum = 0; //累加器
for (int i = 1; i <= 100; i++) {
sum += i; //累加求和
}
Console.WriteLine(sum);
/**
* 練習9:求1 ~ 100的偶數(shù)和.
*
* 注:遍歷出1~100之間的數(shù),然后判斷是否是偶數(shù),將偶數(shù)累加求和.
*/
int sum = 0;
for (int i = 1; i <= 100; i++) {
//判斷是否是偶數(shù)
if (i % 2 == 0) {
//只有偶數(shù)才累加
sum += i;
}
}
Console.WriteLine(sum);
/**
* 練習10:判斷一個數(shù)是否是質數(shù). (只能被1和它本身整除的數(shù)是質數(shù))
* 注:遍歷2~該數(shù)-1,如果有數(shù)能被該數(shù)整除瓶埋, 則說明該數(shù)不是質數(shù)
*/
int number = 0; //存儲當前數(shù)
Console.WriteLine("請輸入一個數(shù):\n");
number = int.Parse (Console.ReadLine ());
bool isTrue = true;
for (int i = 2; i < number; i++) {
if (number % i == 0) {
//一旦發(fā)現(xiàn)該數(shù)能夠被2到本身-1的數(shù)整除,說明該數(shù)不是質數(shù),立即將狀態(tài)位置為false.
isTrue = false;
}
}
//根據(jù)狀態(tài)位判斷該數(shù)是否是質數(shù).
if (isTrue) {
Console.WriteLine("該數(shù)是質數(shù)\n");
} else {
Console.WriteLine("該數(shù)不是質數(shù)\n");
}
歡迎大家踴躍評論,讓我們一起探討技術U锘Α养筒!
如果覺得文章不錯,請幫忙點擊文章下方的喜歡
6艘Α晕粪!
你的支持將是對我最好的鼓勵, 謝謝!=ヂ恪兵多!