7,运算符的一些注意点

来源:互联网 发布:mac设置邮箱无法验证 编辑:程序博客网 时间:2024/06/06 17:29

1,取模(取余)的时候,结果的正负取决于第一个操作数的正负。比如

    int result = 10 % -3; //1

    result = -10 % 3; //-1

    result = -10 % -3;// -1

2,复合运算符,先算出复合运算符右边的结果,再与左边结合算出最终结果

    int result =5;

    result += 2*3*4;//等于result =result + (2*3*4),而不是result =result + 2*3*4

    printf("result=%i\n",result);//result=29

    

    return 0;

3,sizeof()的使用

    //sizeof是一个运算符,计算出某一个常量,变量或数据类型占有的内存字节数。比如

    //sizeof(常量/变量/数据类型)

    int number = sizeof(10);

    printf("number=%i\n",number);

    number = sizeof(10.8);

    printf("number=%i\n",number);

    number = sizeof(char);

    printf("number=%i\n",number);

    结果:

      number=4

      number=8

      number=1

      Program ended with exit code: 0

4,逗号运算符

   //逗号运算符是从左结合性,结果为最后的表达式的值

    int a = 10;

    int b = 5;

    int result = ((a = a + 1),(b = b + 1),(a + b));

    printf("a=%i,b=%i,result=%i\n",a,b,result); //a=11,b=6,result=6

5,关系运算符

    //真假性,0为假,非0为真

    //关系运算符是左结合性

    //<<=>>=的优先性大于==!=的优先性

    //若有优先性与结合性同时存在的时候,先优先性后结合性

    //逻辑运算符优先级大于关系运算符的优先级

    int result = 5 != 1 + 2 < 10 - 5;//result = (5 != ((1 + 2) < (10 - 5)))

    printf("result=%i\n",result);//result = 1

6,逻辑运算符

    逻辑与,逻辑或是左结合性,逻辑非是右结合性

    逻辑运算符有一个短路特性:

    逻辑与 a&&b,若a为假,就不会再计算表达式b的值了,结果为假。

    逻辑或 a||b,若a为真,就不会再计算表达式b的值了,结果为真。




0 0
原创粉丝点击