程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#中的分支結構與循環

C#中的分支結構與循環

編輯:C#基礎知識

1.語句 語句塊

以分號結束的單行代碼
一系列的單行語句 語句塊{}

聲明語句
流程控制語句
異常處理語句

2.選擇語句:用於根據一個或多個指定條件分支到不同的代碼段

if/else:

if(條件表達式)
//條件表達式:關系運算符鏈接的表達式a>b 邏輯運算符 score>=0&&score<=200 bool類型的變量
{
//當條件表達式為true執行的操作
}
else
{
//不滿足條件表達式時執行的操作
}

例子:
//if else
Console.WriteLine("請輸入成績?");
int score = int.Parse(Console.ReadLine());
if (score>90)
{
Console.WriteLine("獎勵棒棒糖!");
}
else
{
Console.WriteLine("卷鋪蓋回家!");
}
Console.ReadKey();

if/else if/else:

if(條件表達式1)
{
//滿足條件表達式1執行的操作
}
else if(條件表達式2)
{
//滿足條件表達式2執行的操作
}
else
{
//其它條件下執行的操作
}

例子:

//用if else if實現輸入月份判斷當月天數
Console.WriteLine("請輸入月份?");
int m = int.Parse(Console.ReadLine());
if (m>=1&&m<=12)
{
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
Console.WriteLine("{0}月有31天", m);
}
else if (m == 2)
{
Console.WriteLine("{0}月有28天", m);
}
else
{
Console.WriteLine("{0}月有30天", m);
}
}
else
{
Console.WriteLine("請輸入有效月份?");
}
Console.ReadKey();

switch/case:
注:
break:每個分支語句必須添加break case或default後邊沒有語句除外
case:常量值不能重復
default:省略 位置 任意所有的case都不滿足才執行

switch(表達式)
{
case 值1:
語句1;
break;
case 值2:
語句2;
break;
case 值3:
語句3;
break;
case 值4:
語句4;
break;
......
default:
語句5

例子: //switch case
Console.WriteLine("請輸入月份?");
int m = int.Parse(Console.ReadLine());
int days = 0;
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days=30;
break;
case 2:
days = 28;
break;
default:
Console.WriteLine("輸入錯誤,請重新輸入!");
break;
}
if (days!=0)
{

Console.WriteLine(days);
}
Console.ReadKey();
}

3.循環語句:

概念:用於遍歷集合或數組,或重復執行同一組語句直到滿足指定的條件
初始化:循環條件中用到的變量 聲明並賦值
循環條件:重復執行操作的條件
條件的更新:改變循環條件中變量的值
循環操作:重復做的事

for循環:

例子:(以跑10000米為例--25圈)
初始化: int count=0;
循環條件: count<25
條件的更新:count++
循環操作:console.writeLine(i);

特點:先判斷後循環,適合有固定循環次數的時候使用

語法:
for(初始化;循環條件;條件的更新 )
{
循環操作,重復做的事
}

代碼例子:
//用for循環計算從1加到100的值並輸出結果
int sum = 0;
for (int i = 0; i <= 100; i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
Console.ReadKey();

//用for循環計算從1加到100的值並輸出結果

int sum = 0;
for (int i = 1; i <100; i++)
{
if (i%2==0)
{
sum = sum + i;
}
}
Console.WriteLine(sum);
Console.ReadKey();


while循環:執行一個語句或語句塊,直到指定的表達式計算為false

特點:先判斷後循環,適合循環條件固定的時候

語法:
while(條件)
{
循環體
}

代碼例子:
//while 接收鍵盤輸入,輸入0的時候結束。
Console.WriteLine("請輸入成績,輸入0表示輸入完畢!");
int num = int.Parse(Console.ReadLine());
while (num!=0)
{
num = int.Parse(Console.ReadLine());
}
Console.WriteLine("錄入結束!");
Console.ReadLine();

 

 

do while循環:do語句重復執行{}裡的一個語句或語句塊,直到指定的表達式計算為false;

特點:先執行操作後判斷,適合第一句無論如何都必須執行的情況
語法:
初始化
do
{
//循環操作,更新
}
while(條件);


foreach

4.跳轉:用於將控制轉移到指定的代碼段

break:語句可用於退出循環
continue:語句可用於跳過當前循環並開始下一循環
goto:

練習1:累加100以內的能被9整除的數字之和,要使用continue。

for (int i = 1; i <= 100; i++)
{
if (i % 5 == 0 && i % 3 == 0)
{
Console.WriteLine("flip\t");
}
else if (i%3 == 0)
{
Console.Write("flop\t");
}
else if (i % 5 == 0)
{
Console.WriteLine("flipflop\t");
}
else
{
Console.Write(i+"\t");
}
}
Console.ReadKey();


練習2: if循環嵌套典型案例
你准備去海南旅游,現在要訂購機票。機票的價格受季節旺季、淡季影響,
而且頭等艙和經濟艙價格也不同。假設機票頭等艙原價為5000元,經濟艙原價3500,
4~10月為旺季,旺季頭等艙打九折,經濟艙打八折,淡季頭等艙打五折,經濟艙打四折。
編寫程序,使用嵌套if選擇結構,根據出行的月份和選擇的艙位輸出實際的機票價格.

Console.WriteLine("請輸入想要旅游的月份");
int month = int.Parse(Console.ReadLine());
Console.WriteLine("請輸入您選擇的倉位,A:頭等艙 B:經濟艙");
string input = Console.ReadLine();
int a = 5000;
int b = 3500;
if (month >= 1 && month <= 12)//確定有效月份
{
if (month > 4 && month < 10)//旺季月份
{
if (input=="A")//頭等艙
{
Console.WriteLine("{0}月份頭等艙的票價是{1}", month, a * 0.9);
}
else
{
Console.WriteLine("{0}月份經濟艙的票價是", month, b * 0.8);
}
}

else//淡季月份
{
if (input=="B")//頭等艙
{
Console.WriteLine("{0}月份頭等艙的票價是{1}", month, a * 0.4);
}
else
{
Console.WriteLine("{0}月份頭等艙的票價是{1}", month, a * 0.5);
}
}
}
else
{
Console.WriteLine("請輸入有效月份");
}
Console.ReadKey();

 

總結:
1.語句塊

2.選擇語句
if
switch

3.循環
for
while
do...while

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved