C++青少年簡明教程:If選擇語句

C++青少年簡明教程:If選擇語句

C++中選擇語句的語法是:

if (條件) {

??? 條件成立時需要執行的語句...

} [else {

??? 條件不成立時需要執行的語句...

}]

說明:

if后面使用一個括號,括號里是條件——關系表達式。

所謂的關系表達式就是判斷數據的關系如何。

有如下幾種關系:

大于:> 比如 3>2

大于等于:>= 比如 5>=5

小于:< 比如 5<10

小于等于:<= 比如 10<=11

等于:== 比如 3+2 == 2+3

不等于:!= 比如 5 != 4+2

除了關系表達式之外,還有邏輯表達式,邏輯表達式可以表示多個條件之間的關系,有以下幾種邏輯運算:

并且:&&

或者:||

非:!

if語句(單分支選擇語句)

語法格式:

if(條件表達式)

語句或語句塊

執行流程圖:

例、讀入一個整數,如果是偶數,輸出yes,代碼如下:

#include <iostream>
using namespace std;int main() {int num;cout << "請輸入一個整數: ";cin >> num;if (num % 2 == 0) {cout << "yes" << endl;} if (num % 2 != 0){cout << "no" << endl;}return 0;
}

語法格式:

if(條件表達式)

??? 語句或語句塊1

else

??? 語句或語句塊2

執行流程圖:

例、前面提到的例子,用雙支選擇語句實現,代碼如下:

#include <iostream>
using namespace std;int main() {int num;cout << "請輸入一個整數: ";cin >> num;if (num % 2 == 0) {cout << "yes" << endl;} else {cout << "no" << endl;}return 0;
}

if語句的嵌套

在C++中,可以將一個if語句放在另一個if語句的內部,這樣就形成了if語句的嵌套結構。以實現更復雜的條件邏輯。

if(表達式1)

??? if(表達式2)

?????? 語句1;

??? else

?????? 語句2;??

else

?? if(表達式3)

?????? 語句3;

?? else

?????? 語句4;

示例:

#include <iostream>
using namespace std;int main() {int score; cout << "請輸入一個分數: ";cin >> score;if (score >= 60) { // 首先判斷分數是否及格cout << "及格" << endl;if (score >= 80) { // 如果及格,再判斷是否優秀cout << "優秀" << endl;} else {cout << "良好" << endl;}} else {cout << "不及格" << endl;if (score >= 50) { // 如果不及格,判斷是否接近及格cout << "接近及格" << endl;} else {cout << "情況不妙呀" << endl;}}return 0;
}

在這個例子中,首先判斷分數是否及格(大于等于60),如果及格,再進一步判斷是否優秀(大于等于80)。如果不及格,則判斷是否接近及格(大于等于50)。這個程序會輸出“及格”和“優秀”,因為分數是85。

請注意,過多層次的嵌套會使代碼難以閱讀和維護。

三目運算符

C++中的三目運算符(?:)是一種簡潔的條件運算符,其語法格式為:

(condition) ? true_expression : false_expression;

其含義是:如果 condition 為真,則表達式的值為 true_expression ,否則為 false_expression 。它可以用作簡單的 if-else 語句的替代者。

示例:

#include <iostream>
using namespace std;int main() {int a = 10;int b = 20;// 使用三目運算符int max = (a > b) ? a : b;cout << "最大值是:" << max << endl;return 0;
}

需要注意的是,三目運算符的優先級較低,因此在復雜的表達式中使用時,可能需要加上括號來明確運算順序。

三目運算符也可以嵌套使用。例如:

int num = 10;

int result;

result = (num > 5) ? ((num < 20) ? 100 : 200) : 300;

在上面的代碼中,如果num大于5小于20,則result的值為100,否則為200。如果num小于等于5,則result的值為300。

if-else if-else語句(多分支選擇語句)

語法格式:

if (條件1) {

??? 語句塊1

}

else if (條件2) {

??? 語句塊1

}

……

else {

??? 語句塊K

}

if-else if-else語句(多分支選擇語句)執行流程圖:

使用if-else if-else多分支選擇語句源碼:

#include <iostream>
using namespace std;int main() {int num;cout << "請輸入一個數字:";cin >> num;// 使用if語句if (num > 0) {cout << "這是一個正數" << endl;} else if (num == 0) {cout << "這是零" << endl;} else {cout << "這是一個負數" << endl;}return 0;
}

母子約定問題

源碼如下:

#include <iostream>using namespace std;int main() {int fenshu;cout << "請輸入考試分數:";cin >> fenshu;if (fenshu == 100)cout << "暑假不用寫作業";else if (fenshu >= 90)cout << "獎勵100元零花錢";else if (fenshu >= 80)cout << "獎勵10元零花錢";else if (fenshu >= 70)cout << "沒獎勵";else if (fenshu >= 60)cout << "暑假不能玩電子游戲";elsecout << "會發生可怕的事情...";return 0;
}

