亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【C語言操作符多圖詳解】——“講述你所未知的操作符細(xì)節(jié)”

iliyaku / 3339人閱讀

摘要:今天小玄為大家?guī)碚Z言的操作符相關(guān)的講解,希望大家能通過這篇文章對(duì)相關(guān)操作符有更加深入的理解。操作符的兩個(gè)操作數(shù)必須為整數(shù)。操作符的優(yōu)先級(jí)操作符的結(jié)合性是否控制求值順序。兩個(gè)相鄰的操作符先執(zhí)行哪個(gè)取決于他們的優(yōu)先級(jí)。

????????今天小玄為大家?guī)?u>C語言的操作符相關(guān)的講解,希望大家能通過這篇文章對(duì)相關(guān)操作符有更加深入的理解。那么:

??


目錄

?算數(shù)操作符

?移位操作符

1·<< 左移操作符

* * 左移操作前 * *

? ? * * 左移操作后 * * ??????

* * 總結(jié) * *

?2. >> 右移操作符

位操作符?

* *?& (按位與)* *

?* * | (按位或)* *

?* * ^ (異或)* *

?實(shí)踐運(yùn)用

賦值操作符

* * 舉例 * *

?復(fù)合賦值符

?單目操作符

* * 類型 * *

* * ~? (對(duì)一個(gè)數(shù)的二進(jìn)制按位取反) * *

?例題實(shí)戰(zhàn)

關(guān)系操作符?

* * 類型 * *

邏輯操作符?

* * 類型 * *

“區(qū)分邏輯與和按位與” “ 區(qū)分邏輯或和按位或?”

一道筆試題

條件操作符?

exp1 ? exp2 : exp3

?逗號(hào)表達(dá)式

操作符的屬性?



?算數(shù)操作符

????????????????????????+ ????????????????? - ?????????????????* ?????????????????/ ?????????????????%

? ? ? ? ?相關(guān)細(xì)節(jié):

  1. 除了%操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。
  2. 對(duì)于/操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法。而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除法。
  3. ?%操作符的兩個(gè)操作數(shù)必須為整數(shù)。返回的是整除之后的余數(shù)。

?移位操作符

<< 左移操作符

>> 右移操作符

1·<< 左移操作符

* * 左移操作前 * *

移位操作符,移動(dòng)的是二進(jìn)制位(適用于整數(shù)哦)

對(duì)于整數(shù)的二進(jìn)制有3種表示形式 :原碼,反碼,補(bǔ)碼

  1. 正整數(shù) ——?原碼,反碼,補(bǔ)碼相同
  2. 負(fù)數(shù)? ??——? 看實(shí)際情況? ? ? ?

原碼 —— 直接按照數(shù)字的正負(fù)寫出的二進(jìn)制序列

反碼 —— 原碼的符號(hào)位不變,其他位按位取反得到的

補(bǔ)碼 —— 反碼+1

整數(shù)在內(nèi)存中存儲(chǔ)的是二進(jìn)制的補(bǔ)碼?

? ? * * 左移操作后 * * ????

* * 總結(jié) * *

左移操作符 移位規(guī)則:左邊拋棄、右邊補(bǔ)0?

?2. >> 右移操作符

右移操作分兩種:

  1. 算術(shù)右移
  2. 邏輯右移

?

大部分的編譯器使用的是算術(shù)右移?

?警告? : 對(duì)于移位運(yùn)算符,不要移動(dòng)負(fù)數(shù)位,這個(gè)是標(biāo)準(zhǔn)未定義的。?int num = 10;

int num = 10;num >> 1;//錯(cuò)誤的操作

位操作符?

* *?& (按位與)* *

按二進(jìn)制位(即用該數(shù)的補(bǔ)碼進(jìn)行計(jì)算)

?


?* * | (按位或)* *


?* * ^ (異或)* *

規(guī)則 : 相同為 0;相異為1


?實(shí)踐運(yùn)用

1,求一個(gè)正整數(shù)原碼中有幾個(gè)1

int a = 15;int i = 0;int sum =0;for(i  = 0;i < 32;i++){    sum += a & 1;    a = a >> 1;}

2,一道{{BANNED}}的面試題:不能創(chuàng)建臨時(shí)變量(第三個(gè)變量),實(shí)現(xiàn)兩個(gè)數(shù)的交換。

(常規(guī)解法(有溢出風(fēng)險(xiǎn))) + (創(chuàng)建臨時(shí)變量)

