zoukankan      html  css  js  c++  java
  • C-运算符

    运算符

    运算符优先级

    优先级 运算符 运算 j结合关系 例子
    1  +  单目不变  自右向左 a*+b
    1  -  单目取负  自右向左 a*-b
    2  *  乘  自左向右 a*b
    2  /  除  自左向右 a/b
    2  %  取余  自左向右 a%b
    3  +  加  自左向右 a+b
    3  -  减  自左向右 a-b
    4  =  赋值  自右向左 a=b

    注意

    禁止使用嵌入式赋值,不利于阅读

    int a = 1;
    int b;
    int c = 1+(b=a);

    复合运算符

    1)+= -= *= /= %=

    num += 1;等价于 num = num + 1;

    复合运算符把复合运算符右边的表达式计算完再后左边的变量做个结合

    #include <stdio.h>
    
    int main(void)
    {
        int num = 3;
        num += 1 + 2;
        printf("%d
    ", num); //6
    }

    2)++和--

    a.++和--为单目运算符,操作的算子必须为变量

    b.a++为a加1之前的指,++a为a加1之后的值,同理--

    #include <stdio.h>
    
    int main(void)
    {
        int a = 1;
    
        printf("%d
    ", a++); //1
        printf("%d
    ", a); //2
        printf("%d
    ", ++a); //3
    }

    注意

    不要将其组合到表达式中,如a = b+=c++-d+--e/-f

    sizeof

    是一个运算符,返回某个类型或某个变量所占据的字节数

     1 #include <stdio.h>
     2 
     3 int main(void)
     4 {
     5     int num = 1;
     6     printf("sizeof(num) = %d
    ", sizeof(num));
     7     printf("sizeof(num) = %d
    ", sizeof(num++));
     8     printf("num=%d
    ", num); //1
     9     printf("sizeof(num) = %d
    ", sizeof(num+1.0));
    10     printf("num=%d
    ", num); //1
    11     return 0;
    12 }

    注意:

    1)sizeof是静态运算符,它的结果在编译期就已经确定

    2)不要在sizeof中做运算,因为然并卵,它只会看它的结果是什么类型的,并不会真正执行运算

    表达式

    一系列运算符(比如+-*/)和算子(参与运算的值,比如常量,变量或函数的返回值)的组合,用来计算一个值

    int a = 1;
    a = a + 1;
  • 相关阅读:
    Schedular
    CronTrigger
    SimpleTrigger
    Quartz代码示例
    quartz
    gson and json
    json数据结构和gson的比较
    stackApp符号匹配
    Git命令
    org.apache.maven.archiver.mavenarchiver.getmanifest怎么解决
  • 原文地址:https://www.cnblogs.com/marton/p/12298792.html
Copyright © 2011-2022 走看看