文档介绍:计算机程序设计基础
第二讲逻辑判断
1
二、逻辑判断
清华附中有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。
A说:不是我。
B说:是C。
C说:是D。
D说:他胡说。
已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。
问题:谁做的好事?
2
二、逻辑判断
为了解这道题,我们要学习逻辑思维与判断,以及如何解这类问题的思路。
1、关系运算符和关系表达式
> 大于
< 小于
>= 大于等于
== 等于
!= 不等于
3
二、逻辑判断
请大家看如下程序
//
#include <>
void main( )
{
int b,c; // 整型变量
b=3;c=2; // 对变量赋值
printf(“3> 2 是%d\n”,(b>c)); // 输出逻辑值
printf(“3>=2 是%d\n”,(b>=c));
printf(“3==2 是%d\n”,(b==c));
printf(“3< 2 是%d\n”,(b<c));
printf(“3!=2 是%d\n”,(b!=c));
}
4
二、逻辑判断
输出结果是:
3> 2 是 1 说明 3> 2 是真
3>=2 是 1 3>=2 是真
3==2 是 0 3==2 是假
3< 2 是 0 3< 2 是假
3!=2 是 1 3!=2 是真
5
二、逻辑判断
关系表达式
<变量1> 关系运算符<变量2>
例 b>c,测试b>c这种关系是否成立,成立为真,不成立为假。
成立——关系表达式的值为1;
不成立——关系表达式的值为0。
6
二、逻辑判断
这时在内存中系统找到一个字节。
让“==”的含义为“是”
让“!=”的含义为“不是”
下面,我们把四个人说的四句话写成关系表达式。在声明变量时,让thisman表示要找的人,定义他是字符变量
char thisman;
Thisman
地址xxxx
7
二、逻辑判断
A说:不是我。写成关系表达式为(thisman!=‘A’)
B说:是C。写成关系表达式为(thisman==‘C’)
C说:是D。写成关系表达式为(thisman==‘D’)
D说:他胡说。写成关系表达式为(thisman!=‘D’)
在C语言中字符也是有数值的,这个数值就是字符的ASCII码值
字符 A B C D
ASCII码值 65 66 67 68
8
二、逻辑判断
字符存放在内存中是以ASCII码的形式存放的,因此,用赋值语句
thisman = ‘A’;
thisman = 65;
两者是等效的,在内存中存的都是65。
可以做实验,如下例所示
Thisman
65
地址xxxx
9
二、逻辑判断
// 例
#include <> // 包含头文件
void main( ) // 主函数
{
char thisman; // 声明字符变量
thisman=‘A’; // thisman 赋值为’A’
printf(“thisman=%c\n”,thisman); // 输出thisman的值
printf(“ 65==‘A’----取值为%d\n”,65==‘A’); // 验证
// 65是否等于‘A’,并输出结果
}
thisman=A
65==‘A’----取值为1
编译链接后运行,
输出结果为:
10