C语言运算符详解

发布时间:2023-05-22

一、算术运算符

算术运算符用于对数值进行数学运算,包括加法、减法、乘法、除法和模运算。

#include <stdio.h>
int main()
{
    int a = 10, b = 4, c;
    c = a + b;
    printf("a + b = %d\n", c);
    c = a - b;
    printf("a - b = %d\n", c);
    c = a * b;
    printf("a * b = %d\n", c);
    c = a / b;
    printf("a / b = %d\n", c);
    c = a % b;
    printf("a % b = %d\n", c);
    return 0;
}

输出结果:

a + b = 14
a - b = 6
a * b = 40
a / b = 2
a % b = 2

二、关系运算符

关系运算符用于比较两个数值的大小,其结果为真或假。

#include <stdio.h>
int main()
{
    int a = 10, b = 20;
    printf("a > b 的值为 %d\n", a > b );
    printf("a < b 的值为 %d\n", a < b );
    printf("a >= b 的值为 %d\n", a >= b );
    printf("a <= b 的值为 %d\n", a <= b );
    printf("a == b 的值为 %d\n", a == b );
    printf("a != b 的值为 %d\n", a != b );
    return 0;
}

输出结果:

a > b 的值为 0
a < b 的值为 1
a >= b 的值为 0
a <= b 的值为 1
a == b 的值为 0
a != b 的值为 1

三、逻辑运算符

逻辑运算符用于对真或假(或非)进行逻辑运算,包括与、或和非。

#include <stdio.h>
int main()
{
    int a = 1, b = 0;
    printf("a && b 的值为 %d\n", a && b );
    printf("a || b 的值为 %d\n", a || b );
    printf("!a 的值为 %d\n", !a );
    return 0;
}

输出结果:

a && b 的值为 0
a || b 的值为 1
!a 的值为 0

四、位运算符

位运算符用于对二进制数进行位运算,包括与、或、异或、左移和右移。

#include <stdio.h>
int main()
{
    unsigned int a = 60; 
    unsigned int b = 13;
    int c = 0;           
    c = a & b;            
    printf("a & b 的值为 %d\n", c );
    c = a | b;            
    printf("a | b 的值为 %d\n", c );
    c = a ^ b;            
    printf("a ^ b 的值为 %d\n", c );
    c = ~a;               
    printf("~a 的值为 %d\n", c );
    c = a << 2;           
    printf("a << 2 的值为 %d\n", c );
    c = a >> 2;           
    printf("a >> 2 的值为 %d\n", c );
    return 0;
}

输出结果:

a & b 的值为 12
a | b 的值为 61
a ^ b 的值为 49
~a 的值为 4294967235
a << 2 的值为 240
a >> 2 的值为 15

五、赋值运算符

赋值运算符用于将一个值赋给一个变量,包括等号、加等、减等、乘等、除等和模等。

#include <stdio.h>
int main()
{
    int a = 10, b = 5, c = 7, d = 12;
    a += b; 
    printf("a = %d\n", a );
    c -= d; 
    printf("c = %d\n", c );
    b *= d; 
    printf("b = %d\n", b );
    a /= b; 
    printf("a = %d\n", a );
    d %= c; 
    printf("d = %d\n", d );
    return 0;
}

输出结果:

a = 15
c = -5
b = 60
a = 0
d = 2