[C++]基礎,條件選擇結構IF,Switch,三元運算子

2024/01/03閱讀時間約 6 分鐘

IF,Switch,三元運算子語法說明

IF條件選擇結構說明

IF為布林條件,當()內條件式滿足True執行if區塊的程式碼,不滿足則執行else區塊的程式碼,若無else也行。

raw-image
if (布林條件) //單向
{
/* 此區塊敍述只有條件為真(true)時會進入執行。*/
}
if (比較條件) //雙向
{
/*此區塊只有條件為true時會進入執行,執行完後離開選擇結構。*/
}
else
{
/*此區塊敍述只有條件為false時會進入執行,執行完後離開選擇結構。*/
}

程式範例說明

不同金額有不同折扣,應用if結構完成

#include <iostream>
using namespace std;
int main()
{
int money;
cout << "請輸入購買金額:";
cin >> money;
cout << "實付金額:";
if (money>=100000)
cout << money*0.8;
else if (money>=50000)
cout << money*0.85;
else if (money>=30000)
cout << money*0.9;
else if (money>=10000)
cout << money*0.95;
else
cout << money;
cout << "元\n";
system("pause");
return 0;
}
raw-image
程式碼說明

程式碼說明



Switch結構說明

switch….case的敍述與多重 else if 有點相似,差別在 else if 可以多個條件, switch…case 只可以單一變數條件,並在每一個case中加入 break 指令中斷, 否則會跨 case,但 switch…case 較簡潔易懂。

若未加入break,則會在往下一個case繼續判斷,滿足可會執行該case區塊的程式碼

raw-image


switch(變數)

{
case 測試值 A:

一般指令;
break;

case 測試值 B:

一般指令;
break;

case 測試值 C:

一般指令;
break;

default:

一般指令;
}

程式範例

在console上輸入數字,由switch(變數)去判斷是否符合 設定的CASE 值,若滿足條件則執行該區塊的程式碼
若都不滿足於case 設定的條件,則執行default這區域的程式碼

#include <iostream>
using namespace std;
int main()
{
int season;
string name;
cout << "請輸入季節(1~4):"; // console上顯示字串
cin >> season; //console上輸入,將輸入值賦予season這變數
switch (season) //此switch結構,選擇條件由season觸發case條件
{
case 1: //在console 輸入1時
name = "春天"; //將 name 賦予 "春天" 這字串
break;
case 2:
name = "夏天";
break;
case 3:
name = "秋天";
break;
case 4:
name = "冬天";
break;
default:
cout << "輸入數字不正確" << endl;
}
//新增條件判斷,若 season輸入條件不符合switch,則不要印出多餘字串
if (season >= 1 && season <= 4 ) //條件 大於等於4 小於等於1才執行
cout << "現在是" << name << endl; //Console上輸出
//"現在是" + name + 換行符號
// if執行區塊只有一行程式碼時不需要{}若兩行以上則需要
if (season > 4)
{
cout << "目前輸入的數字是"<< season <<endl;
cout << "請輸入1~4" << endl;
}
system("pause");
return 0;
}
raw-image
raw-image



三元運算子

等於是簡 易型的 if(條件)….else….敍述

//程式語法

larger = (var1 > var2) ? var1 : var2 ;

當 var1 > var2 條件成立時,返回 var1 的值給 larger,若不成立返回 var2

程式範例

輸入三個數字比較大小,依序輸入並將輸入值賦予 int1,int2, int3,比較後再將值賦予至 Max,最後印出三個數中的最大值

#include <iostream>
using namespace std;
int main()
{
float int1, int2, int3, max; //max儲存最大數
cout << "請輸入第一個數:";
cin >> int1;
cout << "請輸入第二個數:";
cin >> int2;
max = int1>int2 ? int1 : int2; //根據輸入的數找出大數
cout << "請輸入第三個數:";
cin >> int3;
max = max>int3 ? max : int3; //根據輸入的數找出大數
cout << "輸入三個數中最大的數為:" << max << "\n"; //顯示結果
system("pause");
return 0;
}
raw-image


追蹤~愛心~ 希望對大家有幫助







49會員
88內容數
Python程式設計師,不是在學習就是在學習的路上
留言0
查看全部
發表第一個留言支持創作者!