程式=演算法+資料
1.運算子:
表示式:由運算子與資料組成的式子
注:每乙個表示式都有運算的結果
1.求空間長度運算子:sizeof
2.賦值 左值(變數)=右值(常量)
1.1.隱式轉換(不同型別)
整型=浮點型:取整型部分賦值給整型
1.2溢位
注:結合:從右往左
隱式型別轉換:編譯系統是不能直接運算不同型別間的資料,必須轉換為同型別方能運算
3.算術運算子:+ - * / %
優先順序:* / % 》+ - 結合:從左往右
注:%只對整型資料 int%int
注: int / int =int
char-(char)->char
char-(int)->int-(float/double)->double (為了提高精度)
4.位運算子:(對bit進行操作)
1.1.向左移:<<
例:1111 1111<<2 ==1111 1100
1.2.向右移:>>
例:1111 1111>>2 ==0011 1111
1.3.按位與:& 一一得一 一零得零 零零得零(個人想法:類似於把每一位相乘)
例:1110 0011 & 1100 1100 == 1100 0000
1.4.按位 或:| 一一得一 一零得一 零零得零
(個人想法:類似於把每一位相加,只不過1+1保留1)
例:1110 0011 | 1100 1100 == 1110 1111
1.5:按位取反:~ 一變零 零變一
例:1110 0011 ~1110 0011==0001 1100
1.6:按位異或:^ 同位相同為零,同位不同為一 一一得零 零零得零 一零得一
(個人想法:類似於把每一位相加,只不過是1+1保留0)
例:1110 0011 ^ 1100 1100 == 0010 1111
5.判定運算子:> < >= <= != !
結果:邏輯值 真為1 假為0
例:1>2的結果為0
1<2的結果為1
6.自增自減運算子:++ -- 注:i的值必須是變數
i++ ++i或i-- i++
前自增,減:++i --i (i先自增/減,結果再取i值)
後自增, 減:i++ i-- (結果先取i值,i再自增/減)
7.三目運算子:表示式1 ? 表示式2:表示式3
結果:表示式1為真,則取表示式2,否則取表示式3
(表示式1非0則為真 表示式1=0則為假)
C語言 運算子與 運算子
我們平時使用帶參巨集時,字串中的巨集引數是沒有被替換的。例如 輸出結果為 然而,我們期望輸出的結果是 5 20 2513 14 27 這該怎麼做呢?其實,c語言允許在字串中包含巨集引數。在類函式巨集 帶參巨集 中,號作為乙個預處理運算子,可以把記號轉換成字串。例如,如果a是乙個巨集形參,那麼 a就是...
C語言 運算子和 運算子
變數 代表 取變數的位址 變數 代表 指標型的變數 取址運算子 用來取得其運算元的位址。如果運算元 x 的型別為 t,則表示式 x 的型別是 t 型別指標 指向 t 的指標 取址運算子的運算元必須是在記憶體中可定址到的位址。換句話說,該運算子只能用於函式或物件 例如左值 而不可以用於位欄位,以及那些...
C語言運算子
1級優先順序左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 字尾增量運算子 字尾增量運算子 2級優先順序右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首增量運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 sizeof 長度運算子 3級優先順序左結合 ...