1. 程式人生 > >C++程式控制結構

C++程式控制結構

一、語句

程式設計語言的語句按功能可以分為三類:說明語句,操作語句,控制語句。
控制語句用於控制語句的執行流程。所有程式都只包含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配對。

注意:

  1. 區分"=“和”=="

"="是賦值運算子
"=="是邏輯運算子

int a = 2;
int b = 3;
if(a=b)//錯誤,無論a和b的值如何改,結果都將是a=b
{
	cout<<"a = b"<<endl;
}
else
{
	cout<<"a != b "<<endl;
}
  1. 浮點數的比較
    由於浮點數具有一定的誤差,比較兩個浮點數是否相等的方法應為
    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語句實現必要的跳轉。