C语言 操作符 简单总结

一,算术操作符

  +     -     *    /      %

都是运算基础操作符,但要注意“%”只能用于整型。

二,移位操作符

移位操作符有两种:>>(右移操作符)、<<(左移操作符)。

特别注意右移操作时分为两种情况:

1、算术右移。

算术右移情况指的是:二进制数有正负之分,补位时要注意符号位;
2、逻辑移位。

逻辑移位情况指的是:不需要考虑符号产生的问题,直接补0即可。
3、移位操作符不能直接赋值改变变量。

如果需要改变变量需要这样输入:a>>=1;

4、左移操作相当于/2;

右移操作相当于*2。

三、位操作符。

扫描二维码关注公众号,回复: 4284793 查看本文章
&(按位与)   |(按位或)      ^(按位异或)

基础操作符,需注意的是这三个操作符操作的必须是整数。

四,赋值操作符。

=   +=

注意在连续赋值时,应从右往左赋值,例如:

a=x=y+1;

输出时a的值就应是y+1。

五、单目操作符。

!(逻辑反操作、非)、&(取地址符)、sizeof(求长度)、
~(按位取反)、++、--、*、(类型)等。

1、&是取地址符,%p打印地址。

2、sizeof()是操作符,不是函数!

3、++的前置和后置(前置先运算后使用,后置先使用在运算)。

4、*在这里是间接访问操作符,主要和指针相关。

5、(类型)为强制类型转换操作符。
例:

#include<stdio.h>
int main()
{
    int num = 0;
    float f = 3.14;
    num = (int)f;
    printf("num=%d\n", num);
    system("pause");
    return 0;
}

输出 num= 3

六、关系操作符。

==   、 >=  、 <=

主要出现在条件的比较判断上,如:if语句、for循环等。

七、条件操作符。
1、exp1 ? exp2 : exp3 ;(三目操作符)
举例:

int main()
{
    int a=10, b=0;
    if (a > 5)
        b = 3;
    else b = -3;
    printf("b=%d\n", b);
    system("pause");
    return 0;
}

当a=10时,通过if的条件判断后,b的值为3。

当a=-10时,b的值为-3。

如果用上述语句即可表达成:

#include<stdio.h>
int main()
{
    int a=10, b=0;
    b = a > 5 ? 3 : -3;
    printf("b=%d\n", b);
    system("pause");
    return 0;
}

2、exp1 , exp2 , exp3

逗号条件句的运算规则是从左往右依次运算,其结果是最后一个表达式的结果。

八、其他操作符。

1、下标引用操作符 [ ] :多见于数组。例如:arr[2]。

特别注意:arr[2]与*(arr+2)是等价的。

2、函数调用操作符 ( ) :这个操作符十分常见,不做过多解释。

3、结构成员访问操作符 . 和 -> :多见于结构体中。

猜你喜欢

转载自blog.csdn.net/qq_43223415/article/details/83099691