C语言基础-操作符

1、算数操作符: + 、 - 、 * 、 / 、 %

int main()
{
    int a = 9 / 2;//4
    float a = 9 / 2;//4.000000
    float a = 9.0 / 2;//4.500000
    int a = 9 % 2;//%:取模(余),输出1

    printf("%f\n", a);
    return 0;
}

2、移位操作符:移动的是二进制位、左移 >

int main()
{
    int a = 2;
    int b = a << 1;//<<:左移,0010左移,为0100,输出4

    printf("%d\n", b);
    return 0;
}

3、位操作符:、& :按位与、| :按位或、^ :按位异或

4、赋值操作符: = 、 += 、 *= 、 /= 、……

int main()
{
    int a = 2;
    a += 5;//a=a+5

    printf("%d\n", b);
    return 0;
}

5、单目操作符:!、--、++、 &(取地址) 、sizeof……

(1)、!:逻辑反

int main()
{
    //0为假,1为真
    int a = 0;
    printf("%d\n",!a);//1

    if (a)
    {
        //为真,触发
    }
    if (!a)
    {
        //为假,触发
    }

    return 0;
}

(2)、sizeof:操作数的类型长度,单位是字节

int main()
{
//sizeof是操作符,不是函数,可以计算类型和变量的大小
    int a = 10;//int占4个字节
    printf("%d\n", sizeof(int));//4
    printf("%d\n", sizeof a);//4

    int arr[10] = { 0 };
    printf("%d\n", sizeof(arr));//40,10*4,计算的是数组的总大小,单位是字节
    printf("%d\n", sizeof(arr[0]));//4

    int sz = sizeof(arr) / sizeof(arr[0]);
    printf("%d\n", sz);//10

    return 0;
}

(3)、~:按(二进制)位取反

int main()
{
    int a = 0;
    printf("%d\n", ~a);//-1

    return 0;
}

(4)、++和--:前置(先运算,后使用),后置(先使用,后运算)

int main()
{
    int a = 10;
    int b = ++a;
    printf("%d\n", b);//11
    printf("%d\n", a);//11

    int a = 10;
    int b = a++;
    printf("%d\n", b);//10
    printf("%d\n", a);//11

    return 0;
}

(5)、(类型):强制类型转换

int main()
{
    int a = 6.66;//类型不同,报错
    int a = (int)6.66;//3
    printf("%d\n", a);

    return 0;
}

6、关系操作符:==、!=、、=

7、逻辑操作符:&&与、||或

int main()
{
    int a = 3;
    int b = 5;
    int c = a && b;
    printf("%d\n", c);//1

    int a = 3;
    int b = 0;
    int c = a && b;
    printf("%d\n", c);//0

    int a = 3;
    int b = 0;
    int c = a || b;
    printf("%d\n", c);//1

    return 0;
}

8、条件操作符(三目操作符)

exp1 ? exp2 : exp3

exp1成立,为exp2、exp1不成立,为exp3

int main()//比较,取最大值
{
    int a = 3;
    int b = 5;
    int max = 0;
    if (a > b)
        max = a;
    else
        max = b;
    printf("%d\n", max);//5


    int a = 3;
    int b = 5;
    int max = 0;
    max = a > b ? a : b;//5

    return 0;
}

9、逗号表达式

int main()
{
    int a = 0;
    int b = 3;
    int c = 5;
    int d = (a = b + 2, c = a - 4, b = c + 2);//3
    //逗号表达式,从左向右依次计算
    //表达式的结果是最后一个表达式的结果

    return 0;
}

10、下标引用操作符:[ ]

int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9 };
    printf("%d\n", arr[5]);//[]:下标引用

    return 0;
}

11、函数调用操作符:调用函数时的()

int main()
{
    printf("666");//():函数调用

    return 0;
}

希望本文对大家有帮助,上文若有不妥之处,欢迎指正

分享决定高度,学习拉开差距

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值