1. 程式人生 > >c++--常量,逗號運算,邏輯運算,關係運算,條件運算,SIZEOF運算,位運算

c++--常量,逗號運算,邏輯運算,關係運算,條件運算,SIZEOF運算,位運算

常量

  • 在程式執行的整個過程中其值始終不可改變的量
  • 直接使用符號(文字)表示的值  例如:12,3.5,‘A’都是常量

整數常量

  • 十進位制:若干個0~9的數字,但數字部分不能以0開頭,正數前面的正號可以省略
  • 八進位制:前導0+若干個0~7的數字
  • 十六進位制:前導0x+若干個0~9及A~F的字母(大小寫均可)
  • 以文字形式出現的整數
  • 字尾:字尾L(或l)表示型別至少是long,字尾LL(或ll)表示型別至少是long long;字尾U(或u)表示是unsigned(無符號)型別

浮點型別的常量

  • 以文字形式出現的實數
  • 一般形式  例如:12.5   -12.5等
  • 指數形式(科學計數法)   例如:0.345E+2,-34.4E-3 整數部分和尾數部分可以忽略其一
  • 浮點常量預設為double型,如果字尾F(或f)可以使其成為float型,例如:12.3f

字元常量

  • 用單引號將一個字元括起來,他在記憶體中的儲存形式應該是他的asc||碼
  • 一些字元常量無法顯示出來,如換行,回車等,可以用轉義字元來表示

C風格的字串常量

  • 一對雙引號括起來的字元序列
  • 在記憶體中按串中字元的排列順序依次存放,每個字元佔一個位元組
  • 在末尾新增‘\0’作為結尾標記
  • 通過新增字首可以改變字元常量或是字串常量的型別(u-Unicode16字元,U-Unicode32字元,L-寬字元,u8-UTF-8(僅用於字串字面常量))

逗號運算

  • 格式:表示式1,表示式2
  • 求解順序及結果:先求解表示式1,再求解表示式2;最終結果為表示式2的值    例如:a=3*5,a*4  最終的結果是60

關係運算

  • 關係表示式是一種最簡單的邏輯表示式,結果型別是bool,值只能為true或false

邏輯運算

  • 短路特性

條件表示式

  • 表示式1?表示式2:表示式3  表示式1必須是bool型別,如果為真執行表示式2,為假執行表示式3

SIZEOF運算

語法形式:sizeof(型別名)或sizeof 表示式      例:sizeof(short) sizeof x

結果值:“型別名”所指定的型別,或“表示式”的結果型別所佔位元組數

位運算

高階語言處理資料以位元組為單位,機器語言和組合語言處理資料以位為單位

按位與(&)

運算規則:將兩個運算量的每一位進行邏輯與操作(對齊,不夠的補0)

用途舉例:將某一位置0,其他位不變(其他為和1進行與操作,置0的位與0進行與操作);取指定位

按位或(|)

運算規則:將兩個運算量的每一位進行邏輯或操作(對齊,不夠的補0)

用途舉例:將某些位置1,其他位置不變(其他位和0進行或操作,置1位與1進行或操作)

按位異或(^)

運算規則:將兩個運算量的每一位進行異或操作(對齊,不夠的補0),對應位相同,則該位結果為0,對應位不同,則該位結果為1

用途舉例:是特定位翻轉(與0異或保持原值,與1異或取反)

移位(<<,>>)

左移運算:(<<)左移後,低位補0,高位捨棄

右移運算:(>>)右移後,低位捨棄,高位無符號數補0,有符號數補“符號位”