C語言運算子

2021-08-21 07:13:34 字數 1435 閱讀 6432

程式=演算法+資料

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級優先順序左結合 ...