C语言基本运算符如下表:

名称

符号

说明

加法运算符

+

双目运算符,即应有两个量参与加法运算。如a+b, 4+8等。具有右结合性。

减法运算符

-

双目运算符。但“-”也可以作负值运算符,此时为单目运算,如-x,-5等具有左结合性。

乘法运算符

*

双目运算符,具有左结合性。

除法运算符


双目运算符,具有左结合性,参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。

求余运算符(模运算符)

%

双目运算符,具有左结合性,要求参与运算的量均为整型,不能应用于float或double类型。求余运算的结果等于两数相除后的余数,整除时结果为0.

      双目运算符+和-具有相同的优先级,它们的优先级比运算符*、/和%的优先级低,而运算符*、/和%的优先级又比单目运算符+(正号)和-(负号)的优先级低。



自增、自减运算符

      自增1运算符记为“++”,其功能是使变量的值自增1;自减1运算符记为“--”其功能是使变量值自减1.

      自增1,自减1运算符均为单目运算,都具有右结合性,可有以下几种形式:

      ++i:i自增后再参与其它运算。

      --i:i自减后再参与其它运算。

      i++:i参与后其它运算后,i的值再自减1。

      i--:i参与运算后,i的值再自减1;

int main(int argc, const char * argv[]) {
    // insert code here...

    int i = 8; //初始化
    
    printf("a: %d\n", i++);   //输出的结果为:8
    printf("b: %d\n", ++i);   //输出的结果为:10
    printf("c: %d\n", i--);   //输出的结果为:10
    printf("d: %d\n", --i);   //输出的结果为:8
    printf("e: %d\n", -i++);  //输出的结果为:-8
    printf("f: %d\n", -i--);  //输出的结果为:-9
    
    return 0;
}
  • a行,i先参与运算(即printlf函数运算,输出i为:8), 然后再自增1,此行i的值为9.
  • b行,i先自增1,然后再参与其它运算(即printlf函数运算,输出i为10),此行i的值为10.
  • c行,i先参与其它运(即printlf函数运算,输出i为10),然后再自减为9,此行i的值为9.
  • d行,i先自减1,然后参与其它运算(即printlf函数运算,输出i为8),此行i的值为8.
  • e行,i先参与其它运算(即printlf函数运算,输出i为-8),然后i在自增1.此行i的值为9
  • f行,i先参与其它运算(即printlf函数运算,输出i为-9),然后i在自减1,此行i的值为8.