欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言的運(yùn)算符你了解嗎

 更新時間:2021年08月26日 16:22:39   作者:寶全哥哥  
這篇文章主要介紹了C語言中的運(yùn)算符,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下,希望能給你帶來幫助

前言

自學(xué)筆記,沒有歷史知識鋪墊(省略百度部分)C語言運(yùn)算符的使用

一、算數(shù)運(yùn)算符(數(shù)學(xué)運(yùn)算) 

+ -

左右數(shù)據(jù)同一數(shù)據(jù)類型

* / %

注意

乘/除法在很多CPU中無法實現(xiàn),或者需要多個CPU周期去實現(xiàn)嵌入式開發(fā)中,乘/除法可能需要第三方乘法庫才能實現(xiàn)乘/除法可能導(dǎo)致程序的移植性變差

%取模 場景:

獲取范圍數(shù)值時,如:int result=(x%100)+1; 則result值的范圍為[1.100]得到m進(jìn)制的個位數(shù),如8進(jìn)制個位數(shù): int a=x%8;介于取模的特性,可以用在循環(huán)數(shù)組結(jié)構(gòu)中獲取下標(biāo),0,1,2,3,0,1,2,3,0,1,2…

二、邏輯運(yùn)算符(判斷真假)

|| &&

邏輯或 邏輯與

> >= < <=

大于 大于等于 小于 小于等于

!

? : 三元運(yùn)算符

三元運(yùn)算符

三、位運(yùn)算符(重點(diǎn)) 

<< 左移

運(yùn)算場景:
左移1位,數(shù)據(jù)=數(shù)據(jù)2
m左移n位,m=m2ⁿ

>> 右移

運(yùn)算場景:
右移1位,數(shù)據(jù)=數(shù)據(jù)/2
m右移n位,m=m/2ⁿ

注意:
signed和unsigned的右移動是不同的
signed修飾的變量的右移做while條件且變量為負(fù)數(shù)時,while會進(jìn)入死循環(huán)(因為最高位=1,是符號位,永遠(yuǎn)無法右移為0)

& | ^ ~ 與 或 異或 取反

& 與
bit中任意一位與0相&,該位都為0
場景:

屏蔽清零器 a=a | (~(0x1<<n))
int a=0x1234;
//屏蔽低8位
a=a& 0xff00;
int a=0x1234;
//清零器,清除bit第五位的高電平,轉(zhuǎn)為低電平,其他位不變
a=a & (~(0x1<<5));

| 或
bit中任意一位與1相|,該位都為1
場景:

保留/設(shè)置:設(shè)置高電平的方法,如設(shè)置指定位為高電平,其他位不變 a=a | (0x1<<n)
int a=3;
//使用左移可以更方便快速的讓第五位bit處于高電平,而且不影響其他位(嵌入式中bit最右邊通常讀作第0位)
a= a| (0x1<<5)

^ 異或
相同為0,不同為1
1.通常用于數(shù)據(jù)加密算法,AES SHA1等
2.數(shù)據(jù)交換(排序中的一種方法)

a=a^b;

b=a^b;
a=a^b;

~ 取反
按位取反

四、賦值運(yùn)算符

= += -= &= ...
賦值運(yùn)算實際上是組合運(yùn)算的縮寫,非原子性操作,volatile內(nèi)存可見特性會失效(實際上執(zhí)行了兩步,只靠volatile無法解決)

五、內(nèi)存訪問符號

 () 限制符/函數(shù)訪問符

1.限制符

(a+b)*c

1.函數(shù)訪問符

void fun();

[] 內(nèi)存訪問ID符

內(nèi)存訪問ID符(C語言中并不局限于數(shù)組的訪問,通過指針可以訪問整個內(nèi)存空間)

a[0]
a[1]

{} 函數(shù)體限制符

函數(shù)體限制符

-> 地址訪問符 

.變量訪問符 

&取址符

&a;

*取值符

*a;

總結(jié)

本章主要為C語言運(yùn)算符的使用

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C++ 結(jié)構(gòu)體初始化與賦值詳解

    C++ 結(jié)構(gòu)體初始化與賦值詳解

    本文主要介紹了C++ 結(jié)構(gòu)體初始化與賦值詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言中使用快速排序算法對元素排序的實例詳解

    C語言中使用快速排序算法對元素排序的實例詳解

    這篇文章主要介紹了C語言中使用快速排序算法對元素排序的實例詳解,文中細(xì)分了幾個情況來舉例,在注釋里有說明,需要的朋友可以參考下
    2016-04-04
  • 一篇文章帶你了解C++中的異常

    一篇文章帶你了解C++中的異常

    這篇文章主要為大家詳細(xì)介紹了C++中的異常,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 詳解c++11以正確的姿勢輸出enum class的值

    詳解c++11以正確的姿勢輸出enum class的值

    這篇文章主要介紹了詳解c++11以正確的姿勢輸出enum class的值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 《C++ primer plus》讀書筆記(二)

    《C++ primer plus》讀書筆記(二)

    本讀書筆記是讀了《C++ primer plus(第六版)》第五至八章的學(xué)習(xí)筆記。是C++讀書筆記系列的第二篇。復(fù)習(xí)C++基礎(chǔ)知識的可以瞄瞄。
    2014-10-10
  • VTK8.1?在?Qt5.9?環(huán)境下的配置編譯和安裝過程

    VTK8.1?在?Qt5.9?環(huán)境下的配置編譯和安裝過程

    為了實現(xiàn)realsense的PCL點(diǎn)云顯示,需要VTK支持。由于整個平臺在Qt環(huán)境實現(xiàn),VTK編譯為Qt插件。整個過程并不復(fù)雜,網(wǎng)上的文章大多不全,自己梳理了一下,分享出來,需要的朋友可以參考下
    2022-07-07
  • C語言繪制余弦、正弦曲線

    C語言繪制余弦、正弦曲線

    這篇文章主要為大家詳細(xì)介紹了C語言繪制余弦、正弦曲線的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • C/C++讀寫JSON數(shù)據(jù)的詳細(xì)過程記錄

    C/C++讀寫JSON數(shù)據(jù)的詳細(xì)過程記錄

    JSON文件無論是在web開發(fā)、客戶端開發(fā)、服務(wù)端等開發(fā)中都是應(yīng)用比較廣泛的的第一種輕量級數(shù)據(jù)交換格式,非常方便閱讀和編寫,下面這篇文章主要給大家介紹了關(guān)于C/C++讀寫JSON數(shù)據(jù)的詳細(xì)過程,需要的朋友可以參考下
    2023-04-04
  • C++輸入流和輸出流 超級詳細(xì)

    C++輸入流和輸出流 超級詳細(xì)

    C++ 的開發(fā)者認(rèn)為數(shù)據(jù)輸入和輸出的過程也是數(shù)據(jù)傳輸?shù)倪^程,數(shù)據(jù)像水一樣從一個地方流動到另一個地方,所以 C++ 中將此過程稱為“流”,實現(xiàn)此過程的類稱為“流類”。下面小編將詳細(xì)介紹這個話題,需要的朋友可以參考一下
    2021-09-09
  • 華為機(jī)試題之統(tǒng)計單詞個數(shù)實例代碼

    華為機(jī)試題之統(tǒng)計單詞個數(shù)實例代碼

    這篇文章主要介紹了華為機(jī)試題之統(tǒng)計單詞個數(shù)實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評論