循環(huán)結(jié)構(gòu)
要么痛苦的堅持游戲結(jié)束 可能會升級
要么結(jié)束游戲繼續(xù)的痛苦 可能有遺憾
知識點
(1) . while
(2) . break語句
(3) . do-while
(4) . for
(5) . foreach
(6) . 程序調(diào)試
一、 問題
l 實際生活中的循環(huán):打印100份試卷
l 李四這次考試又粗心了,爸爸讓他寫1000遍“下次考試一定要細(xì)心”.(復(fù)印紙加三根筆)
如何編程實現(xiàn)上面的問題?
Console.WriteLine("下次考試一定要細(xì)心");
Console.WriteLine("下次考試一定要細(xì)心");
Console.WriteLine("下次考試一定要細(xì)心");
……
二、 While循環(huán)
(一) 語法
while(循環(huán)條件)
{
循環(huán)體;
}
(二) 執(zhí)行過程
程序運行到while處,首先判斷while所帶的循環(huán)條件是否成立,如果成立,也就是為true,則執(zhí)行大括號中的循環(huán)體,
當(dāng)循環(huán)體執(zhí)行完成一遍后,繼續(xù)回到循環(huán)條件進(jìn)行判斷,如果成立,則執(zhí)行,如果不成立,則跳出while循環(huán)。
每個循環(huán)都有那么一行代碼,能夠改變循環(huán)條件,使之終有一天不再成立,如果程序中沒有那么一行代碼能夠改變循環(huán)條件,那么我稱之為這種循環(huán)叫做死循環(huán)。
特點:****先判斷,再執(zhí)行,有可能一次都不執(zhí)行。
(三) 流程圖
[圖片上傳失敗...(image-2b93fd-1541646909615)]
(四) 注意事項
在寫while循環(huán)的時候,一定要分析出循環(huán)體和循環(huán)條件。
(五) 解決實際問題
int i=0;
while(i<1000)
{
Console.WriteLine(“我下次一定要超越他”);
i++;
}
(六) while循環(huán)的練習(xí)
(1) . 打印10次"歡迎您來到寧波教育學(xué)院學(xué)習(xí)"
(2) . 求1-100之間的所有整數(shù)和,求1-100之間所有偶數(shù)和
int i = 1;
int sum = 0;
while (i <= 100)
{
if (i % 2 == 0)
{
sum += i;//sum=sum+i;
}
i++;
}
Console.WriteLine(sum);
Console.ReadKey();
(3) . 2006年培養(yǎng)學(xué)員80000人,每年增長25%,請問按此增長速度,到哪一年培訓(xùn)學(xué)員人數(shù)將達(dá)到20萬人?
int year = 2006;
double people = 80000;
while (people <= 200000)
{
//每年增長25%
people *= 1.25;
year++;
}
Console.WriteLine("到{0}年的時候,人數(shù)將達(dá)到20萬",year);
Console.ReadKey();
.0
(七) 作業(yè)
作業(yè)1:輸入班級人數(shù),然后依次輸入學(xué)員成績,計算班級學(xué)員的平均成績和總成績
Console.WriteLine("請輸入班級人數(shù)");
int count = Convert.ToInt32(Console.ReadLine());
int i = 0;//聲明一個循環(huán)變量,記錄循環(huán)的次數(shù)
int sum = 0;//定義總成績
while (i < count)
{
Console.WriteLine("請輸入第{0}個學(xué)員的成績", i + 1);
try
{
int score = Convert.ToInt32(Console.ReadLine());
//將每一個學(xué)員的成績累加到總成績中
sum += score;
i++;
}
catch
{
Console.WriteLine("輸入有誤,請重新輸入");
}
}
Console.WriteLine("{0}個人的班總成績是{1}平均成績是{2}", count, sum, sum / count);
Console.ReadKey();
作業(yè)2:編寫程序,估計一個職員在65歲退休之前能賺到多少錢。用年齡和超始薪水作為輸入,并假設(shè)職員每年工資增長5%。