日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言操作符(又称运算符)(1)

發布時間:2024/10/14 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言操作符(又称运算符)(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-01-17 創建人:Ruo_Xiao 開發環境:VS2010 郵箱:xclsoftware@163.com

一、分類

算術操作符、移位操作符、位操作符、
賦值、單目操作符、關系操作符、
邏輯操作符、條件操作符、逗號操作符

二、算術操作符

+ - * / %

  • 除了%外其余均適用于浮點型和整型。
  • /:當兩邊都是整數時,結果是商,其他情況執行浮點數除法。
  • %:兩邊只能是整數,結果是余數。
    栗子:
  • int i = 4.0%3; //error C2296: “%”: 非法,左操作數包含“double”類型 int k = 4%3; //正確

    三、移位操作符

    << >>

    1、<<:在左移位中,值的最左邊的幾位被丟棄,右邊多出來的幾個空位則由0補齊。
    2、>>:在右移位中,值的最右邊的幾位被丟棄,左邊多出來的幾個空位有如下
    兩種情況:
    (1)邏輯移位:左邊移入的位由0填充。
    (2)算術移位:左邊移入的位由原來符號位決定,若為1,則全部填充1,若為0,則全部填充0。
    具體采取上述哪種情況,由編譯器決定。
    栗子:

    #include "stdafx.h" #include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]) {int i1 = -123;int i2 = i1>>3;int i3 = 123;int i4 = i3>>3;cout<<"i1 = "<<i1<<endl;cout<<"i2 = "<<i2<<endl;cout<<endl;cout<<"i3 = "<<i3<<endl;cout<<"i4 = "<<i4<<endl;cin.get();return 0; }

    結果如下:

    解釋:
    (1)補碼計算過程:
    -123:1111 1011 -> 1000 0100 -> 1000 0101。
    123:0111 1011 -> 0111 1011 -> 0111 1011
    (2)右移三位,兩種結果,如下:
    -123:
    A、邏輯移位:0001 0000。
    B、算術移位:1111 0000。
    123:
    A、邏輯移位:0000 1111。
    B、算術移位:0000 1111。
    (3)上述結果在計算機中都是補碼,那么其原碼對應的十進制是什么呢?計算如下:
    -123:
    A、0001 0000 -> 0001 0000 -> 0001 0000 -> 16。
    B、1111 0000 -> 1110 1111 -> 1001 0000 -> -16。
    123:
    A、0000 1111 -> 0000 1111 -> 0000 1111 -> 15。
    B、0000 1111 -> 0000 1111 -> 0000 1111 -> 15。
    答案揭曉:對于VS2010,數值右移,在左邊,是按照符號位進行填充的,即:算術移位。

    四、位操作符

    & -> AND | -> OR ^ -> XOR(異或,相同為0,不相同為1

    五、賦值

    = 結合性從右向左

    復合賦值符:+= -= <<= 等。
    這里需要注意:

    a = a + 1; a += 1;

    上述兩個表達式結果都是一樣的,但是更推薦后者,原因如下:

    b*(a+3) = b*(a+3) + 10; b*(a+3) += 10;

    大家明白了吧,有上述栗子可知,復合賦值比普通賦值的優點如下:
    (1)增強源碼的可讀性和易維護性。
    (2)后者表達式b*(a+3)只計算1次,前者計算2次,提高代碼執行效率。

    總結

    以上是生活随笔為你收集整理的C语言操作符(又称运算符)(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。