C語言運算符(注意事項)


1.C語言取余注意事項:%

   a.求余、模運算符(%)時要求兩數必須是整型數據。

  b.取余的結果,是取決於被除數   (不管除數是正數 還是 負數,模的符號與被除數的符號相同)。

    例:8÷2=4 則2為除數。8為被除數。

                 7%4的結果是3
     -7%4的結果是-3
      3%-4的結果是3

 

2.逗號運算符:  ,

  a.逗號運算符,取括號里面最右邊的數。 

    例如: int a=1,int b=1,int c=1;   

        if(a>b.b>c,c>a){}       //if的判斷條件只是是看 c>a

  b.逗號運算符允許將多個表達式組合成為一個表達式。這個特點使得它適用於在 for 循環頭部初始化或遞增多個變量。

    int i; float fArray[10], val;

     for ( i=0, val=0.25; i < 10; ++i, val *= 2.0 ){

          fArray[i] = val;

     }

3.增量,減量運算符

   a++ a--                

    int a=1,int b=1;int c=1;

      printf("%d",a++);  //直接輸出1,然后再a+1=2

      printf("%d",a--); //直接輸出1,然后再a-1=0

   ++a --a

      printf("%d",++a);//先a+1,然后輸出a=2

      printf("%d",--a);//先a-1,然后輸出a=0

 

4.邏輯運算符

         ||  邏輯或 :  1/真   | |   XXX   (直接短路,右邊不用計算)

   &&邏輯與:   0/假  && XXX (直接短路,右邊不用計算)

 

5.位操作運算符(只針對整型)

    對於更多緊湊的數據,C 程序可以用獨立的位或多個組合在一起的位來存儲信息。文件訪問許可就是一個常見的應用案例。位運算符允許對一個字節或更大的數據單位中獨立的位做處理:可以清除、設定,或者倒置任何位或多個位。也可以將一個整數的位模式(bit pattern)向右或向左移動。

   移位運算符的操作數必須是整數。在實際移位操作之前,兩個操作數都要進行整數提升(promotion)。右邊操作數不可以為負值,並且必須少於左邊操作數在整數提升之后的位長。如果不符合這些條件,程序運行結果將無法確定。

   左移時總是移位和補零(丟棄最高位,0補最低位)。右移時無符號數是移位和補零,此時稱為邏輯右移;而有符號數大多數情況下是移位和補最左邊的位(也就是補最高有效位),移幾位就補幾位,此時稱為算術右移。 

unsigned long n = 0xB, // 位模式:    0 ... 0 0 0 1 0 1 1 result = 0; result = n << 2; //左移 0 ... 0 1 0 1 1 0 0 result = n >> 2; //右移 0 ... 0 0 0 0 0 1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM