標籤:
程式控制語句
一、選擇語句:
if語句:
if語句實現單分支選擇結構,文法格式:
if(運算式)
{
語句塊
}
執行過程:如果運算式的邏輯值為true,執行if語句控制的語句塊;若運算式的值為false,不執行if語句控制的語句塊。
if ----else語句:
if---else語句實現雙分支選擇結構,文法格式:
if
{
語句塊 1
}
else
{
語句塊 2
}
執行過程:如果運算式的邏輯值為true,執行if中的語句塊1,若運算式的值為false,則執行else後的語句塊2。
if------else if----else語句:
實現多分支選擇結構,文法格式:
if (運算式1)
{
語句塊1
}
else if (運算式2)
{
語句塊2
}
else if (運算式3)
{
語句塊3
}
、、、
else
{
語句塊n
}
執行過程:如果運算式1的邏輯值為true,則執行語句塊1 ,然後結束if語句;如果運算式1的邏輯值為false,則判斷運算式2的值,若為true,則執行語句塊2,然後結束if語句;如果運算式2的值為,則 繼續判斷其它運算式的值,如果所有邏輯運算式的值都為false,則執行語句塊n,然後結束if語句。
switch 語句:
實現多分支選擇結構,文法格式:
switch(運算式)
{
case 常數運算式1:
{語句塊1}
break;
case 常數運算式2:
{語句塊2}
break;
、、、、、
default
{語句塊n+1}
break;
}
執行過程:如果switch語句中運算式的值與常數運算式1的值相等,執行語句塊1,在執行跳躍陳述式,若不相等,再判斷運算式的值與常數運算式2的 值是否相等,若相等,執行語句塊2,如不相等繼續判斷與下一個常數運算式是否相等,當與所有常數運算式的值都不相等的時候,則執行語句塊 n+1;(直接搜尋匹配項,與語句中的case、default的位置無關)
注意:(switch 和 if----else if)
不同點:switch:一般只能用於等值比較
if---else if:可以處理範圍
相同點:都可以實現多分支結構
二、迭代語句:
while 語句:
語句格式:
while(運算式)
{
迴圈體
}
執行過程:如果while語句中的運算式的值誒true,則執行迴圈體中的程式碼,執行完迴圈體,控制將轉到while語句的開頭,再次執行while語句;若為false,則結束while語句的執行。
while語句:先判斷,再執行
do---while語句:
語句格式:
do
{
迴圈體
}while(運算式);(出錯點:經常容易忘記” ;“)
執行過程:首先執行迴圈體中的程式碼,執行完迴圈體,判斷while語句中運算式的值,若為true,則控制將轉到do語句的開頭,再次執行迴圈體;若為false,則結束while語句的迴圈。
do----while語句:先執行,在判斷
for語句:
語句格式:
for(運算式1;運算式2;運算式3)
{
迴圈體
}
執行過程:先計算運算式1的值,在判斷運算式2的值,若為true,則執行迴圈體,然後計算運算式3的值,再次判斷運算式2 的邏輯值,若為true,則執行迴圈體,若為false,則結束迴圈語句。
一般情況下:運算式1用於迴圈變數和對變數賦初始值;運算式2為迴圈條件;運算式3為改變迴圈變數的值。
for的三段運算式都可以省略,但不能少“ ;”
三、跳躍陳述式:(自己的模糊點)
(break語句、goto語句、return語句、continue語句)
break語句:可以終止一條多選擇語句或迭代語句,使控制流程程轉到該語句的下一條語句執行。若在迴圈語句中執行break語句,則退出該層迴圈,執行該迴圈語句的下一句。(立即終止本次迴圈)
goto語句:可以實現無條件跳轉,跳轉到標籤所指定的程式碼執行(該語句可以方便的從某一個地方轉到另一個語句執行,但該語句要謹慎使用)
return語句:終止方法的執行,並將控制權返回給調用方法
continue語句:可以在執行迴圈體時使程式流程跳過迴圈體中的剩餘語句,繼續執行下一輪迴圈
補充:
1.程式調試:
(1).設定斷點
().單步調試(F11:逐過程調試:F10:逐步調試)
().觀察變數
2.在控制語句中為了使程式更簡便一些,經常定義一個標誌flag(bool類型)
3.要記得使用try-----catch語句來檢測異常(具體的見C#基礎)
C#基礎(2)