目錄
🍁?引言
🍁if-else語句(雙分支結構)
👉格式1:
👉功能:
👉程序設計風格提示:
👉例題
👉格式2:
👉說明
👉例題
🍁目運算符?
👉說明
👉例題
🍁總結?
🍁備注
🚀歡迎互三👉:程序猿方梓燚?💎💎
🚀所屬專欄:C++教程💎🚀關注博主,后期持續更新系列文章
🚀如果有錯誤感謝請大家批評指出,及時修改
🚀感謝大家點贊👍收藏?評論??
🍁?引言
if單分支選擇結構只在條件為true時采取操作,條件為false時則忽略這個操作。利用if-else雙分支選擇結構則可以在條件為true時和條件為false時采取不同操作。
🍁if-else語句(雙分支結構)
👉格式1:
if (條件表達式) 語句1; else 語句2;
? ? ? ?
👉功能:
如果(條件表達式)的值為“真” ,即條件成立,則執行語句1,執行完“語句1”后繼續執行整個if-else語句的后繼語句;如果(條件表達式)的值為“假” ,即條件不成立,那么跳過語句1選擇執行“語句2” ,執行完語句2后繼續執行整個if-else語句的后繼語句;也就是說if-else語句總是根據(條件表達式)的結果,選擇“語句1”和“語句2”中的一個執行,執行完以后,整個if-else就算執行完了。執行流程如圖所示
👉程序設計風格提示:
書寫if-else語句時,if和else要對齊,而分支的語句部分要縮進兩格。
👉例題
【例1】
輸入溫度t的值,判斷是否適合晨練。(25<=t<=30,則適合晨練ok,否則不適合no)
示例代碼:
#include<iostream> using namespace std; int main() {int t;cin >> t;if ?((t >= 25) && (t <= 30))cout << "ok\n";elsecout << "no\n";return 0; }
👉格式2:
if (條件表達式) {語句1;語句2;…… } else {語句1;語句2;…… }
👉說明
若分支語句由多個句子構成,我們必須把這些句子括在一對花括號{ }內。
👉例題
【例2】
乘坐飛機時,當乘客行李小于等于20公斤時,按每公斤1.68元收費,大于20公斤時,按每公斤1.98元收費,編程計算收費(保留2位小數)。
示例代碼:
#include<cstdio> using namespace std; int main( ) {float w, p;scanf("%f", &w);if (w <= 20)printf("%.2f", w * 1.68);elseprintf("%.2f", w * 1.98);return 0; }
if語句允許嵌套,即語句1和語句2還可以是if語句,當if語句嵌套時,約定else總是和最近的一個if語句配對。
【例3】
if (a>b) if (b>c) y=a;else y=c;
?else部分否定的是條件b>c,即它與第二個if語句配對;若想讓else部分與第一個if語句配對,則要引入一個復合語句,將上述語句寫成如下形式:
if (a>b){if (b>c) y=a; } else y=c;
【例4】
?輸入三個數,輸出其中最大的數。
【方法1】
設maxn用于存放三個數中最大的數,輸入的三個數存放在a、b、c中,那么如果a比b和c大,則最大數是a,否則,如果b比a和c大,則最大數是b,否則,最大數是c。
示例代碼:
#include <iostream> using namespace std; int main() {float a, b, c, maxn;cin >> a >> b >> c;if (a >= b && a >= c) maxn = a; //判斷a是否最大else if (b >= a && b >= c) maxn = b; //判斷b是否最大else maxn = c;cout << maxn << endl;return 0; }
【方法2】
設maxn用于存放三個數中最大的數,輸入的三個數存放在a、b、c中,初值maxn=a,即假設a為最大,那么如果b>maxn,則此時的最大數應該是b即maxn=b,如果c>maxn,則最大數應該是c即maxn=c。
示例代碼:
#include<iostream> using namespace std; int main(){float a,b,c,maxn;cin>>a>>b>>c;maxn=a; if (b>maxn) maxn=b; //maxn為a,b中的最大值if (c>maxn) maxn=c; //maxn為a,b,c中的最大值cout<<maxn<<endl;return 0; }
🍁目運算符?
👉說明
c++有一個常用來代替if else 語句的操作符,這個操作符被稱為三目運算符(?:),它是c++中唯一一個需要3個操作數的操作符。該操作符的通用格式如下:
b?a:c
如果 b為 true ,則整個表達式的值為 a;否則,整個表達式的值為c。下面兩個語句演示了該操作符是如何工作的:
x=5>3?10:12 // 5>3為true,所以 x=10; x=3==9?25:18 // 3==9為false,所以 x=18;
👉例題
【例5】
用三目運算符來確定兩值中較大的一個。
示例代碼:
#include<iostream> using namespace std; int main(){int a,b;cin>>a>>b;int c=a>b?a:b;// 相當于if (a>b) c=a; else c=b;cout<<c<<endl;return 0; }
與if else序列相比,三目運算符更簡潔,但第一次使用時不那么容易理解。這兩種方法之間的區別是,三目運算符返回一個值,可以將其賦給變量或者將其放到一個更大的表達式中。
例如:
x=a>b?(c>d?e:f):g;
相當于?
if (a > b) {if (c > d) x = e;else x = f;} else {x = g;}
從可讀性來說,條件操作符最適合于簡單關系和簡單表達式的值:
x=(a>b)?a:b;
當代碼變得更復雜時,使用if else 語句表達更為清晰。
🍁總結?
有不懂的地方可以si我,和我一起學習C++吧。
🍁備注
還沒有下載DEV-C++的小伙伴們可以私我拿到免費安裝包