久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

常量,、變量,、運算符

 長沙7喜 2018-04-16

Care and diligence bring luck.


If I can't hear your heartbeat, you're too far away.


時隔一月有余,匆匆?guī)磉@篇 C++ 基礎,,向大家介紹 常量,、變量、運算符 等內(nèi)容,希望可以帶領大家開始邁入 C++ 的世界


    C++ 基礎


常量與變量

常量 

常量是指在程序中使用的一些具體的數(shù),、字符,,在程序運行的過程中,常量的值是無法被更改的


整型常量

表示整數(shù)的常量,,有三種表現(xiàn)形式

  十進制:如 22,、33   八進制:以 0 開頭,由 0-7 構(gòu)成,,如 012   十六進制:以 0x 開頭,,如 0x12A


實型常量

又稱實數(shù)或浮點數(shù),如 3.1,、-5.1E+2(科學記數(shù)法)


字符常量

用單引號包括起來的字符,,如 'a'、'1'

注:此處是用單引號包括,,如果是用雙引號包括('a'),,被稱為字符串,相對應的就是字符串常量,,而不是字符常量


常量定義的兩種方法

常量除了可以直接調(diào)用,,還可以給常量取個名字,即用一個標識符來代表它,,這里以標識符形式出現(xiàn)的常量,,也就是常量的定義


符號常量

利用 #define 與 C++ 本身沒有關系,它是一個編譯器指令,,或者稱為預處理指令,,所以寫在最上面)來定義

  #define 標識符 常量字符   #define PI 3.14159

注:沒有分號


常值變量

利用 const (C++ 的一個關鍵字)關鍵字定義

  const 標識符 = 常量字符;   const double PI = 3.14159;


上面兩種方法,推薦使用 const 來定義常量

  const 可以定義數(shù)據(jù)類型,,提高了類型安全性,,如上面的 double   const 作為一個常值變量,適用面更加廣,,語法上也更好理解

注:常量名一般用大寫,,而變量名用小寫,以便于區(qū)分


變量

變量代表了一個存儲單元,,其中的值是可以改變的,,因此稱為變量。為了區(qū)別不同的變量,,必須給每個變量(存儲單元)取一個名(稱為變量名),,該變量(存儲單元)存儲的值稱為變量的值,變量中能夠存儲值得類型為變量的類型


變量名

用一個合法的標識符來代表一個變量,,如 n, m 等都是合法的變量名,。在程序中用到的變量需要先定義后使用,,變量名應遵循自定義標識符的命名規(guī)則

  命名規(guī)則:   變量名只能由字母、數(shù)字,、下劃線組成,必須由字母或下劃線開頭,,不能用 關鍵字來命名,,區(qū)分大小寫

