C++ 運算符全解析:從基礎概念到實際應用

来源:https://www.cnblogs.com/xiaowange/p/18100200
-Advertisement-
Play Games

C++ 運算符 運算符用於對變數和值執行操作。 在下麵的示例中,我們使用 + 運算符將兩個值相加: int x = 100 + 50; 雖然 + 運算符經常用於將兩個值相加,就像上面的示例一樣,但它也可以用於將變數和一個值相加,或者將一個變數和另一個變數相加: int sum1 = 100 + 50 ...


C++ 運算符

運算符用於對變數和值執行操作。

在下麵的示例中,我們使用 + 運算符將兩個值相加:

int x = 100 + 50;

雖然 + 運算符經常用於將兩個值相加,就像上面的示例一樣,但它也可以用於將變數和一個值相加,或者將一個變數和另一個變數相加:

int sum1 = 100 + 50;        // 150 (100 + 50)
int sum2 = sum1 + 250;      // 400 (150 + 250)
int sum3 = sum2 + sum2;     // 800 (400 + 400)

C++ 將運算符分為以下幾組:

  • 算術運算符
  • 賦值運算符
  • 比較運算符
  • 邏輯運算符
  • 位運算符

算術運算符

算術運算符用於執行常見的數學運算。

運算符 名稱 描述 示例
+ 加法 將兩個值相加 x + y
- 減法 從一個值中減去另一個值 x - y
* 乘法 將兩個值相乘 x * y
/ 除法 將一個值除以另一個值 x / y
% 取模 返回除法餘數 x % y
++ 遞增 將變數的值增加 1 ++x
-- 遞減 將變數的值減少 1 --x

C++ 賦值運算符

賦值運算符

賦值運算符用於將值賦給變數。

在下麵的示例中,我們使用賦值運算符(=)將值 10 賦給一個名為 x 的變數:

int x = 10;

加法賦值運算符(+=)將一個值加到一個變數上:

int x = 10;
x += 5;

所有賦值運算符的列表:

運算符 示例 等同於
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

C++ 比較運算符

比較運算符用於比較兩個值(或變數)。這在編程中很重要,因為它幫助我們找到答案並做出決策。

比較的返回值要麼是 1,要麼是 0,即 true(1)或 false(0)。這些值被稱為布爾值,你將在布爾和 If..Else 章節中學到更多關於它們的知識。

在下麵的示例中,我們使用大於運算符(>)來判斷 5 是否大於 3

int x = 5;
int y = 3;
cout << (x > y); // 返回 1(true)因為 5 大於 3

所有比較運算符的列表:

運算符 名稱 示例
== 等於 x == y
!= 不等於 x != y
> 大於 x > y
< 小於 x < y
>= 大於等於 x >= y
<= 小於等於 x <= y

C++ 邏輯運算符

邏輯運算符用於確定變數或值之間的邏輯關係:

運算符 名稱 描述 示例
&& 邏輯與 如果兩個語句都為真則返回 true x < 5 && x < 10
|| 邏輯或 如果其中一個語句為真則返回 true x < 5 || x < 4
! 邏輯非 反轉結果,如果結果為真則返回 false !(x < 5 && x < 10)

你將在後面的章節中學到更多關於 truefalse 值的知識。

最後

為了方便其他設備和平臺的小伙伴觀看往期文章:

微信公眾號搜索:Let us Coding,關註後即可獲取最新文章推送

看完如果覺得有幫助,歡迎點贊、收藏、關註


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、是什麼 CDN (全稱 Content Delivery Network),即內容分髮網絡 構建在現有網路基礎之上的智能虛擬網路,依靠部署在各地的邊緣伺服器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網路擁塞,提高用戶訪問響應速度和命中率。CDN 的關鍵技術主 ...
  • 一、是什麼 DNS(Domain Names System),功能變數名稱系統,是互聯網一項服務,是進行功能變數名稱和與之相對應的 IP 地址進行轉換的伺服器 簡單來講,DNS相當於一個翻譯官,負責將功能變數名稱翻譯成ip地址 IP 地址:一長串能夠唯一地標記網路上的電腦的數字 功能變數名稱:是由一串用點分隔的名字組成的 Int ...
  • 今天讀到阮一峰的293期周刊,其中有句話很讓我震動——“一周是一年的2%”。 過去的時間里,我都沒有在意時間的流逝,過的好的時候就覺得一周過的好快,周三一過這周也就過去了,過的不好的時候就感覺很漫長。 確實,我們沒有幾周可以虛度的,多浪費幾周,一年就過去了。 我努力將每一周過好,那麼這2%就有價值了 ...
  • 提到這個 %20,想必大家都見過,熟悉一點編碼的人,還會知道這玩意就是空格轉換而來! 那麼我們一起破解, 如何編碼而來? ...
  • 你知道v-model指令是如何變成組件上的modelValue屬性和@update:modelValue事件呢?這一過程是在編譯時還是運行時進行的呢? ...
  • IO
    IO 所有輸入流的基類:InputStream / Reader 所有輸出流的基類:OutputStream / Writer 位元組流 InputStream常用方法:read(), skip(), available(), close() FileInputStream DataInputStre ...
  • 拓展閱讀 blog-engine-01-常見博客引擎 jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman 對比 blog-engine-02-通過博客引擎 jekyll 構建 github pages 博客實戰筆記 blog-engi ...
  • 模型功能 實現寄存器之間的連線 實現寄存器的聲明 建構時鐘的時序系統 模型框圖 `timescale 1ns / 1ps /* */ // ******************************************************************************* ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...