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

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

菜鳥逆襲記之操作符詳解-創(chuàng)新互聯(lián)

菜鳥逆襲記之操作符詳解
  • 1.算術操作符
  • 2.移位操作符
    • (1)左移操作符
    • (2)右移操作符
  • 3.位操作符
  • 4.賦值操作符
  • 5.單目操作符
    • (1)取地址(&)
    • (2)sizeof與數(shù)組
    • (3)前置和后置
    • (3)按位取反(~)
  • 6.關系操作符
  • 7.邏輯操作符
  • 8.條件操作符
  • 9.逗號操作符
  • 10.下標引用、函數(shù)調用和結構成員
  • 11.表達式求值
    • (1)隱式類型轉換
    • (2)算術轉換
    • (3)操作符的屬性

創(chuàng)新互聯(lián)是一家集網站建設,開平企業(yè)網站建設,開平品牌網站建設,網站定制,開平網站建設報價,網絡營銷,網絡優(yōu)化,開平網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。

前言:
這一站與前面的時空間有一定的聯(lián)系,想了解更多內容請移步去看看

1.算術操作符
這里前面已經非常詳細地講解過了。如有不懂,請移步
2.移位操作符

(1)左移操作符

補充:

1.數(shù)據(jù)在內存中是以補碼的形式存儲的,而表達輸出的結果是以原碼的形式進行表達的。即操作符都是對補碼進行操作的

2.正整數(shù)的原碼,反碼和補碼是一樣的

3.負整數(shù)的原碼,反碼,補碼之間的關系是:
(1)反碼=(除符號位外)按位取反
(2) 補碼=反碼+1




(2)右移操作符



注意:

對于移位操作符,

  1. 不要進行負數(shù)移位,這個標準是未定義的
  2. 只能進行整數(shù)的操作,不能進行小數(shù)的操作
3.位操作符

  • &(二進制補碼)位與—有0就為0,兩個1才為1 (相當于邏輯操作符的&&)
  • |(二進制補碼)位或—有1就為1,兩個0才為0 (相當于邏輯操作符的||)
  • ^(二進制補碼)位異或—相同為0,相異為1

既然已經知道了原理,讓我們做幾道簡單的題來練練手:

想必大家都有自己的答案了,讓我們來看看正確答案與解題思路

下面,咱們上點難度:
實現(xiàn)不用額外的變量來實現(xiàn)兩個數(shù)的交換


4.賦值操作符
這里前面已經非常詳細地講解過了。如有不懂,請移步
5.單目操作符

(1)取地址(&)

就前面的知識,在此補充:

  • 有地址都可以進行取地址
  • 在C語言中,變量,常量字符串,數(shù)組,結構體等在內存中都是有地址的,但字面常量(如 2)在內存中是沒有地址的
(2)sizeof與數(shù)組

之前已經講過不少這方面的內容,今天就著重講一下sizeof 與數(shù)組

先看一下一下的代碼分別輸出什么:

運行結果:

解釋一下:

(3)前置和后置

在這里,我們來討論一下:先使用 后++,和先++后使用 的先后之分到底體現(xiàn)在哪里?

先后之分就體現(xiàn)在是否完成一個完整的語句

(3)按位取反(~)

~—按(二進制補碼)位取反----符號位也取反


6.關系操作符
這里前面已經非常詳細地講解過了。如有不懂,請移步
7.邏輯操作符

在此,我們著重講解一下邏輯操作分符的控制求值順序

  • &&----左邊為假,整體就為假–>右邊無需計算
  • ||----左邊為真,整體就為真–>右邊無需計算
    有的課本稱這種現(xiàn)象為短路

接下來,我們來一個例題練練手:

運行結果:

解釋一下原因(要認真看哦)

那這個咱就明白了,再來一個鞏固鞏固吧:

運行結果:

怎么樣,這個做對了吧。這個我也講一下原因
解釋一下原因(要認真看哦)


注意:

  1. 區(qū)分邏輯與(&&)和按位與(&)
  2. 區(qū)分邏輯或(||)和按位或(|)
8.條件操作符
這里前面已經非常詳細地講解過了。如有不懂,請移步
9.逗號操作符
  1. 逗號表達式,就是用逗號隔開的多個表達式
  2. 逗號表達式,從左向右依次執(zhí)行。整個表達式的結果是最后一個表達式的結果


在這里插入圖片描述
下面,來看一下這個逗號操作符在現(xiàn)實生活中的妙用:

10.下標引用、函數(shù)調用和結構成員
這里前面已經非常詳細地講解過了。如有不懂,請移步
11.表達式求值
  1. 表達式求值的順序一部分是由操作符的優(yōu)先級和結合性決定
  2. 同樣,有些表達式的操作數(shù)在求值的過程中可能需要轉換為其他類型
(1)隱式類型轉換
  1. C的整型算術運算總是至少以缺省整型類型的精度來進行的
  2. 為了獲得這個精度,表達式中的字符和短整型操作數(shù)在使用之前被轉換為普通整型,這種轉換稱為整型提升

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

整形提升的規(guī)則:

我們來一點例題來鞏固一下:
例子1:

  • a,b要進行整形提升,但是c不需要整形提升
  • a,b整形提升之后,變成了負數(shù),所以表達式 a,b的結果是假,但是c不發(fā)生整形提升,則表達式 c==0xb6000000 的結果是真

例子2:

  • 整型提升這種場景大部分就是兩個不同類型之間進行加減乘除 或者比較之類的,場景不是特別多, 目前先了解這么多, 后邊遇到問題可以在具體分析
  • 整形提升的前提是變量的類型是小于整形(int)的類型,在進行表達式運算(即運用操作符時),不足整形的變量要進行整形提升
(2)算術轉換

如果某個操作符的各個操作數(shù)屬于不同的類型,那么除非其中一個操作數(shù)的轉換為另一個操作數(shù)的類型,否則操作就無法進行。下面的層次體系稱為尋常算術轉換

  • 但是算術轉換要合理,要不然會有一些潛在的問題
(3)操作符的屬性

下面我來舉例一個問題表達式,以此來證明優(yōu)先級和結合性都已確定,但先后順序還是不確定的


讓我來解釋一下吧:

總結:我們寫出的表達式如果不能通過操作符的屬性確定唯一的計算路徑,那這個表達式就是存在問題的。-------即我們寫代碼時不要吝嗇括號()

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


文章名稱:菜鳥逆襲記之操作符詳解-創(chuàng)新互聯(lián)
當前地址:http://weahome.cn/article/cejopi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部