浅谈运算符

发布于:2022-11-05 ⋅ 阅读:(294) ⋅ 点赞:(0)

目录

逻辑运算符

条件运算符

逗号运算符


逻辑运算符

今天我们谈一下运算符的使用和注意点。

运算符                描述                示列                结果

!                     逻辑的“非”        !a                a为对的,结果错的

&&                         与                a&&b             ab都是对的,结果才能是对的

\\                            或                a\\b                有一个是对的,结果都是对的

        逻辑运算符的结果只有0或者1

        好,那我们举一个例子,x在4到6开区间,我们不能用4<x<6.因为4判断是否小于x,是4<x变成false或者true.会使前面变成0或者1和6作比较,那这个结果一定不会达到我们开始的区间预期,所以我们要用&&来表达,x>4&&x<6来表达。

        那我们运算还要注意一个一个优先级,优先级呢,我来列一个,

()        !+  ++  --        *  /  %        +  -        <  <=  >  >=        ==  !=        &&        //        

        一个tab间隔表示一个组,从左到右优先级逐渐下降

短路

        我们在用这三个运算符时候有一种情况,就是短路,短路通常是一个好事,可以加快运算速度,但是一旦碰到赋值情况就不是那么美妙了。

我们来看看

        x==8 && y==2        这个情况,如果x不等于8,那我们计算机就不会看下一步了,直接报错,很好,可以加快速度。

        x==8 && y+=2        这种情况,当x不等于8,那我们的y的赋值运算不能进行了,直接跳过

        所以我们不要把赋值放在表达式里面。

        同理  //  和&&一样。

条件运算符

        例子        count = (count > 20)? count - 10 : count + 10;

        这里面?前面是判断条件是否满足,满足count为 : 前的值,不满足为 : 后面的值

但是这个会让人看起来较为复杂,不如if        else if那么直白,所以用的少。

逗号运算符

逗号运算符的优先级是所有运算符中最低的,先算逗号左边的,再算逗号右边的,把逗号右边的值作为他的结果。

        例子

        n = 3 + 5, 8 + 9;        这个式子中n的结果会是8,因为等号优先级大于,        如果想取得就加()

         n = (3 + 5, 8 + 9);        这个式子结果就是17.

#include <stdio.h>
int main()
{
	int x;
	x = 3 + 5,8 + 9;
	printf("%d",x);
	return 0;
}

 

 

        有兴趣的话你们可以去试试,看到这里我们会有疑问,逗号运算符有什么意义呢?一般用在for的循环语句,这里就不多说了,再见了。 

本文含有隐藏内容,请 开通VIP 后查看