C++程式控制結構
阿新 • • 發佈:2019-01-13
一、語句
程式設計語言的語句按功能可以分為三類:說明語句,操作語句,控制語句。
控制語句用於控制語句的執行流程。所有程式都只包含3種控制結構:順序結構、選擇結構 和 迴圈結構。
二、選擇結構
C++使用if語句和switch語句構成選擇結構。
1.if語句
(1)一個分支的if語句
if(x>0)
cout<<x<<endl;
(2)if-else語句
if(x>y) { cout<<"max = "<<x; } else { cout<<"max = "<<y; }
(3)if語句的巢狀
C++規定,else總是與它接近的if配對。
注意:
- 區分"=“和”=="
"="是賦值運算子
"=="是邏輯運算子
int a = 2;
int b = 3;
if(a=b)//錯誤,無論a和b的值如何改,結果都將是a=b
{
cout<<"a = b"<<endl;
}
else
{
cout<<"a != b "<<endl;
}
- 浮點數的比較
由於浮點數具有一定的誤差,比較兩個浮點數是否相等的方法應為
if(fabs(a-b)<精度)
float a = 2.0000000000000000000000000001; float b = 2.00000000000000000000000001; if (a == b) { cout << "a = b" << endl; } else { cout << "a != b " << endl; }//執行結果為a=b
2.switch語句
switch語句的形式如下:
switch(表示式)
{
case 常量表達式1: 語句1;
case 常量表達式2: 語句2;
...
case 常量表達式n: 語句n;
//default: 語句n+1;
}
- 常量表達式必須互不相同
- 各個case和default出現的次序可以任意。在每個case分支都帶有break的情況下,case的順序不影響執行結果。
- switch語句可以巢狀。
- switch語句根據一個表示式不同的可能值作選擇執行,它適用於條件判斷比較簡單的多路選擇。
3.?:運算子
通用格式:expression1?expression2:expression3
int a = 2;
int b = 3;
cout<<"max="<<(a>b?a:b)<<endl;
二、迴圈控制
迴圈結構有while語句、do-while語句和for語句。
一般迴圈結構包含三個部分:迴圈的初始化、迴圈條件和迴圈體。
設計迴圈時必須要明確迴圈的演算法是什麼,進入迴圈的條件是什麼,結束迴圈的條件是什麼。
while(表示式)
{
//迴圈體
}
do
{
//迴圈體
}while(表示式);
for([表示式1];[表示式2]:[表示式3])
{
//迴圈體
//表示式1,2,3皆可省略
//表示式1:通常用於變數的初始化
//表示式2:迴圈控制表示式
//表示式3:迴圈體之後執行
}
三、轉向語句
C++中的轉向語句主要有:break,continue,return和goto語句。
1.break語句
break語句無條件結束switch語句或迴圈語句
2.continue語句
continue語句用於迴圈體中,終止當前一次迴圈,不執行continue的後續語句,轉向迴圈入口繼續執行。
3.return語句
返回表示式的值,並中斷函式的執行。
4.goto語句
無條件轉向語句,在C++中濫用goto語句將降低程式的可讀性與可維護性。在不破壞程式基本流程控制的情況下,可以適當使用goto語句實現必要的跳轉。