linwebs

林林.台灣 | Linwebs - 隨手記

條件判斷的概念

當我們要判斷事情的是非時,條件判斷的概念就產生了。

想像情況: 當身上有超過1000塊錢時,可以買大禮物,當身上只有100塊錢時只能買小禮物,當身上一毛錢都沒有時,就不能買禮物,因此在程式中,我們可以使用條件判斷來協助我們。

C++ 條件判斷種類: ifelseelse ifswitch case

If

結構說明:

if(條件) {
	// 當條件成立時才執行
}

PS: 當 if 下的程式碼只有一行時,可不用大括號 { } 將程式碼包起來

簡易範例:

範例輸出:
i 大於 4

/* Programming By Linwebs */
#include<iostream>
using namespace std;
int main() {
	int i = 5;
	if(i > 4) {
		// 當條件成立時才執行
		cout << "i 大於 4"; // 輸出 i 大於 4
	}
	return 0;
}

Else

結構說明:

if(條件) {
	// 當條件成立時才執行
} else {
	// 當上方if中的條件不成立時才執行
}

PS: 當有 if 時,才會有 else ,也就是說 else 不會單獨存在

簡易範例:

範例輸出:
i 等於或小於 4

/* Programming By Linwebs */
#include<iostream>
using namespace std;
int main() {
	int i = 3;
	if(i > 4) {
		// 當條件成立時才執行
		cout << "i 大於 4"; // 輸出 i 大於 4
	} else {
		// 當上方if中的條件不成立時才執行
		cout << "i 等於或小於 4"; // 輸出 i 等於或小於 4
	}
	return 0;
}

Else If

結構說明:

if(條件1) {
	// 當條件1成立時才執行
} else if(條件2) {
	// 當上方的條件1不成立
	// 且當條件2成立時才執行
} else if(條件3) {
	// 當上方的條件都不成立
	// 且當條件3成立時才執行
} else {
	// 當上方所有if和else if的條件都不成立時才執行
}

PS:

    當有 if 時,才會有 else if ,也就是說 else if 不會單獨存在

    else if 可以有無限多個,看程式需求

    else if 下方不一定會有 else,也就是說 else 可有可無,看程式需求

簡易範例:

範例輸出:
i 等於 4

/* Programming By Linwebs */
#include<iostream>
using namespace std;
int main() {
	int i = 4;
	if(i > 4) {
		// 當條件1成立時才執行
		cout << "i 大於 4"; // 輸出 i 大於 4
	} else if(i == 4) {
		// 當上方的條件1不成立
		// 且當條件2成立時才執行
		cout << "i 等於 4"; // 輸出 i 等於 4
	} else {
		// 當上方所有if和else if的條件都不成立時才執行
		cout << "i 小於 4"; // 輸出 i 小於 4
	}
	return 0;
}

Switch Case

結構說明:

switch(值/變數) {
	case 值:
		// 當 switch 後方括號中的值等於 case 後方的值時才執行
		// 執行完 case 後的程式碼須 break 否則會繼續往下執行
		break;
	default:
		// 當上方所有 case 都執行完後,才執行,也就是說可能當上方的 case 條件都不成立時,才會執行到 default 內的程式碼
		// default 的程式碼執行完後,可不加 break 因 switch 括號內已無條件可判斷
		break;
}

PS: 當許多條件都須執行相同程式碼時,可放入多個 case,例如判斷月份的天數

簡易範例:

範例輸出:
有 28 或 29 天

/* Programming By Linwebs */
#include<iostream>
using namespace std;
int main() {
	int month = 2;
	switch(month) {
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			// 當 switch 後方括號中的值等於 case 後方其中1個的值時才執行
			// 執行完 case 後的程式碼須 break 否則會繼續往下執行
			cout << "有 31 天";
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			// 當 switch 後方括號中的值等於 case 後方其中1個的值時才執行
			// 執行完 case 後的程式碼須 break 否則會繼續往下執行
			cout << "有 31 天";
			break;
		default:
			// 當上方所有 case 都執行完後,才執行,也就是說可能當上方的 case 條件都不成立時,才會執行到 default 內的程式碼
			// default 的程式碼執行完後,可不加 break 因 switch 括號內已無條件可判斷
			// 此範例若執行至此行,代表 month 為 2
			cout << "有 28 或 29 天";
			break;
	}
	return 0;
}
建立時間:2018/11/3 AM 8:12
作者: Linwebs

bookmark熱門隨手記標籤