注意條件的順序!

練習題:閏年問題

判斷一個年份是否為閏年的規則是:

1.如果該年份能夠被4整除,但不能被100整除,則該年份是閏年。

2.如果該年份能夠被400整除,則該年份也是閏年。

例如,2004年是閏年,因為它能夠被4整除,但不能被100整除;而1900年不是閏年,因為它能夠被4整除,但同時也能被100整除,不符合第一條規則。而2000年是閏年,因為它能夠被400整除,符合第二條規則。

請用不同的方法實現。

參看代碼

#include <iostream>  
using namespace std;int main() {  int year;  cout << "請輸入一個年份: ";  cin >> year;  // 判斷是否為閏年  if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {  cout << year << " 是閏年." << endl;  } else {  cout << year << " 不是閏年." << endl;  }  return 0;  
}

示例中,直接在main函數內部使用了if語句來判斷輸入的年份是否為閏年。如果滿足閏年的條件(即年份能被4整除但不能被100整除,或者能被400整除),則輸出該年份是閏年;否則,輸出該年份不是閏年。

如果您想要使用嵌套的if語句來判斷一個年份是否為閏年,可以像下面這樣寫:

#include <iostream>  
using namespace std;int main() {  int year;  cout << "請輸入一個年份: ";  cin >> year;  // 使用嵌套的if語句判斷是否為閏年  if (year % 4 == 0) {  if (year % 100 == 0) {  if (year % 400 == 0) {  cout << year << " 是閏年." << endl;  } else {  cout << year << " 不是閏年." << endl;  }  } else {  cout << year << " 是閏年." << endl;  }  } else {  cout << year << " 不是閏年." << endl;  }  return 0;  
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14747.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14747.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14747.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

5.24學習記錄

[FSCTF 2023]ez_php2 比較簡單的pop鏈 <?php highlight_file(__file__); Class Rd{public $ending;public $cl;public $poc;public function __destruct(){echo "All matters have concluded";die($this->ending);}public function __call($name, $arg){for…

E1載波:一種2.048Mbps速率的PCM載波

E1載波的基本幀由32個子信道組成 幀長為256個bit,分為32個相等時隙&#xff0c;一個時隙為8個bit。256/328 時隙的編號為CH0~CH31 全幀包含256位,且每一幀用 125us時間傳送 E1載波支持的數據傳輸效率為2.048Mbps&#xff0c;用PCM編碼&#xff08;即 256bit/125us2.048Mbps…

Android 一個activity對應多個window

Android 一個activity對應多個window Android Activity 對應多個Window&#xff0c;Activity是應用程序的重要組成部分&#xff0c;在程序中的一個屏幕界面&#xff0c;用戶可以進行交互操作。在Android應用程序中&#xff0c;Activity對應著一個Window&#xff0c;一個Activi…

微信小程序源碼-基于Java后端的小區租拼車管理信息系統畢業設計(附源碼+演示錄像+LW)

大家好&#xff01;我是程序員一帆&#xff0c;感謝您閱讀本文&#xff0c;歡迎一鍵三連哦。 &#x1f49e;當前專欄&#xff1a;微信小程序畢業設計 精彩專欄推薦&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python畢業設…

洗完咖啡杯的最早時間

題目描述&#xff1a;給定一個數組arr&#xff0c;arr[i]代表第i號咖啡機泡一杯咖啡的時間&#xff0c;給定一個正數N&#xff0c;表示N個人在等著咖啡機&#xff0c;每臺咖啡機只能一個一個的泡咖啡&#xff0c;其次&#xff0c;只有一臺咖啡機可以洗杯子&#xff0c;一次只能…

1.OLED

1.基礎知識

kotlin重復類編譯報錯解決

Duplicate class org.jetbrains.annotations.TestOnly found in modules annotations-12.0 (com.intellij:annotations:12.0) and annotations-13.0 (org.jetbrains:annotations:13.0) Go to the documentation to learn how to <a href"d.android.com/r/tools 參考鏈…

網絡拓撲—DHCP服務配置

文章目錄 DHCP服務搭建相關配置細節前提安裝DHCP服務 DHCP服務搭建 相關配置細節前提 系統&#xff1a;Windows Server 2003 IP網段&#xff1a;10.0.0.0/24 三臺機子&#xff1a; 普通PC機 DHCP服務器 路由器&#xff08;兩塊網卡&#xff0c;連接內外網&#xff09; //注…

覆蓋索引與復合索引 小記

表 t_1 有一個復合索引 (user_id,create_time) 執行以下SQL SELECT COUNT(1) FROM t_1 WHERE create_time > 2024-01-10 AND create_time < 2024-05-25 ;看似不滿足復合索引最左前綴的條件,但依然會使用復合索引(user_id,create_time), 滿足覆蓋索引. 但如果是執行以…

【Unity】Unity項目轉抖音小游戲(三)資源分包,抖音云CDN

業務需求&#xff0c;開始接觸一下抖音小游戲相關的內容&#xff0c;開發過程中記錄一下流程。 使用資源分包可以優化游戲啟動速度&#xff0c;是抖音小游戲推薦的一種方式&#xff0c;抖音云也提供存放資源的CDN服務 抖音云官方文檔&#xff1a;https://developer.open-douyi…

基于灰狼優化算法優化支持向量機(GWO-SVM)時序預測

代碼原理及流程 基于灰狼優化算法優化支持向量機&#xff08;GWO-SVM&#xff09;的時序預測代碼的原理和流程如下&#xff1a; 1. **數據準備**&#xff1a;準備時序預測的數據集&#xff0c;將數據集按照時間順序劃分為訓練集和測試集。 2. **初始化灰狼群體和SVM模型參數…

LeetCode 47.全排列 II

LeetCode 47.全排列 II 1、題目 題目鏈接&#xff1a;47. 全排列 II 給定一個可包含重復數字的序列 nums &#xff0c;按任意順序 返回所有不重復的全排列。 示例 1&#xff1a; 輸入&#xff1a;nums [1,1,2] 輸出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff…

《基于Jmeter的性能測試框架搭建》改進一

《基于Jmeter的性能測試框架搭建》文末筆者提到了不少待改進之處&#xff0c;如下所示。 Grafana性能圖表實時展現&#xff0c;測試過程中需實時截圖形成測試報告&#xff0c;不夠人性化。解決方案&#xff1a;自動生成測試報告并郵件通知。 Grafana性能圖表需測試人員實時監控…

Big Demo Day第十三期活動即將啟幕,Web3創新項目精彩紛呈,PEPE大獎等你抽取

5月28號在香港數碼港 Big Demo Day第十三期 活動即將拉開帷幕&#xff0c;活動將匯集眾多Web3領域的創新項目&#xff0c;為參會者帶來一場科技與智慧交融的盛宴。在這里&#xff0c;你不僅能深入了解區塊鏈、AI等前沿技術的最新應用&#xff0c;還能有機會贏取豐厚的PEPE大獎。…

免費wordpress中文主題

免費大圖wordpress主題 首頁是一張大圖的免費wordpress主題模板。簡潔實用&#xff0c;易上手。 https://www.jianzhanpress.com/?p5857 免費WP模板下載 頂部左側導航條的免費WP模板&#xff0c;后臺簡潔&#xff0c;新手也可以下載使用。 https://www.jianzhanpress.com/…

sizeof的了解

32位編譯器 qDebug() << "int:" << sizeof(int);qDebug() << "char:" << sizeof(char);qDebug() << "char*:" << sizeof(char*); 字節數&#xff1a; int: 4 char: 1 char*: 4 64位編譯器 字節數&#…

全棧:用戶登錄驗證,用戶注冊【數據庫】

前端用戶登錄界面 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Document</tit…

電腦版網易云音樂聽歌識曲

文章目錄 流程 流程 電腦網易云音樂的搜索框旁邊就是聽歌識曲功能

文件上傳鞏固及流量分析

1.[GXYCTF2019]BabyUpload 1&#xff09;打開題目也是沒有任何提示&#xff0c; 2&#xff09;進入環境&#xff0c;看到下面頁面猜測是文件上傳漏洞&#xff0c;下面開始傳文件 3&#xff09;首先上傳一句話木馬 a.php&#xff0c;代碼如下&#xff1a; 下面這個代碼中并沒有…

Amesim示例篇-案例1:空間中的鋁塊散熱

前言 本文將通過一個案例繼續對Thermal庫的元件進一步講解。 案例1&#xff1a;一個300mm*300mm*1000mm&#xff08;長*寬*高&#xff09;的鋁板初始溫度為45℃&#xff0c;豎直在環境為25℃的空間內靜置60min。對流換熱系數設置為5W/m2K。本文將通過兩種建模方法對鋁塊的溫度…