赋值操作符(一个等号) = += -= *= /= >>= <<= %= &= ^= |=

简介: 赋值操作符(一个等号) = += -= *= /= >>= <<= %= &= ^= |=
//赋值操作符(一个等号)  =   +=  -=  *=  /=  >>=  <<=   %= &=  ^=  |=
//int main()
//{
//    int a = 0;
//    a += 3;//等价于a=a+3
//    a >>= 3;//等价于a=a>>3
//}
//int main()
//{
//    int flag = 5;
//        if (flag)
//        {
//            printf("hehe\n");
//        }
//        if (!flag)//!逻辑反操作符
//        {
//            printf("haha\n");
//        }
//        return 0;
//}
//sizeof---计算和统计操作类型的长度(字节) sizeof是操作符,不是函数,sizeof()的括号能省略,函数不能
//int main()
//{
//    int a = 10;
//    char arr[10] = { 0 };//10    一个char一个字节,共10个字节 arr是数组名====char[10]是数据类型
//    printf("%d\n", sizeof(a));//4   一个int4个字节
//    printf("%d\n", sizeof a);//计算变量大小,sizeof()的括号能省略
//    printf("%d\n", sizeof (char[10]));//10
//    printf("%d\n", sizeof (arr));      //10
//    printf("%d\n", sizeof(int));//4字节
//    return 0;
//}
//int main()
//{
//    int a = 10;
//    short s = 5;//short占两个字节
//    printf("%d\n", sizeof(s=a + 2));//2     s是short型,2个字节(s括号内不计算)
//                        //因为sizeof在编译过程结果由s决定,计算是在执行过程,执行时,已经丢弃
//    printf("%d\n", s );
//    return 0;
//}
//int main()
//{
//    int a = -1;  //-1的二进制为1000000000000000000000000000000000000001(原码)
//                         //    1111111111111111111111111111111111111110(反码)
//                         //    1111111111111111111111111111111111111111(补码)
//    int b = ~a;//~按位取反,变为0000000000000000000000000000000000000000,为0
//    printf("%d\n", b);//打印结果为0
//    printf("%d\n", a);//打印结果为-1.....a不变
//    return 0;
//}
//int main()
//{
//    int a = 13;
//    a = a | (1 << 4);//只把二进制的1x向前移动四位并按位或
//    printf("%a=%d\n", a);//29
//    //目的:变为原来的13
//    a = a & ~(1 << 4);//
//    printf("a=%d\n", a);//13
//    return 0;
//}
00000000000000000000000000001101(72&73)
00000000000000000000000000011101(原来的a是29)
11111111111111111111111111101111(~)
00000000000000000000000000010000(1<<4)
1<<4
//int main()
//{
//    int a = 10;
//    int b = a++;//后置++,先使用(a赋值给b),后(a自己)++     a b结果不同
//    printf("a=%d\n", a);
//    printf("b=%d\n", b);
//    return 0;
//}
//int main()
//{
//    int a = 10;
//    int b = ++a;//前置++,先(a自己)++,后使用(a赋值给b)        a b结果相同
//    printf("a=%d\n", a);
//    printf("b=%d\n", b);
//    return 0;
//}
//int main()
//{
//    int a = 3;
//    int b = 0;
//    if (a && b)//a,b都为真(非0),才可以就进入该循环  if(a||b)//a,b有一个为真(非)就可以进入if循环
//    {
//        printf("a&&b",a&&b);
//    }
//    return 0;
//}
//int main()
//{
//    int i = 0, a = 0, b = 2, c = 3, d = 4;
//
//    //i = a++ || ++b || d++;//a先使用0,后++,成为1,此时a=0||b=3为1,1||一个值,不计算d,所以答案为1 3 3 4
//    //printf("a=%d\nb=%d\nc=%d\nd=%d\n", a, b, c, d);//打印结果为1 3 3 4
//    i = a++ && ++b && d++;//a先使用0,后++,成为1,此时a=0&&一个值,不计算b,为0,不计算d,所以答案1 2 3 4
//    printf("a=%d\nb=%d\nc=%d\nd=%d\n", a, b, c, d);//打印结果为2 3 3 5
//
//    return 0;
//}


相关文章
|
1天前
|
编译器 C语言
算术操作符+,-,*,/,%
算术操作符+,-,*,/,%
|
1天前
|
C语言
操作符详解(3)C语言复合赋值操作符单目操作符
操作符详解(3)C语言复合赋值操作符单目操作符
|
7月前
|
算法 C语言
算数、赋值、单目操作符介绍
算数、赋值、单目操作符介绍
47 0
|
7月前
|
存储 C语言
C语言操作符[算数操作符,赋值操作符,单目操作符,移位操作符]
C语言操作符[算数操作符,赋值操作符,单目操作符,移位操作符]
|
1天前
|
C语言
自增自减运算符
自增自减运算符
17 4
|
1天前
|
C++
c++赋值运算符
c++赋值运算符
16 0
|
1天前
|
C语言
赋值运算符
赋值运算符。
51 1
|
6月前
|
编译器 C++
34 C++ - 自增自减(++/--)运算符重载
34 C++ - 自增自减(++/--)运算符重载
18 0
|
9月前
|
编译器 C++
移位操作符与位操作符详解
移位操作符与位操作符详解
81 0
|
12月前
10-左移运算符重载
10-左移运算符重载