00:01
我们继续来看逻辑运算符的两个练习题,我们来看一下同学们先看第一个题,这第一个题,第一个题呢,他问最后我们X和Y分别输出什么?大家来推断一下。我们把这个代码走一走,前面呢,分别给XY负了一个一没问题吧,那紧接着X加加,X加加,注意看这个加加是什么呀,是后加加后加加,那也就是说它先让X和二进行比较。那显然X本身是一,一肯定不等于二,不等于二的话呢,这个肯定就为甲了,又因为后面是逻辑与,所以说根据它的一个短路的特性,后面就不会执行,那里面也不会进来了,那最后这个X和Y分别输出什么呢?因为你在进行这一步的时候,这个X加加虽然是后加加,但是它毕竟还是执行了。
01:02
也就是说它先让一和二进行比较,看看相不相等。这个事情做完以后呢,不管这个结果是真还是假,他都会去自证一下,所以说这个结果哈,不会进到这里面来,那这个这个结果应该是什么,各位朋友,那就是X。会等于一个二。而Y呢?Y没有任何操作。Y仍然保存一。答案就这样子的,我们再看第二个题,就这个题,这个题呢,X和Y也分别复制为一,只是看它这里是X加加等于一,注意这个X呢也是后加加。显然,一等于一是成立的。一等于一是成立的,一旦成立后面这个就不执行了,因为它是或或就是说只要有一个为真是不是后面就不执行了,刚刚讲过的,因此呢,它会进到这里面来,进到这里面来的话,那不管你前面X是多少,都被重新复制。
02:08
所以说X呢,就等于七,那Y有没有执行过呢?Y没有执行过,所以说Y还保存原先的值为一,因此这边的这个结果应该是X。等于一个七,而Y呢,各位朋友还保存原先的值对不对?是这样一个结果,没有问题吧,同学们肯定是这样子的,同学们要是有兴趣的话呢,你可以去运行一把,绝对是这个结果,就是一个是二,一个是一,一个是七,一个11,同学们自行去运行一下,我们再来看下一个题,嗯,同学们看下一个题,我们也来分析一把。X呢等于一,Y等于零,没有问题,Short。Z等于42。那现在呢,他首先做了一个动作,是Z加加等于12,各位同学,这个Z加加是后加加,因此呢,他要先判断42相不相等,所以说这个呢是OK的,这个结果为真。
03:09
但是记住,当这一步执行完毕过后,我们的Z呢,其实是43了,Y变成一了,也就是说。到这一步的时候,这个Z是等于43的,而Y呢,等于一,而一本身。也就是说这个一呢,本身也可以当做当做。当做真来对待。也就是说Y等于这两个都为一,都为真,那么这个也要执行,执行到这的时候呢,我们这个Z就变成了多少44,因为Z独立使用,那就不,那不管是前加加还是后加加,都是要自证一的。对吧,紧接着它又执行X等于零,这个X等于零是不是这个为甲呀,因为零为甲吗?因此这个如果为甲,这个如果为假,就要看下面这个句话了,因为它是或,或就是说必须,如果你第一个为假,它会继续判断,如果第一个为真的话呢,他就不再判断了,因此这个为假,False。
04:11
他就会去执行后面这个判断,那刚才这个Z已经是44了,对不对,同学们,那他是前加加,所以说他先自增看45,因为44加一不就45了吗?45和45相等显然是成立的,于是进到这里面来又进行加一次,因此当执行完这个的时候,我们这个Z呢,已经变成45了。紧接着又执行下面这句话,这应该等于多少?朋友们,等于46,最后他问这等于多少?这应该等于46,答案就是46,那同学们,我们可以给大家运行验证一下。给大家验一下哈,因为这个稍微比刚才那个要复杂一点,我验一下就行了,同学们。同学们看,我在这把刚才这个代码拿过来验证一下,诶,这个是不是多多拷贝这个东西啊。
05:03
啊,可以的。可以没问题,我就把它拷贝到这里了,拷贝这里呢,我把它格式化一下。那看起来太难看了,同学们看,我们现在看看最后这个Z,它输出的是不是46运行值。我们看运行的结果跟老师的分析是否一样,答案是正确的,所以说最后这个结果呢,的确就是46。就跟老师分析的完全一样。完全一样。好,同学们,那现在呢,我们关于逻辑运算符就讲完了,我们把刚才讲的内容进行一个梳理,同学们跟上老师思路,我们梳理一下。那逻辑运算符我们讲了哪些内容呢?捋一捋。打开这里往下走,好,同学们跟上老师思路。罗金顺府。逻辑算法。首先。A,首先我们做了一个基本的介绍,要明白逻辑算符是用来做什么的。
06:04
对吧,它是用于连接多个条件的。它是用于连接多个条件的,最终的这个结果呢只有两个,要么是非零。非零就是为真了,要么是零。对,就是要么是真,要么是假。把这个基本介绍做完了以后,我们做什么事情呢?是不是给大家看了一下,在C语言里边,我们逻辑运算符统共有几种,是不是还把它的运算规则也说了一下,好,我把这一个呢给各位朋友板书过来,这是我们逻辑运算符的一览。一览表。把它给同学们放到笔记中啊,非常的简单,我截个图就行。好的,这是我们C语言里面的三种逻辑运算符。紧接着我们讲什么东西了呢?我们是不是分别对三种逻辑算法举例说明呢?来,走一走。
07:02
首先我们讲的是第一个案例,就是逻辑语的案例,逻辑语的案例呢,具体来说就这两个是不是结果,一个是OK,一个是OK2呃,这个案例是不是在这也有啊,我从这截吧,因为这边有注释。这边有注释是不是。我看一下是哪两个题。啊,一个是这个,一个是这个对吧,所以说我直接呢,从这个地方来截取就可以了。我这边还有个短路,短路的问题,刚好把这拿过来。B我我看一下OK,好,就这两个题,那就从这开始截取。好,同学们,跟上老师思路哈。这段代码,这段代码我拿过来。好的,把它核心代码拿过来,那我写一下VO主方法里边呢,就是刚才我拿过来的代码往这一放,大家一看就明白是什么意思了,对不对,说的很清楚的,这边尤其要跟大家说说一下这个逻辑语的时候呢,有一个。
08:12
逻辑或啊,这个应该是多粘了一部分,把这个拿掉就行了。对,这里面尤其要同学们注意,有个现象叫短路现象,要同学们小心一点,好吧。就是什么时候会短路呢?在进行逻辑与操作时,如果第一个条件为false,则后面的条件不再判断。这点是蛮重要的,因为在我们做题的时候,或者是面试官在问我们关于CC语言知识的时候呢,他老喜欢问这个逻辑。语的短路现象,好,这是说了这块内容,紧接着,紧接着我们是不是又给同学们举了一个例子,是逻辑或的案例。语到这里来,逻辑或。那逻辑或的案例呢,我们仍然从这边来来来截取,那这块就是我们逻辑货了,是不是这小节逻辑或呢,它也存在一个短路现象,要同学们小心一点。
09:11
好,我同学在这把它代码拿过来就行。没问题吧?写到哪里了呢?这。这一点说明一定要小心。逻辑或会出现一个短路的一个现象,同学们要小心。另外呢,这个讲完以后,是不是我们就讲了一些,还有一个罗继飞的案例拿过来罗继飞。逻辑飞呢,其实就是一个逆向操作,是不是逆操作呀,我在这写的很清楚了,那同样我们还是从这边拿吧,这边。OK,那其实这里这里面是一个意思了。我从这边拿一样的。好的,我把罗继飞的一个案例给同学们板述一下。然后把这个讲完了过后,是不是我们举了两个关于逻辑运算符的案例,是不是两两道题,我们也板书到这边来,将来便于同学们的一个复习。
10:10
好,第一个是这个。我就截图了。是不是这个题,那最后我们分析的个结果呢?是这个结果,这边这个结果是这个结果大家看清楚了,这是我们的第一个练习题,紧接着是不是还有第二个练习题啊,第二个练习是不是这个题,我就直接拿过来好吧,最后这个结果J为。多少呢?46Z为46,我把这段代码。也给大家板书过来啊,案例二。案例二,好,直接翻过来,同学们。好,同学们,如果有空,有疑问的地方自己再去测一下,好的同学们,那关于逻辑运算符,我们就给大家介绍到这里,并不是很难,并不是很难,大家捋一捋这个思路,好,这一讲我们就聊到这里。
我来说两句