清华大学C语言教学课件(共16个PPT)第3个上课讲义_第1页
清华大学C语言教学课件(共16个PPT)第3个上课讲义_第2页
清华大学C语言教学课件(共16个PPT)第3个上课讲义_第3页
清华大学C语言教学课件(共16个PPT)第3个上课讲义_第4页
清华大学C语言教学课件(共16个PPT)第3个上课讲义_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

清华大学C语言教学课件(共16个PPT)第3个二、逻辑判断为了解这道题,我们要研究逻辑运算符与逻辑表达式。1、逻辑与,运算符为&& 如图电路A——表示开关A合上;B——表示开关B合上;A&&B——表示灯亮; A B A&&B

1 1 1

1 0 0

0 1 0

0 0 01表示真,0表示假,这是逻辑变量的取值,非真即假2二、逻辑判断2、逻辑或,运算符为|| 如图电路A——表示开关A合上;B——表示开关B合上;A||B——表示灯亮; A B A||B

1 1 1

1 0 1

0 1 1

0 0 01表示真,0表示假3二、逻辑判断3、逻辑非,运算符为!两队比赛篮球,变量A表示A队到场,!A表示A队不到场,变量B表示B队到场,!B表示B队不到场。这场球赛能够赛成,得两队都到场。假定“能赛成”用逻辑变量C表示,则 C=A&&B赛不成当然用!C表示,让D=!C,D表示赛不成则 D=!A||!B。理解为A不到场或B不到场,球赛无法进行。4二、逻辑判断1案情分析:将案情的每一条写成逻辑表达式,第一条用CC1表示,第二条用CC2表示,……CC1:A和B至少有一人作案令A变量表示A作案 B变量表示B作案 A B CC1 0 0 0 1 0 1 0 1 1 1 1 1显然这是或的关系,因此有CC1=(A||B)思路:5二、逻辑判断CC2:A和D不可能是同案犯可以分析为:A如果是案犯,D一定不是案犯,写成A&&(!D)D如果是案犯,A一定不是案犯,写成D&&(!A)这两者之间是或的关系,因此有

CC2=!(A&&D) A D A&&D CC2 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 16二、逻辑判断(A&(!B))||((!A)&&B)这叫“异或”运算在数字逻辑课中表示为在计算机中是半加器(二进制)7二、逻辑判断CC3:A、E、F中有两人涉嫌作案,分析有三种可能第一种,A和E作案,(A&&E)第二种,A和F作案,(A&&F)第三种,E和F作案,(E&&F)这三种可能性是或的关系,因此有CC3=(A&&E)||(A&&F)||(E&&F)我们写出CC3的真值表。8二、逻辑判断AEF CC3111 111011011011100100100100000009二、逻辑判断CC4:B和C或同时作案,或都与本案无关第一种情况:同时作案(B&&C)第二种情况:都与本案无关(!B&&!C)两者为或的关系,因此有

CC4=(B&&C)||(!B&&!C) BC!B!CB&&C!B&&!CCC3 1100101 1001000 0110000 0011011CC5:C、D中有且仅有一人作案

CC5=(C&&!D)||(D&&!C)10二、逻辑判断CC6:如果D没有参与作案,则E也不可能参与作案。分析这一条比较麻烦一些,可以列出真值表再归纳CC6=D||!E1011以上是案情分析,已经化成了计算机可解的逻辑表达式 DE!ECC6 含义

1101 D作案,E也作案 可能

1011 D作案,E不作案 可能

0011 D不作案,E也不可能作案可能

0100 D不作案,E却作案 不可能11二、逻辑判断2采取枚举方法,枚举什么呢?枚举组合。6个人每个人都有作案或不作案两种可能,因此有种组合,从这些组合中挑出符合6条分析的作案者。定义6个整数变量,分别表示6个人A,B,C,D,E,F。枚举每个人的可能性让0表示不是罪犯;让1表示就是罪犯。1213二、逻辑判断为了给出每个人是否为罪犯的信息,程序中定义了一个二维数组。 Charinfo[2][9]={“不是罪犯”,“是罪犯”};有两个字串每串最多有9-1个英文字符是罪犯\0不是罪犯\0012345678info为

数组名1014二、逻辑判断char是说,info数组的元素为字符,[2]为下标,表示有两个字符串,每个字符串最多有9-1个字符。因为英文字符占一个字节,而汉字占两个字节,故四个汉字要占8个英文字符的地方。每一字串后面自动跟一个空字符‘\0’因此可以看出:

第0号字符串info[0]的内容为“不是罪犯”。

第1号字符串info[1]的内容为“是罪犯”。15二、逻辑判断在输出时用 printf(“A:%s\n”,info[A]); 如果A为0,则输出A:不是罪犯

如果A为1,则输出A:是罪犯参考程序AQFX.c(案情分析)16讨论17二、逻辑判断大家参与讨论的题五位跳水高手将参加十米高台跳水决赛,有好事者让五个人据实力预测比赛结果。

A选手说:B第二,我第三;

B选手说:我第二,E第四;

C选手说:我第一,D第二;

D选手说:C最后,我第三;

E选手说:我第四,A第一;决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错,请编程解出比赛的实际名次。18二、逻辑判断思路:1首先是将五个人的预测写成逻辑表达式:

让关系运算符“==”的含义是“是”。

让数字1、2、3、4、5分别表示名次第一、第二,…,第五。

让整型变量A、B、C、D、E分别表示每个选手所得名次。

A选手说:B==2,A==3;

B选手说:B==2,E==4;

C选手说:C==1,D==2;

D选手说:C==5,D==3;

E选手说:E==4,A==1;19二、逻辑判断2考虑到每个人说的话是一对一错,即一真一假,比如A说的,如B==2为真,则A==3为假,为真取值为1,为假取值为0,则两个关系表达式之和必为1。即

(B==2)+(A==3)应该是1我们可以归纳出要同时满足五个人所说的话都符合一半对一半错的条件是

ta=((B==2)+(A==3))==1;符合A选手的话,则ta为1

tb=((B==2)+(E==4))==1;符合B选手的话,则tb为1

tc=((C==1)+(D==2))==1;符合C选手的话,则tc为1

td=((C==5)+(D==3))==1;符合D选手的话,则td为1

te=((E==4)+(A==1))==1;符合E选手的话,则te为1

因为ta,tb,…,te非1即0,五个条件值都加在一起20二、逻辑判断3只有等于5时才都符合每个人所说的话,这仅只是符合题意的一个必要条件,同时还得考虑A、B、C、D、E的取值不得有相同者可以考虑是一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论