單片機之從C語言基礎到專家編程 - 4 C語言基礎 - 4.8 運算符

1.算術運算符

運算符名稱備注
+加法運算符雙目運算,a + b
-減法運算符雙目運算,a - b
*乘法運算符雙目運算,a * b
/除法運算符雙目運算,a / b
%求余運算符雙目運算, a % b
++自增運算符單目運算, a++
自減運算符單目運算, a–

2.關系運算符

運算符名稱數學中的表示備注
>大于運算符>雙目運算, a > b
<小于運算符<雙目運算, a < b
>=大于等于運算符雙目運算, a >= b
<=小于等于運算符雙目運算, a <= b
==等于運算符=雙目運算, a == b
!=不等于運算符雙目運算, a != b
注: 關系運算符用于比較數據的大小,操作類型一般為整形數據。 關系運算符返回類型為布爾值(真或假,1或0),當關系式成立時為真,否則為假。 一般用于帶布爾參數的運算語句,如if,while

3.邏輯運算符

運算符名稱結合性對應數學中的名稱備注
&&與運算符左結合雙目運算, a && b,a和b同時為真,返回真,否則返回假
||或運算符左結合雙目運算, a || b,a和b同時為假,返回假,否則返回真
!非運算符右結合單目運算, !a,a為真時,返回假,a為假時,返回真
注: 邏輯運算符用于計算邏輯表達式的值,操作類型一般為布爾值。 邏輯運算符返回類型為布爾值(真或假,1或0),一般用于帶布爾參數的運算語句,如if,while

4.位運算符

運算符名稱備注
&按位與雙目運算, a & b,將a和b的每個二進制位進行與操作(同時為1,得1,否則為0)
|按位或雙目運算, a | b,將a和b的每個二進制位進行或操作(同時為0,得0,否則為1)
^按位異或雙目運算, a^b,將a和b的每個二進制位進行異或操作(值不同為1,值相同為0)
~按位取反單目運算, ~a,將a的每個二進制位進行取反操作(值為1時取0,值為0時取1)

5.賦值運算符

運算符名稱備注
=賦值a = b;
+=加賦值a += b; 等價于 a = a + b;
-=減賦值a -= b; 等價于 a = a - b;
*=乘賦值a *= b; 等價于 a = a * b;
/=除賦值a /= b; 等價于 a = a / b;
%=求余賦值a %= b; 等價于 a = a % b;
<<=左移賦值a <<= b; 等價于 a = a << b;
>>=右移賦值a >>= b; 等價于 a = a >> b;
&=按位與賦值a &= b; 等價于 a = a & b;
|=按位或賦值a |= b; 等價于 a = a | b;
^=按位異或賦值a ^= b; 等價于 a = a ^ b;

6.運算符優先級

?

優先級

運算符

名稱或含義

使用形式

結合方向

說明

1

[]

數組下標

數組名[常量表達式]

左到右

--

()

圓括號

(表達式)/函數名(形參表)

--

.

成員選擇(對象)

對象.成員名

--

->

成員選擇(指針)

對象指針->成員名

--

2

-

負號運算符

-表達式

右到左

單目運算符

~

按位取反運算符

~表達式

++

自增運算符

++變量名/變量名++

--

自減運算符

--變量名/變量名--

*

取值運算符

*指針變量

&

取地址運算符

&變量名

!

邏輯非運算符

!表達式

(類型)

強制類型轉換

(數據類型)表達式

--

sizeof

長度運算符

sizeof(表達式)

--

3

/

表達式/表達式

左到右

雙目運算符

*

表達式*表達式

%

余數(取模)

整型表達式%整型表達式

4

+

表達式+表達式

左到右

雙目運算符

-

表達式-表達式

5

<<?

左移

變量<<表達式

左到右

雙目運算符

>>?

右移

變量>>表達式

6

>?

大于

表達式>表達式

左到右

雙目運算符

>=

大于等于

表達式>=表達式

<?

小于

表達式<表達式

<=

小于等于

表達式<=表達式

7

==

等于

表達式==表達式

左到右

雙目運算符

=

不等于

表達式!= 表達式

8

&

按位與

表達式&表達式

左到右

雙目運算符

9

^

按位異或

表達式^表達式

左到右

雙目運算符

10

|

按位或

表達式|表達式

左到右

雙目運算符

11

&&

邏輯與

表達式&&表達式

左到右

雙目運算符

12

||

邏輯或

表達式||表達式

左到右

雙目運算符

13

?:

條件運算符

