国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

iliyaku / 3262人閱讀

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

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

??


目錄

?算數(shù)操作符

?移位操作符

1·<< 左移操作符

* * 左移操作前 * *

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

* * 總結 * *

?2. >> 右移操作符

位操作符?

* *?& (按位與)* *

?* * | (按位或)* *

?* * ^ (異或)* *

?實踐運用

賦值操作符

* * 舉例 * *

?復合賦值符

?單目操作符

* * 類型 * *

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

* * ~? (對一個數(shù)的二進制按位取反) * *

?例題實戰(zhàn)

關系操作符?

* * 類型 * *

邏輯操作符?

* * 類型 * *

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

一道筆試題

條件操作符?

exp1 ? exp2 : exp3

?逗號表達式

操作符的屬性?



?算數(shù)操作符

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

? ? ? ? ?相關細節(jié):

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

?移位操作符

<< 左移操作符

>> 右移操作符

1·<< 左移操作符

* * 左移操作前 * *

移位操作符,移動的是二進制位(適用于整數(shù)哦)

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

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

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

反碼 —— 原碼的符號位不變,其他位按位取反得到的

補碼 —— 反碼+1

整數(shù)在內存中存儲的是二進制的補碼?

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

* * 總結 * *

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

?2. >> 右移操作符

右移操作分兩種:

  1. 算術右移
  2. 邏輯右移

?

大部分的編譯器使用的是算術右移?

?警告? : 對于移位運算符,不要移動負數(shù)位,這個是標準未定義的。?int num = 10;

int num = 10;num >> 1;//錯誤的操作

位操作符?

* *?& (按位與)* *

按二進制位(即用該數(shù)的補碼進行計算)

?


?* * | (按位或)* *


?* * ^ (異或)* *

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


?實踐運用

1,求一個正整數(shù)原碼中有幾個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)建臨時變量(第三個變量),實現(xiàn)兩個數(shù)的交換。

(常規(guī)解法(有溢出風險)) + (創(chuàng)建臨時變量)

int main(){    int a = 3;    int b = 5;    a = a + b;     //防止過大,有上限,會導致溢出    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;

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

?復合賦值符

+=

-=

*=

/=

%=

>>=

<<=

&=

|=

^=


?單目操作符

* * 類型 * *

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

-? ? ? ? ? ? ?負值

+ ? ? ? ? ???正值

&? ? ? ? ? ? 取地址

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

~? ? ? ? ? ? 對一個數(shù)的二進制按位取反

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

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

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

(類型) ? ? 強制類型轉換


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

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

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

如代碼所示,strlen()輸出的是字符串的長度,關注的是內存中是否有"/0",計算的是"/0"前出現(xiàn)的字符個數(shù)


* * ~? (對一個數(shù)的二進制按位取反) * *


?例題實戰(zhàn)

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

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


關系操作符?

* * 類型 * *

>

>=

<

<=

!= ?用于測試“不相等”

== ? ? 用于測試“相等”


邏輯操作符?

* * 類型 * *

&&? ? ? 邏輯與

|| ? ? ? ? 邏輯或


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

1&2----->0

1&&2---->1

1|2----->3

1||2---->1


一道筆試題

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


條件操作符?

exp1 ? exp2 : exp3


?逗號表達式

逗號表達式,就是用逗號隔開的多個表達式。 逗號表達式,從左向右依次執(zhí)行。整個表達式的結果是最后一個表達式的結果

?exp1, exp2, exp3, …expN


操作符的屬性?

復雜表達式的求值有三個影響的因素。

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

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

附表:

?


以上就是這篇文章的全部內容啦!

希望你能對操作符有一個更深入的了解。

如果覺得有幫助的話,請給小玄:?

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/121285.html

相關文章

  • laravel中使用WangEditor及多圖上傳

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

    FingerLiu 評論0 收藏0
  • laravel中使用WangEditor及多圖上傳

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

    qianfeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<