真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言--操作符-創(chuàng)新互聯(lián)

文章目錄
  • 一、數(shù)據(jù)的存儲
  • 二、算術操作符
  • 三、移位操作符
    • 左移位操作符<<
    • 右移操作符>>
  • 四、位操作符
  • 五、賦值操作符
  • 六、單目操作符
    • sizeof
    • 前后置++
  • 七、關系操作符
  • 八、邏輯操作符
  • 九、條件操作符
  • 十、逗號表達式
  • 十一、下標引用、函數(shù)調(diào)用和結構成員
  • 十二、表達式求值
    • 1.隱式類型轉換
    • 2.算數(shù)轉換
    • 3、操作符的屬性

成都創(chuàng)新互聯(lián)是一家專業(yè)提供冠縣企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、成都網(wǎng)站制作、H5高端網(wǎng)站建設、小程序制作等業(yè)務。10年已為冠縣眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設計公司優(yōu)惠進行中。一、數(shù)據(jù)的存儲

如果想要準確的掌握每個操作符的作用,那么首先需要理解數(shù)據(jù)在計算機中的存儲和運算規(guī)則。

  • 我們的數(shù)據(jù)以二進制原碼形式進入計算機,在計算機中儲存時變?yōu)檠a碼形式,當再次顯示的時候又會變?yōu)樵a形式
  • 正數(shù)的原反補相同
  • 負數(shù):原碼除符號位(0為正,1為負)外取反變?yōu)榉创a(0變?yōu)?或1變?yōu)?),反碼加一變?yōu)檠a碼
  • 計算機的運算時數(shù)據(jù)已經(jīng)轉為補碼形式,也就是說數(shù)據(jù)是以補碼進行的。
二、算術操作符

算數(shù)操作符就是我們常見的那幾種:
(+,-,*,/,%)

  1. 出了%以外,其他操作符可以作用于整數(shù)和浮點數(shù)。
  2. 對于/操作符如果兩個操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法,而只要有浮點數(shù)執(zhí)行的就是浮點數(shù)除法
  3. %操作符的兩個操作數(shù)必須位整數(shù)。返回的是整除之后的余數(shù)。
三、移位操作符 左移位操作符<<
其實左移一位相當于變?yōu)樵瓉淼亩叮屑毾胍幌?,左移一位,那就是每個二進制位向前移動一個,相當于都成了一個2,所以數(shù)值上就變?yōu)樵瓉淼亩丁?以為規(guī)則:左邊拋棄,右邊補0
int num = 10;
其原反補碼為:
00000000000000000000000000001010
int num = -10;
其原碼為:
00000000000000000000000000001010
反碼為:
01111111111111111111111111111010
補碼為:
01111111111111111111111111111011
右移操作符>>

移位規(guī)則:

  1. 邏輯移位:左邊用0填充,右邊丟棄
  2. 算數(shù)移位:左邊用原該值的符號填充,右邊丟棄。
四、位操作符
int a = 0;
int b = 0
-----------------------------
&     //按位與
a&b
兩個為1才為1,否則為0
-----------------------------
|     //按位或
a|b
兩個為0才為0,否則為1
-----------------------------
^     //按位異或
a^b
相同為0,不同為1 
-----------------------------
??他們的操作數(shù)必須都為為整數(shù)
五、賦值操作符
int a = 0;
int b = 1;
a=b //意思為把b的值賦給a(支持連等,從右向左依次賦值)
# 六、復合賦值符

int x = 10;
x = x+10;//與下面等價
x +=10;//復合賦值符

六、單目操作符
!   邏輯反操作
-    負值
+    正值
&    取地址
sizeof 操作數(shù)的類型長度(以字節(jié)為單位)
~    對一個數(shù)的二進制按位取反
--   前置、后置
++   前置,后置
*    間接訪問操作符(解引用操作符)
(類型)  強制類型轉換
sizeof

既是操作符又是關鍵字,用于計算所占內(nèi)存大小,單位為字節(jié),sizeof內(nèi)部的數(shù)據(jù)不進行運算
在這里插入圖片描述
sizeof (),括號對于有的類型可以省略,有的類型不能省略

前后置++ 七、關系操作符
>>=<<=
!=   //用于測試不相等
==   //用于測試相等
注意 = 和 ==的區(qū)別
八、邏輯操作符
&&   //按位與
||   //邏輯或
注意區(qū)分邏輯與和按位與,邏輯或和按位或
1&2 = 0  //  1&&2 = 1
1| 2 = 3 //  1||2 = 1