表達式1?

表達式2: 表達式3

右到左

三目運算符

14

=

賦值運算符

變量=表達式

右到左

--

/=

除后賦值

變量/=表達式

--

*=

乘后賦值

變量*=表達式

--

%=

取模后賦值

變量%=表達式

--

+=

加后賦值

變量+=表達式

--

-=

減后賦值

變量-=表達式

--

<<=

左移后賦值

變量<<=表達式

--

>>=

右移后賦值

變量>>=表達式

--

&=

按位與后賦值

變量&=表達式

--

^=

按位異或后賦值

變量^=表達式

--

|=

按位或后賦值

變量|=表達式

--

15

逗號運算符

表達式,表達式,…

左到右

--

?

?

?

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

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

相關文章

Vue2集成Echarts實現可視化圖表

一、依賴配置 1、引入echarts相關依賴 也可以卸載原有的&#xff0c;重新安裝 卸載&#xff1a;npm uninstall echarts --save 安裝&#xff1a;npm install echarts4.8.0 --save 引入水球圖形依賴 npm install echarts-liquidfill2.0.2 --save 水球圖可參考文檔&#xff1…

MySQL索引(Index)

Index 數據庫中的索引&#xff08;Index&#xff09;是一種數據結構&#xff0c;用于提高數據庫查詢性能和加速數據檢索過程。索引可以看作是數據庫表中某個或多個列的數據結構&#xff0c;類似于書中的目錄&#xff0c;可以幫助數據庫管理系統更快地定位和訪問數據。它們是數…

Linux——KVM虛擬化

目錄標題 虛擬化技術虛擬化技術發展案例KVM簡介KVM架構及原理KVM原理KVM虛擬化架構/三種模式虛擬化前、虛擬化后對比KVM蓋中蓋套娃實驗 虛擬化技術 通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機&#xff0c;在一臺計算機上同時運行多個邏輯計算機&#xff0c;同時每個邏輯…

智安網絡|零信任安全框架:保障數字化時代網絡安全的最佳實踐

隨著數字化時代的快速發展&#xff0c;網絡安全問題變得越來越突出。傳統的安全防御模式已經不再適用于現代復雜的網絡環境中。為了應對日益增長的網絡威脅&#xff0c;零信任安全模式應運而生。 一、什么是零信任&#xff1f; 零信任是一種安全框架和哲學&#xff0c;它基于…

pytest的fixture梳理

fixture特性 夾具是在測試中用于提供共享資源、設置測試環境或模擬行為的工具。 1. 可以重復使用&#xff0c;多個用例可以使用同一個fixture 2. 一個測試用例可以使用多個裝置 import pytest # Arrange pytest.fixture def first_entry():return "a"# Arrange pyt…

全新 – Amazon EC2 M1 Mac 實例

去年&#xff0c;在 re: Invent 2021 大會期間&#xff0c;我寫了一篇博客文章&#xff0c;宣布推出 EC2 M1 Mac 實例的預覽版。我知道你們當中許多人請求訪問預覽版&#xff0c;我們盡了最大努力&#xff0c;卻無法讓所有人滿意。不過&#xff0c;大家現在已經無需等待了。我很…

postmarketOS

主步驟 #以下全程插入usb線 fastboot devices fastboot getvar all fastboot erase userdata fastboot erase system fastboot erase cachepmbootstrap init pmbootstrap installpmbootstrap flasher flash_rootfs --partition userdata pmbootstrap flasher flash_kernel…

java生成Excel表格

