C语言基础应用(三)运算符与表达式

一、运算符的分类

C语言中的运算符号分为10类: 算术运算符 、 关系运算符 、 逻辑运算符 、 位操作 运算符、 赋值运算符 、 条件运算符 、 逗号运算符 、 指针运算符 、求字节数运算符和特殊运算符。
下面将简单介绍一下这些运算符。

二、算术运算符

说起算术运算符,就会不由想到数学里的加减乘除,既然是算数,是否会有运算顺序呢?答案是肯定的。
算是运算符主要有:+、-、*(乘)、/(除)、%(取余,即取余数)。
值得一提的是,%(取余)仅适用于整型运算,其余的可以直接作用于整型和浮点型上。

//    结果为1
    printf("value1:%d\n",9%2);

//    结果为-6,先运算6*3与5/2,然后从左至右顺次进行。
    int i = 10 - 6 * 3 + 5 / 2;
    printf("value2:%d\n",i);

三、关系运算符

关系运算符有:>、<、==、>=、<=、!=依次为大于、小于、是否等于、大于等于、小于等于和不等于。
由关系运算符组成的表达式称为关系表达式。关系表达式的值只有真和假,对应的值为1和 0。由于 C 语言中没有布尔类型,所以在 C 语言中 0 值代表假,非 0 值即为真。
关系运算符的优先级低于算术运算符。

//    值为0,即值为假,说明先执行的4+3,再与6进行比较
    printf("value3:%d\n",4+3 < 6);

需要注意的是,“==”与 “=”
我们平时所使用的“=”居多,但是在C语言这里,“=”是赋值符号。
在使用的过程中一定要注意到应该需要使用 , “==”还是“=”。

除此之外,在比较大小的过程中,我们不能使用在数学中的,诸如:a < b < c 这种重复的判断。而是要将其转换为,a < b && b < c

四、逻辑运算符

逻辑运算符:!、&& 、|| 分别为:逻辑非、逻辑与、逻辑或,这些运算符的含义与数学中的与、或、非所表达的一致。
逻辑非的优先级高于算数运算符,逻辑与 和 逻辑或的优先级低于关系运算符。

//    值为1 !运算符优先于算术运算符,而2>0,!2 即为0
    int j = !2 + 1;
    printf("value4:%d\n",j);

五、赋值运算符

“=”即为赋值运算符,为了弄清楚操作符,我们引入左值和右值。
左值是能够出现在赋值符号左边的东西,右值是可以出现在赋值符号右边的东西。

int a = b + 10;

a就是一个左值,b+10,这一个整体为右值。
他们是否可以进行位置互换呢?
即如:

b + 10 = a;

此时a是可以作为右值的,但是,b+10却不能作为左值,因为它未标识一个特定的位置。

六、求字节运算符

求字节运算符:sizeof,需要注意的是,sizeof在这里并不是函数,而是运算符。

//    值为4,也就是说整型变量占用的空间大小是四个字节
    int m = 1;
    printf("value5:%d\n",sizeof(m));

你可能感兴趣的:(C语言学习,c语言,开发语言)