自学内容网 自学内容网

【信息学奥赛】CSP-J/S初赛07 逻辑运算符与位运算

  本专栏👉CSP-J/S初赛内容主要讲解信息学奥赛的初赛内容,包含计算机基础、初赛常考的C++程序和算法以及数据结构,并收集了近年真题以作参考。

如果你想参加信息学奥赛,但之前没有太多C++基础,请点击👉专栏:C++语法入门,如果你C++语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构

目录

📕1 逻辑运算

📕2 位运算

📕3 运算级比较

📕4 相关例题讲解

🧠例题

🧠题解

📕并运算、交运算、差运算、非运算(区别于逻辑非运算)

🧠并运算

🧠交运算

🧠差运算

🧠非运算


逻辑运算先掌握各种运算,注意运算符的级别比较,做题是要细心。

1 逻辑运算

与(&&、):当A,B都为1时,其值为1,否则为零。

或(||、):当A,B都为0时,其值为0,否则为1。

非(!¬):当A=0时,A的非为1,A=1时,A的非为0。

2 位运算

(&、and):当A,B都为1时,其值为1,否则为零。

(|、or):当A,B都为0时,其值为0,否则为1。

异或(^xor):如果A、B两个值不相同,则异或结果为1;如果A、B两个值相同,异或结果为0。

3 运算级比较

括号 > 非 > 与 > 异或 > 或(位运算),如果加入加减乘除等,就是以下这样:

注意:同级的运算符不分高低,计算时按照从左到右运算。

4 相关例题讲解

例题

若A=True,B=False,C=True,D=False,以下逻辑运算表达式真的有(    )。

     A.(A∧B)∨(C∧D ∨¬A)              B.((¬A ∧ B)∨ C)∧ ¬B

     C.(B∨C∨D)∨D∧A                         D.  A ∧(D ∨¬C)∧B

题解

一个个算结果,比如A选项(A∧B)∨(C∧D∨¬A) ,根据运算级的比较,我们可以定下运算的顺序,然后按运算顺序计算结果。注意,这类题是有个小技巧的。比如A选项可以先看中间的∨,为什么呢?因为∨的左右有一边是真就行,可以不去看另外一边。

A选项的结果是:(A∧B)∨(C∧D ∨¬A),(A∧B)=假,(C∧D ∨¬A)中C∧D =假,¬A=假,所以(C∧D ∨¬A)=假。于是A选项可以简写为:假∨(假 ∨假)= 假。

B选项的结果是:((¬A ∧ B)∨ C)∧¬B,如果¬B是假那么就可以不去看前面的((¬A ∧ B)∨ C),可惜的是¬B是真,那么就要看((¬A ∧ B)∨ C),发现C是真,所以不看(¬A ∧ B),于是B选项可以简写为:(?∨ 真)∧ 真 = 真。

C选项的结果是:(B∨C∨D)∨D∧A ,D∧A=假,所以不得不看前面部分(B∨C∨D),只要BCD有一个是真,那么(B∨C∨D)=真,而容易发现C=true。所以C选项可以简写为:真∨ 假 = 真。

D选项的结果是:A ∧(D ∨¬C)∧B,我们很容易发现D选项的特殊结构为 ?∧?∧?,三个?有一个是假,那么D为假,A和B不用计算便可看出,所以先发现B=假,所以D=假。

2004年和2005年都出现了集合运算,虽然后来没有再出现,但集合的运算还是需要掌握的。

并运算交运算差运算非运算(区别于逻辑非运算)

并运算

比如AB,就是A集合和B集合里所有元素组成一个新集合,重复的元素只保留一份。AB —>{a, b, c, b, d, e}—>{a, b, c, d, e}。

交运算

比如AB,就是同时在A集合和B集合的元素组成一个新集合。AB —>{b}。

差运算

比如AB,就是A集合删去AB里的元素后组成一个新集合。AB —>{a, c}。

非运算

如是单目运算符,比如A。非运算有个特殊的要求:一定要说明全集。那么A就全集删去A集合中的元素,剩下的全集中的元素组成一个新集合。A= {d, e, f, g}。


原文地址:https://blog.csdn.net/qq_39434533/article/details/140280430

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!