public HSSFWorkbook CreateJZZJSList() {// 繪制ExcelString fileName "自動分析詳情";HSSFWorkbook wb new HSSFWorkbook();//創建工作相簿對象HSSFSheet sheet wb.createSheet(fileName); // --->創建了一個工作簿sheet.setDefaultRowHeight((short) 600);…

前端開發工具及環境配置

1.前端開發環境node npm環境配置 第一步&#xff1a;打開Download | Node.js (nodejs.org)下載&#xff0c;解壓。 找到下載壓縮包進行解壓 解壓到D盤目錄下&#xff1a; 第二步&#xff1a;配置環境變量&#xff1a;右擊此電腦點擊屬性進入高級系統設置 點擊高級系統設置進入…

項目管理系統是什么?能干什么?有什么功能?一文看懂

閱讀本文您可以了解&#xff1a;1、項目任務管理系統是什么&#xff1b;2、項目任務管理系統的作用&#xff1b;3、項目任務管理系統的功能 一、什么是項目任務管理 項目任務管理是指運用系統的理論方法&#xff0c;在有限的條件和資源下&#xff0c;對項目從開始到結束的全流…

Github下載任意版本的VsCode

下載歷史版本VsCode(zip) 下載鏈接由三部分組成&#xff1a; 固定部分commit idVSCode-win32-x64-版本號.zip 固定部分&#xff1a; https://vscode.cdn.azure.cn/stable/ Commit id&#xff1a; 打開 vscode的GitHub&#xff1a;[https://github.com/microsoft/vscode/r…

(搜索) 劍指 Offer 13. 機器人的運動范圍 ——【Leetcode每日一題】

?劍指 Offer 13. 機器人的運動范圍 難度&#xff1a;中等 地上有一個 m 行 n 列的方格&#xff0c;從坐標 [0,0] 到坐標 [m-1,n-1] 。一個機器人從坐標 [0, 0] 的格子開始移動&#xff0c;它每次可以向左、右、上、下移動一格&#xff08;不能移動到方格外&#xff09;&…

shell腳本基礎

目錄 前言 一、概述 &#xff08;一&#xff09;、shell腳本基礎概念 &#xff08;二&#xff09;、shell的類型 二、Shell變量 &#xff08;一&#xff09;、組成 1.變量名 2.變量值 &#xff08;二&#xff09;、類型 1.系統內置變量&#xff08;環境變量&#xff09; 2.自定…

PIN TO PIN替代LT8911EXB|CS5523低成本替代LT8911EXB|MIP DSI轉DP EDP方案設計

PIN TO PIN替代LT8911EXB|CS5523低成本替代LT8911EXB|MIP DSI轉DP EDP方案設計 LT8911EXB是MIPI DSI/CSI 轉eDP轉換芯片&#xff0c;ASL CS5523不需要改電路就可以直接PIN TO PIN替代與兼容LT8911EXB。 ASL CS5523與 LT8911EXB的功能與參數&#xff0c;用途方式以及封裝方式和…

【題解】旋轉數組的最小數字、比較版本號

文章目錄 旋轉數組的最小數字比較版本號 旋轉數組的最小數字 題目鏈接&#xff1a;旋轉數組的最小數字 解題思路1&#xff1a;遍歷求最小值 代碼如下&#xff1a; int minNumberInRotateArray(vector<int> rotateArray) {int min rotateArray[0];for(auto const&…

迪米特法則

迪米特法則&#xff0c;也稱為最少知識原則&#xff08;Law of Demeter&#xff09;&#xff0c;是面向對象設計中的一個原則&#xff0c;旨在降低對象之間的耦合性&#xff0c;提高系統的可維護性和可擴展性。該原則強調一個類不應該直接與其它不相關的類相互交互&#xff0c;…

Android 控件截圖保存本地并分享

目錄 需求 需求分析 一、截圖控件生成圖片 二、將圖片保存至本地 2.1 權限 2.2 保存圖片 2.3 調用 三、分享 四、通過測試機型 需求 截圖當前頁面某個控件的內容&#xff0c;并且保存在本地&#xff0c;可分享。 需求分析 1.截圖控件生成圖片 2.保存至本地(需考慮版…

【SpringCloud】Ribbon定制化配置

文章目錄 使用Ribbon自帶負載均衡算法添加負載均衡算法ConfigurationRestTemplate使用上面負載均衡算法 自定義負載均衡算法負載均衡算法實現RestTemplate在Controller中使用該負載均衡算法ServiceIInstance解釋 使用Ribbon自帶負載均衡算法 添加負載均衡算法Configuration /…

實現矩陣地圖與rviz地圖重合

文章目錄 一、rviz地圖轉換矩形地圖(只能用于全局規劃)二、在rviz上顯示地圖邊界信息,可視化調整,實現重合(只能用于局部規劃)一、rviz地圖轉換矩形地圖(只能用于全局規劃) 此方法矩形地圖可能會與rviz地圖不重合,通過改變偏移量x_offset,y_offset接近地圖 可以將矩…

FL Studio for Windows-21.1.0.3713中文直裝版功能介紹及系統配置要求

FL Studio 21簡稱FL水果軟件,全稱是&#xff1a;Fruity Loops Studio編曲&#xff0c;由于其Logo長的比較像一款水果因此&#xff0c;在大家更多的是喜歡稱他為水果蘿卜&#xff0c;FL studio21是目前最新的版本&#xff0c;這是一款可以讓你的計算機就像是一個全功能的錄音室&…