逻辑运算符

逻辑运算符!、&&、依次为逻辑非、逻辑与、逻辑或,这和数学上的与、或、非是一致的。逻辑非的优先级高于算术运算符,逻辑与和逻辑或的优先级低于关系运算符,逻辑表达式的值只有真和假,对应的值为 1和 0。

赋值运算符

左值 (L-value)是那些能够出现在值符号左边的东西,和右值 (R-value)是那些可以出现在赋值符号右边的东西。

求字节运算符

sizeof 是一个运算符,不像其他运算符是一个符号,sizcof 是字母组成的,用于求常量或变量所占用的空间大小。

#include <stdio.h>

void logical_operator();
void short_circuit();
void assignment();
void sizeofTest();

int main()
{

    logical_operator();
    short_circuit();
    assignment();
    sizeofTest();

    return 0;
}

void sizeofTest()
{
    int i = 0;
    printf("i size is %d\n", sizeof(i));
}

void assignment()
{
    int a = 1, b = 2;
    a += 3;
    b *= 5;
    printf("a=%d\n", a);
    printf("b=%d\n", b);
}

void short_circuit()
{
    int i = 0;
    i &&printf("短路了,我不会执行了!");
    i = 1;
    i || printf("短路了,我也不会执行了!");
}

void logical_operator()
{
    int year, i, j = 6;
    while (scanf("%d", &year))
    {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
        {
            printf("%d is leap year\n", year);
        }
        else
        {
            printf("%d is not leap year\n", year);
        }
    }
    i = !!j;
    printf("i value=%d\n", i);
}