int main(){    int a = 3;    int b = 5;    a = a + b;     //防止過大,有上限,會(huì)導(dǎo)致溢出    b = a - b;    a = a - b;               return 0;}

? ? ? ***??(異或的解法)? ***

int a = 3;int b = 5;//異或a = a ^ b;b = a ^ b;a = a ^ b;

a ^ a = 0

0 ^ a = a

a ^ b ^ a = b

a ^ a ^ b = b? (異或支持交換律)?


賦值操作符

* * 舉例 * *

int weight = 120;//體重

weight = 89;

//不滿意就賦值double salary = 10000.0;salary = 20000.0;

//使用賦值操作符賦值。賦值操作符可以連續(xù)使用,比如:

int a = 10;

int x = 0;

int y = 20;

a = x = y+1;//連續(xù)賦值這樣的代碼感覺怎么樣?

那同樣的語義,你看看:

x = y+1;

a = x;

這樣的寫法是不是更加清晰爽朗而且易于調(diào)試。

?復(fù)合賦值符

+=

-=

*=

/=

%=

>>=

<<=

&=

|=

^=


?單目操作符

* * 類型 * *

!? ? ? ? ? ? ?邏輯反操作

-? ? ? ? ? ? ?負(fù)值

+ ? ? ? ? ???正值

&? ? ? ? ? ? 取地址

sizeof ? ? 操作數(shù)的類型長(zhǎng)度(以字節(jié)為單位)

~? ? ? ? ? ? 對(duì)一個(gè)數(shù)的二進(jìn)制按位取反

--? ? ? ? ? ? 前置、后置--

++? ? ? ? ? 前置、后置++

*? ? ? ? ? ? ?間接訪問操作符(解引用操作符)

(類型) ? ? 強(qiáng)制類型轉(zhuǎn)換


* *sizeof * * (操作符)(不是函數(shù)!)

sizeof是計(jì)算變量或者類型創(chuàng)建變量的內(nèi)存大小,和內(nèi)存中存放什么數(shù)據(jù)沒有關(guān)系?

char arr[0] = "abc";printf("%d",sizeof(arr));  // 10printf("%d",strlen(arr));  // 3

如代碼所示,strlen()輸出的是字符串的長(zhǎng)度,關(guān)注的是內(nèi)存中是否有"/0",計(jì)算的是"/0"前出現(xiàn)的字符個(gè)數(shù)


* * ~? (對(duì)一個(gè)數(shù)的二進(jìn)制按位取反) * *


?例題實(shí)戰(zhàn)

?數(shù)組名放在sizeof的內(nèi)部,數(shù)組名表示的整個(gè)數(shù)組的大小

?數(shù)組傳參時(shí),數(shù)組名表示的是數(shù)組首元素的地址


關(guān)系操作符?

* * 類型 * *

>

>=

<

<=

!= ?用于測(cè)試“不相等”

== ? ? 用于測(cè)試“相等”


邏輯操作符?

* * 類型 * *

&&? ? ? 邏輯與

|| ? ? ? ? 邏輯或


“區(qū)分邏輯與和按位與” “ 區(qū)分邏輯或和按位或?”

1&2----->0

1&&2---->1

1|2----->3

1||2---->1


一道筆試題

?“1 2 3 4”(思考一下哦


條件操作符?

exp1 ? exp2 : exp3


?逗號(hào)表達(dá)式

逗號(hào)表達(dá)式,就是用逗號(hào)隔開的多個(gè)表達(dá)式。 逗號(hào)表達(dá)式,從左向右依次執(zhí)行。整個(gè)表達(dá)式的結(jié)果是最后一個(gè)表達(dá)式的結(jié)果。

?exp1, exp2, exp3, …expN


操作符的屬性?

復(fù)雜表達(dá)式的求值有三個(gè)影響的因素。

1. 操作符的優(yōu)先級(jí)2. 操作符的結(jié)合性3. 是否控制求值順序。

兩個(gè)相鄰的操作符先執(zhí)行哪個(gè)?取決于他們的優(yōu)先級(jí)。如果兩者的優(yōu)先級(jí)相同,取決于他們的結(jié)合性。操作符優(yōu)先級(jí)?

附表:

?


以上就是這篇文章的全部?jī)?nèi)容啦!

希望你能對(duì)操作符有一個(gè)更深入的了解。

如果覺得有幫助的話,請(qǐng)給小玄:?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/121285.html

相關(guān)文章

  • laravel中使用WangEditor及多圖上傳

    摘要:多圖上傳修改里面的方法將封面修改為封面創(chuàng)建圖片修改器修改器使用說明,請(qǐng)閱讀相關(guān)說明文檔在里增加和兩個(gè)方法顯示效果原文地址地址 laravel中使用WangEditor及多圖上傳 1. 創(chuàng)建項(xiàng)目及安裝所需安裝包 1.1 創(chuàng)建項(xiàng)目 composer create-project laravel/laravel=5.3 blog_wangeditor --prefer-dist 1.2 創(chuàng)建...

    FingerLiu 評(píng)論0 收藏0
  • laravel中使用WangEditor及多圖上傳

    摘要:多圖上傳修改里面的方法將封面修改為封面創(chuàng)建圖片修改器修改器使用說明,請(qǐng)閱讀相關(guān)說明文檔在里增加和兩個(gè)方法顯示效果原文地址地址 laravel中使用WangEditor及多圖上傳 1. 創(chuàng)建項(xiàng)目及安裝所需安裝包 1.1 創(chuàng)建項(xiàng)目 composer create-project laravel/laravel=5.3 blog_wangeditor --prefer-dist 1.2 創(chuàng)建...

    qianfeng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<