资源描述:
《清华大学C语言教学课件(共16个PPT)第3个上课讲义.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、清华大学C语言教学课件(共16个PPT)第3个二、逻辑判断为了解这道题,我们要研究逻辑运算符与逻辑表达式。1、逻辑与,运算符为&&如图电路A——表示开关A合上;B——表示开关B合上;A&&B——表示灯亮;ABA&&B1111000100001表示真,0表示假,这是逻辑变量的取值,非真即假2二、逻辑判断2、逻辑或,运算符为
2、
3、如图电路A——表示开关A合上;B——表示开关B合上;A
4、
5、B——表示灯亮;ABA
6、
7、B1111010110001表示真,0表示假3二、逻辑判断3、逻辑非,运算符为!两队比赛篮球,变量A表示A队到场,!A表示A队不到场,变量B表示B队到场,!B表示B队不到场。
8、这场球赛能够赛成,得两队都到场。假定“能赛成”用逻辑变量C表示,则C=A&&B赛不成当然用!C表示,让D=!C,D表示赛不成则D=!A
9、
10、!B。理解为A不到场或B不到场,球赛无法进行。4二、逻辑判断1案情分析:将案情的每一条写成逻辑表达式,第一条用CC1表示,第二条用CC2表示,……CC1:A和B至少有一人作案令A变量表示A作案B变量表示B作案ABCC1000101011111显然这是或的关系,因此有CC1=(A
11、
12、B)思路:5二、逻辑判断CC2:A和D不可能是同案犯可以分析为:A如果是案犯,D一定不是案犯,写成A&&(!D)D如果是案犯,A一定不是案犯,写成D&&(!A)这两者之间是或的关系
13、,因此有CC2=!(A&&D)ADA&&DCC210011110000101016二、逻辑判断(A&(!B))
14、
15、((!A)&&B)这叫“异或”运算在数字逻辑课中表示为在计算机中是半加器(二进制)7二、逻辑判断CC3:A、E、F中有两人涉嫌作案,分析有三种可能第一种,A和E作案,(A&&E)第二种,A和F作案,(A&&F)第三种,E和F作案,(E&&F)这三种可能性是或的关系,因此有CC3=(A&&E)
16、
17、(A&&F)
18、
19、(E&&F)我们写出CC3的真值表。8二、逻辑判断AEFCC3111111011011011100100100100000009二、逻辑判断CC4:B和C或同时作案,或都与本
20、案无关第一种情况:同时作案(B&&C)第二种情况:都与本案无关(!B&&!C)两者为或的关系,因此有CC4=(B&&C)
21、
22、(!B&&!C)BC!B!CB&&C!B&&!CCC31100101100100001100000011011CC5:C、D中有且仅有一人作案CC5=(C&&!D)
23、
24、(D&&!C)10二、逻辑判断CC6:如果D没有参与作案,则E也不可能参与作案。分析这一条比较麻烦一些,可以列出真值表再归纳CC6=D
25、
26、!E1011以上是案情分析,已经化成了计算机可解的逻辑表达式DE!ECC6含义1101D作案,E也作案可能1011D作案,E不作案可能0011D不作案,E也不可能作
27、案可能0100D不作案,E却作案不可能11二、逻辑判断2采取枚举方法,枚举什么呢?枚举组合。6个人每个人都有作案或不作案两种可能,因此有种组合,从这些组合中挑出符合6条分析的作案者。定义6个整数变量,分别表示6个人A,B,C,D,E,F。枚举每个人的可能性让0表示不是罪犯;让1表示就是罪犯。1213二、逻辑判断为了给出每个人是否为罪犯的信息,程序中定义了一个二维数组。Charinfo[2][9]={“不是罪犯”,“是罪犯”};有两个字串每串最多有9-1个英文字符是罪犯 不是罪犯 012345678info为数组名1014二、逻辑判断char是说,info数组的元素为字符,[2]为下标,
28、表示有两个字符串,每个字符串最多有9-1个字符。因为英文字符占一个字节,而汉字占两个字节,故四个汉字要占8个英文字符的地方。每一字串后面自动跟一个空字符‘ ’因此可以看出:第0号字符串info[0]的内容为“不是罪犯”。第1号字符串info[1]的内容为“是罪犯”。15二、逻辑判断在输出时用printf(“A:%s”,info[A]);如果A为0,则输出A:不是罪犯如果A为1,则输出A:是罪犯参考程序AQFX.c(案情分析)16讨论17二、逻辑判断大家参与讨论的题五位跳水高手将参加十米高台跳水决赛,有好事者让五个人据实力预测比赛结果。A选手说:B第二,我第三;B选手说:我第二,E第
29、四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错,请编程解出比赛的实际名次。18二、逻辑判断思路:1首先是将五个人的预测写成逻辑表达式:让关系运算符“==”的含义是“是”。让数字1、2、3、4、5分别表示名次第一、第二,…,第五。让整型变量A、B、C、D、E分别表示每个选手所得名次。A选手说:B=