注:對于變量名的長度,不同的 C++ 編譯器有不同的規(guī)定,,考慮到系統(tǒng)的可移植性,,變量名一般不要超過8個字符


    變量的定義

    數(shù)據(jù)類型 變量表

      // C++ 允許在定義變量的同時為變量賦初值   int i = 1;


    變量的訪問

    變量一經(jīng)定義,系統(tǒng)就在計算機內(nèi)存中為其分配一個存儲空間,,在程序中使用到變量時,,就在相應的內(nèi)存中存入數(shù)據(jù)或取出數(shù)據(jù),這種操作被稱為變量的訪問


    變量的類型

    變量可以是標準數(shù)據(jù)類型 int,、short,、long、float,、double,、char 等,也可以是用戶自定義的各種類型(這些數(shù)據(jù)類型在下面)


    運算符

    算術(shù)運算符

    算術(shù)運算符用于各類數(shù)值的運行,,一共分為七種:加(+),、減(-)、乘(*),、除(/),、求余(%)、自增(++),、自減(--)


    模運算符(%)

    模也稱為求余或取余,,模運算符即求余運算符(余在這里表示余數(shù),也就是獲得余數(shù)的運算符),,運算所需變量為兩個,,所以是雙目運算符

      // 5 除以 2 的余數(shù)為 1   a = 5 % 2;

    注:兩個變量必須都為整型


    除法運算符(/)

    C++ 中的除法運算符有一些特殊之處:如果 a、b 均是整型,,那么除法獲得的是它們的商

      // 5 除以 2 為 2   a = 5 / 2;   // 5.0 除以 2 為 2.5   a = 5.0 / 2;


    自增自減運算符(++,,--)

    自增、自減運算符用來對一個操作數(shù)進行加1或減1運算,,其結(jié)果仍然賦予該操作數(shù),,操作數(shù)只能是變量,不能是常量或表達式

      // 自增 x++,,即 x = x + 1   x++;   // 自減 x--,,即 x = x - 1   x--;

    注:x++ 和 ++x 的區(qū)別

      // 在表達式中使用,區(qū)別在于 x++ 先賦值,再運算,,++x,,先運算,再賦值   a = x++;  // 等價于 a = x;  x = x + 1;   a = ++x;  // 等價于 x = x + 1;  a = x;


      #include   using namespace std;   int main()   {       int i = 0;       cout < i++="">< endl;=""  =""  =""  ="" i="">
          cout < ++i="">< endl;=""  =""  =""  ="" return="">
      }   // 輸出   // 0   // 1


    關系運算符

    關系運算符用于比較數(shù)值的大小,,一共分為六種:大于(>),、小于(<)、等于(=),、大于等于(>=),、小于等于(<>關系運算符均為雙目運算符,,結(jié)果為整型,且只有兩種:0 或 1,,0 代表 假(錯誤),,1 代表 真(正確)

      // 關系運算符的優(yōu)先級在算術(shù)運算符之后,賦值運算符之前   c = a + b > 3;  // 先將 a + b 再和 3 做比較,,最后賦值給 c


    邏輯運算符

    邏輯運算符是根據(jù)表達式的值來返回真(1)假(0),,一共提供了三種運算符:邏輯與(&&),邏輯或(||),,邏輯非(!),。邏輯與、邏輯或均為雙目運算符,,具有左結(jié)合性(從左至右依次執(zhí)行),,邏輯非為單目運算符,具有右結(jié)合性


    邏輯與(&&)

    參與運算的兩個量都為真時,,結(jié)果為真,,否則為假

      4>3 && 3>2  // 結(jié)果為真,即 1


    邏輯或(||)

    參與運算的兩個量只要有一個為真,,結(jié)果就為真,,只有兩個量都為假時,才為假

      4>3 || 3<2  //="" 結(jié)果為真,,即="">


    邏輯非(?。?/span>

    參與運算量為真,結(jié)果就為假,,否則為真

      !(5>4)  // 結(jié)果為假,,即 0

    注:雖然上面都是用 1 代表 真,0 代表 假,,但是反過來判斷一個量為 真 還是 假 的時候,,用 非0 代表 真,,0 代表 假,即

      5 || 0  // 結(jié)果為真   5 && 0  // 結(jié)果為假


    位運算符

    位運算符作用于位,,并逐位執(zhí)行操作,,可以分為兩類:位邏輯運算符、移位運算符,。


    位邏輯運算符

    按位與(& / and),、按位或(| / or)、按位異或(^),、按位取反(~)


    按位與

    將參與運算的兩個數(shù)對應的二進制位相與,只有對應的二進制均為 1 時,,結(jié)果的對應位才為 1,,否則為 0

      13 & 5   00001101
      00000101   結(jié)果為   00000101   輸出為   5


    按位或

    將參與運算的兩個數(shù)對應的二進制位相或,只要對應的兩個二進制有一個為 1 時,,結(jié)果就為 1,,只有都為 0 時,結(jié)果才為 0

      13 | 5   00001101   00000101   結(jié)果為   00001101   輸出為   13


    按位異或

    將參與運算的兩個數(shù)對于的二進制位相異或,,當對應的二進制位上的數(shù)字不相同時,,結(jié)果為 1,否則為 0

      13 ^ 5   00001101   00000101   結(jié)果為   00001000   輸出為   8


    按位取反

    將運算數(shù)的各個二進制位按位取反

      ~13   00001101   結(jié)果為   11110010

    注:這里會牽扯到負數(shù)的符號問題(二進制中用最前面的 1 來代表負數(shù)),,又會引申出補碼相關內(nèi)容(以后有需要再講解吧)


    優(yōu)先級

    按位與,、按位或、按位異或 都是雙目運算符,,其結(jié)合性都是從左向右,,優(yōu)先級高于邏輯運算符,低于關系運算符,,從高到低依次是 & ,、^ | 


    移位運算符

    左移(<),、右移(>>)


    左移(<>

       左邊的運算數(shù)的各二進制位向左移若干位,,  右邊的數(shù)是指定移動的位數(shù),高位丟棄,,低位補 0

      a = 13   a <>
      00001101   // 左移 3 位   01101000


    右移(>>)

    將 >> 左邊的運算數(shù)的各二進制位全部右移若干位,,>> 右邊的數(shù)是指定移動的位數(shù)

      a = 13   a >> 3   00001101   // 右移 3 位   00000001

    注:對于有符號的數(shù),在右移時,,符號位將隨同移動,,當操作數(shù)位正,最高位為 0,,而為負數(shù),,最高位為 1(最高位是補 0 或補 1 取決于編譯系統(tǒng)的規(guī)定),,這里比較復雜

    賦值運算符

    基本的賦值運算符即 =,也就是把右邊操作數(shù)的值賦給左邊操作數(shù),,除了基本的賦值運算符,,還有復合賦值運算符,將運算符與賦值運算符(=)組合使用,,復合賦值運算符有以下幾種

      += 加法賦值   -= 減法賦值   *= 乘法賦值   /= 除法賦值   %= 模運算賦值   // 以下不怎么常用   <= 左移賦值=""  ="">>= 右移賦值   &= 位邏輯與賦值   |= 位邏輯或賦值   ^= 位邏輯異或賦值


    賦值語句

    賦值語句是由賦值表達式再加上分號構(gòu)成的表達式語句,,它是程序中使用最多的語句之一,在 C++ 語言中,,= 作為賦值運算符,,而不表示 等于 判斷(用 == 作為 等于 判斷)

      變量 = 表達式;

    注1:賦值語句中右邊的表達式也可以是賦值語句,也就是說可以寫成下面的樣子

      變量 = 變量 = 表達式,;   // 例如   a = b = c = 1;   // 等價于   a = 1;   b = 1;   c = 1;

    注2:如果賦值運算符(=)兩邊的數(shù)據(jù)類型不同,,系統(tǒng)將會自動進行類型轉(zhuǎn)換,即將右邊的數(shù)據(jù)類型轉(zhuǎn)換成左邊的變量類型,,例如

      // 變量 a 是整型,,b 是 浮點型,后面的賦值會自動去掉小數(shù)部分,,只獲取整數(shù)   int a;   folat b;   b = 1.1;   a = b;   cout < a="">< endl;=""  //="" 輸出="" a="" 為="">


    運算符的優(yōu)先級

    常見優(yōu)先級

    算術(shù)運算符 > 關系運算符 > 邏輯運算符 > 賦值運算符

      注:邏輯運算符中的邏輯非(單目)優(yōu)先級高于算術(shù)運算符


    完整優(yōu)先級列表


    優(yōu)先級操作符描述結(jié)合性
    1::作用域解析從左到右
    2++   --后綴 自增,、自減
    ()函數(shù)調(diào)用
    []數(shù)組下標
    .通過引用選擇成員
    ?>通過指針選擇成員
    3++   --前綴 自增、自減從右到左
    +   ?正,、負
    !   ~邏輯非,、按位非
    (type)顯式類型轉(zhuǎn)換
    *解引用
    &取地址
    sizeof取對象大小
    newnew[]動態(tài)內(nèi)存分配
    deletedelete[]動態(tài)內(nèi)存去分配
    4.*   ->*成員指針運算符從左到右
    5*   /   %乘、除,、求余
    6+   ?加,、減
    7   >>按位左移、按位右移
    8   <>小于,、小于或等于
    >   >=大于,、大于或等于
    9==   !=等于、不等于
    10&按位與
    11^按位異或
    12|按位或
    13&&邏輯與
    14||邏輯或
    15?:三目運算符從右到左
    =賦值
    +=   ?=加法/減法賦值運算符
    *=   /=   %=乘法/除法/取余賦值運算符
    <>   >>=按位左移/右移賦值運算符
    &=   ^=   |=按位與/異或/或賦值運算符
    throw拋出異常
    17,逗號從左到右




      本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多