欢迎来到天天文库
浏览记录
ID:49173477
大小:170.00 KB
页数:31页
时间:2020-01-31
《计算机语言与程序设计__逻辑判断.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机程序设计基础第二讲逻辑判断1二、逻辑判断清华附中有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。A说:不是我。B说:是C。C说:是D。D说:他胡说。已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。问题:谁做的好事?2二、逻辑判断为了解这道题,我们要学习逻辑思维与判断,以及如何解这类问题的思路。1、关系运算符和关系表达式>大于<小于>=大于等于==等于!=不等于3二、逻辑判断请大家看如下程序//程序s2_1.c#include2、>voidmain(){intb,c;//整型变量b=3;c=2;//对变量赋值printf(“3>2是%d”,(b>c));//输出逻辑值printf(“3>=2是%d”,(b>=c));printf(“3==2是%d”,(b==c));printf(“3<2是%d”,(b2是1说明3>2是真3>=2是13>=2是真3==2是03==2是假3<2是03<2是假3!=2是13!=2是真5二、逻3、辑判断关系表达式<变量1>关系运算符<变量2>例b>c,测试b>c这种关系是否成立,成立为真,不成立为假。成立——关系表达式的值为1;不成立——关系表达式的值为0。6二、逻辑判断这时在内存中系统找到一个字节。让“==”的含义为“是”让“!=”的含义为“不是”下面,我们把四个人说的四句话写成关系表达式。在声明变量时,让thisman表示要找的人,定义它是字符变量charthisman;thisman地址xxxx7二、逻辑判断A说:不是我。写成关系表达式为(thisman!=‘A’)B说:是C。写成关系表达4、式为(thisman==‘C’)C说:是D。写成关系表达式为(thisman==‘D’)D说:他胡说。写成关系表达式为(thisman!=‘D’)在C语言中字符也是有数值的,这个数值就是字符的ASCII码值字符ABCDASCII码值656667688二、逻辑判断字符存放在内存中是以ASCII码的形式存放的,因此,用赋值语句thisman=‘A’;thisman=65;两者是等效的,在内存中存的都是65。可以做实验,如下例所示thisman65地址xxxx9二、逻辑判断//例s2_2.c#include<5、math.h>//包含头文件voidmain()//主函数{charthisman;//声明字符变量thisman=‘A’;//thisman赋值为’A’printf(“thisman=%c”,thisman);//输出thisman的值printf(“65==‘A’----取值为%d”,65==‘A’);//验证//65是否等于‘A’,并输出结果}thisman=A65==‘A’----取值为1编译链接后运行,输出结果为:10二、逻辑判断1、如何找到该人,一定是“先假设该人是做好事者,然后到每6、句话中去测试看有几句是真话”。“有三句是真话就确定是该人,否则换下一人再试”。比如,先假定是A同学,让thisman='A';代入到四句话中思路:A说:thisman!='A';'A'!='A'假,值为0。B说:thisman=='C';'A'=='C'假,值为0。C说:thisman=='D';'A'=='D'假,值为0。D说:thisman!='D';'A'!='D'真,值为1。显然,不是'A'做的好事(四个关系表达式值的和为1)11二、逻辑判断再试B同学,让thisman='B';代入到四句话中思7、路:A说:thisman!='A';'B'!='A'真,值为1。B说:thisman=='C';'B'=='C'假,值为0。C说:thisman=='D';'B'=='D'假,值为0。D说:thisman!='D';'B'!='D'真,值为1。显然,不是'B'所为(四个关系表达式值的和为2)12二、逻辑判断再试C同学,让thisman=‘C';代入到四句话中思路:A说:thisman!='A';'C'!='A'真,值为1。B说:thisman=='C';'C'=='C'真,值为1。C说:thisman=8、='D';'C'=='D'假,值为0。D说:thisman!='D';'C'!='D'真,值为1。显然,就是‘C’做了好事(四个关系表达式值之和为3)这时,我们可以理出头绪,要用所谓枚举法,一个人一个人地去试,四句话中有三句为真,该人即所求。13二、逻辑判断2、从编写程序的角度看,实现枚举最好用循环结构for(k=1;k<=4;k=k+1){//循环体,开始thisman=64+k;//产生被试者,依次给//thisman赋值为'A','B
2、>voidmain(){intb,c;//整型变量b=3;c=2;//对变量赋值printf(“3>2是%d”,(b>c));//输出逻辑值printf(“3>=2是%d”,(b>=c));printf(“3==2是%d”,(b==c));printf(“3<2是%d”,(b2是1说明3>2是真3>=2是13>=2是真3==2是03==2是假3<2是03<2是假3!=2是13!=2是真5二、逻
3、辑判断关系表达式<变量1>关系运算符<变量2>例b>c,测试b>c这种关系是否成立,成立为真,不成立为假。成立——关系表达式的值为1;不成立——关系表达式的值为0。6二、逻辑判断这时在内存中系统找到一个字节。让“==”的含义为“是”让“!=”的含义为“不是”下面,我们把四个人说的四句话写成关系表达式。在声明变量时,让thisman表示要找的人,定义它是字符变量charthisman;thisman地址xxxx7二、逻辑判断A说:不是我。写成关系表达式为(thisman!=‘A’)B说:是C。写成关系表达
4、式为(thisman==‘C’)C说:是D。写成关系表达式为(thisman==‘D’)D说:他胡说。写成关系表达式为(thisman!=‘D’)在C语言中字符也是有数值的,这个数值就是字符的ASCII码值字符ABCDASCII码值656667688二、逻辑判断字符存放在内存中是以ASCII码的形式存放的,因此,用赋值语句thisman=‘A’;thisman=65;两者是等效的,在内存中存的都是65。可以做实验,如下例所示thisman65地址xxxx9二、逻辑判断//例s2_2.c#include<
5、math.h>//包含头文件voidmain()//主函数{charthisman;//声明字符变量thisman=‘A’;//thisman赋值为’A’printf(“thisman=%c”,thisman);//输出thisman的值printf(“65==‘A’----取值为%d”,65==‘A’);//验证//65是否等于‘A’,并输出结果}thisman=A65==‘A’----取值为1编译链接后运行,输出结果为:10二、逻辑判断1、如何找到该人,一定是“先假设该人是做好事者,然后到每
6、句话中去测试看有几句是真话”。“有三句是真话就确定是该人,否则换下一人再试”。比如,先假定是A同学,让thisman='A';代入到四句话中思路:A说:thisman!='A';'A'!='A'假,值为0。B说:thisman=='C';'A'=='C'假,值为0。C说:thisman=='D';'A'=='D'假,值为0。D说:thisman!='D';'A'!='D'真,值为1。显然,不是'A'做的好事(四个关系表达式值的和为1)11二、逻辑判断再试B同学,让thisman='B';代入到四句话中思
7、路:A说:thisman!='A';'B'!='A'真,值为1。B说:thisman=='C';'B'=='C'假,值为0。C说:thisman=='D';'B'=='D'假,值为0。D说:thisman!='D';'B'!='D'真,值为1。显然,不是'B'所为(四个关系表达式值的和为2)12二、逻辑判断再试C同学,让thisman=‘C';代入到四句话中思路:A说:thisman!='A';'C'!='A'真,值为1。B说:thisman=='C';'C'=='C'真,值为1。C说:thisman=
8、='D';'C'=='D'假,值为0。D说:thisman!='D';'C'!='D'真,值为1。显然,就是‘C’做了好事(四个关系表达式值之和为3)这时,我们可以理出头绪,要用所谓枚举法,一个人一个人地去试,四句话中有三句为真,该人即所求。13二、逻辑判断2、从编写程序的角度看,实现枚举最好用循环结构for(k=1;k<=4;k=k+1){//循环体,开始thisman=64+k;//产生被试者,依次给//thisman赋值为'A','B
此文档下载收益归作者所有