码迷,mamicode.com
首页 > 其他好文 > 详细

C-运算符

时间:2020-02-13 00:04:59      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:它的   --   include   ++   参与   一个   return   类型   组合   

运算符

运算符优先级

 

优先级 运算符 运算 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\n", num); //6
}

 

2)++和--

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

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

#include <stdio.h>

int main(void)
{
    int a = 1;

    printf("%d\n", a++); //1
    printf("%d\n", a); //2
    printf("%d\n", ++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\n", sizeof(num));
 7     printf("sizeof(num) = %d\n", sizeof(num++));
 8     printf("num=%d\n", num); //1
 9     printf("sizeof(num) = %d\n", sizeof(num+1.0));
10     printf("num=%d\n", num); //1
11     return 0;
12 }

注意:

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

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

 

 

表达式

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

int a = 1;
a = a + 1;

 

C-运算符

标签:它的   --   include   ++   参与   一个   return   类型   组合   

原文地址:https://www.cnblogs.com/marton/p/12298792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!