注意:邏輯與和邏輯或在能夠判定出來后就不再計算后面的部分了

九、條件操作符
條件操作符又稱三目操作符
表達式1(為判斷部分)?表達式2:表達式3
如果表達式1為真,則計算表達式2。
如果表達式1為假,則計算表達式3。
十、逗號表達式
逗號表達式會從左向右依次計算,但是表達式的結果為最后一個表達式的結果。
十一、下標引用、函數(shù)調(diào)用和結構成員
1.
[]下標引用操作符:數(shù)組名+索引值(也就是這樣[元素序列])
eg:arr[9] ,其中操作數(shù)為arr(數(shù)組名)和9(索引值)
2.
()函數(shù)調(diào)用操作符:被調(diào)函數(shù)名+要傳遞的參數(shù)(也就是這樣(a))
eg:test(a),其中操作數(shù)為test(被調(diào)函數(shù))和a(要傳的參數(shù))
3.
訪問一個結構成員: .或->. :結構體.成員名
->: 結構體指針->成員名
十二、表達式求值

表達式求值的順序一部分是由操作符的優(yōu)先級和結合性決定。同樣,有些表達式的操作數(shù)在求職過程中可能需要轉換為其他類型。


1.隱式類型轉換

C的整形算術運算總是至少以缺?。J)類型的精度來進行。
為了獲得這個精度,表達式中的字符和短整型的操作數(shù)在使用之前被轉換為普通整形,這種轉換稱為整型的提升。
整形提升的意義:

表達式的整形運算要在CPU的相應運算器件內(nèi)執(zhí)行,CPU內(nèi)整型運算器(ALU)的操作數(shù)的字節(jié)長度一般就是int的字節(jié)長度,同時也是CPU的通用寄存器的長度/
因此,即使兩個char類型的相加,在CPU執(zhí)行時實際上也要先轉換為CPU內(nèi)整形操作數(shù)的標準長度。
通用CPU時難以直接直線兩個8比特字節(jié)的直接相加運算(雖然機器指令中可能有這種字節(jié)相加指令)。所以,表達式中各種長度可能小于int長度的整型值,都必須先轉換為int或者unsigned int,然后才能送入CPU去執(zhí)行運算。

//char-->signed char
char a = 3;
//我們需要把3放入char類型中
//3的二進制為00000000000000000000000000000011
因為他是char類型(8比特位),所以儲存時發(fā)生截斷,把后八個二進制位儲存進去,即00000011
//char b = 127;
//00000000000000000000000001111111,放進去01111111
 1.  //如果我們直接打印a+b,結果為130
 2. //如果我們先把a+b放入char c = a+b;然后打印整型c,結果為-126

整型提升是按照變量的數(shù)據(jù)類型的符號位來提升的,若是無符號類型,補的是0

整型提升的驗證:如果我們定義一個char類型的變量c,我們直接sizeof(c),結果為1,但是如果我們加上一個正號或負號,結果就會變?yōu)?,因為有操作符就會發(fā)生運算,運算的話如果小于int類型就會發(fā)生整型提升。

2.算數(shù)轉換

如果某個操作符的各個操作數(shù)屬于不同的類型,那么除非其中一個操作數(shù)的轉換為另一個操作數(shù)的類型,否則操作就無法進行。就會發(fā)生類型轉換,下面的層次體系成為尋常算術轉換。
在這里插入圖片描述
如果某個操作數(shù)的類型在上面這個列表排名較低,那么首先要轉換為另外一個操作數(shù)的類型后執(zhí)行運算。

3、操作符的屬性

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

  1. 操作符的優(yōu)先級
  2. 操作符的結合性
  3. 是否控制求值順序
    兩個相鄰的操作符先執(zhí)行哪個?取決于他們的優(yōu)先級,如果兩者的優(yōu)先級相同,取決于它們的結合性。
    操作符優(yōu)先級如下:
    在這里插入圖片描述
    在這里插入圖片描述
    從上到下優(yōu)先級依次遞減
    雖說有了有了操作符的優(yōu)先級,但并不意味著所有式子都能運算出唯一結果,所以當我們寫比較復雜的表達式時,盡量加上括號,讓式子更容易理解。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


名稱欄目:C語言--操作符-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/dogddp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部