逻辑运算与选择结构PPT课件

合集下载

C06第4章 逻辑运算与选择结构程序(1)

C06第4章 逻辑运算与选择结构程序(1)

反之亦然!
逻辑或操作符||
逻辑或操作符||表示“或者”的关系。 a和b只要有一个为真时a || b的值就为真为1,只有a和
b同时为假时,a || b的值才为假为0。
例4-2 用C表达式表示结论“变 量a的绝对值大于5”。
分析:当|a| > 5时有a > 5或者a < -5, 因此相应的C表达式为(a > 5) || (a < -5),当然也可用
大小由其ASCII码的值决定。
3 -5u中-5u为无符号数,故3 -5u的类型也为无符号数。3 -5u不可能等于0,因此大于0,即3 -5u > 0的值为1即真。 -5u即-5先用补码表示再被看做无符号数,两个正数相加的 结果当然不会小于0)。 能用printf函数输出值的方式判断结果是否大于0吗? printf(“?”,3-5u);
== 0 && n % 3 == 0 || n % 7 == 0。(等价于n % 6 ==
0 || n % 7 == 0) (2)x、y中至少有一个小于z 也就是x小于z或者y小于 z,相应的逻辑表达式为x < z || y < z。
分析:
(3) x、y中只有一个小于z,也就是只有x小于z或者 只有y小于z,当只有x小于z时有x小于z且y不小于z,相应
式求值,再由操作符的优先级可知,原表达式等价于((a
= 0) && (a = 5)) || (a += 1)。由于a = 0的值为0,故 子表达式(a = 0) && (a = 5)的值也为0即假,且子表达 式a = 5不会被求值。原表达式变为0 || (a += 1),此时 显然要继续对a += 1求值,求值后变量a的值变为1,结果

程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表

程序的三种结构关系运算符和关系表达式逻辑运算符和逻辑表
例如:判断2005年和2008年。
6
• 四、 选择型程序设计
– if语句(条件选择语句)
• if语句的三种形式 – 形式一: »格式:if (expression) statement »执行过程:
expr 非0 statement =0
例: if (x>y) 形式二 : 非0 printf(“%d”,x); 格式:if (expression) statement1 statement1 else statement2 执行过程: 例:if (x>y) max=x; else max=y;
expr
=0 statement2
7
– 形式三: »格式: 执行过程:
=0
if ( expr1 )
else if (expr2 ) else if (expr3 )
statement1
statement2 statement3
…...
[ else statement n ]
例:if (salary>1000) index=0.4; 非 0 if (salary>800) =0 index=0.3; else expr2 else if (salary>600) index=0.2; =0 非0 else if (salary>400) expr3 index=0.1; else 非0 index=0;
5
三、逻辑运算符和逻辑表达式
1、逻辑运算符: &&:与 ||:或 ! :非 (注意:三个运算符之间的优先级) 注意特例: !0 !2 2||3 2&&3
2、逻辑表达式举例:判断一年为润年的条件是: 年数可以被4整除但不能被100整除 或者 年数可以被400整除。 ( year % 4 ==0 && year % 100 !=0 )||( year % 400 ==0 )

C语言程序设计ppt课件-第3章-选择结构

C语言程序设计ppt课件-第3章-选择结构
1.表达式 2. if语句 3. switch语句 4. 选择结构的嵌套 5. 选择结构的应用
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。

c语言选择结构教案PPT教学课件

c语言选择结构教案PPT教学课件
语句执行流程:
假(0) 表达式
真(非0)
语句
8
例5.1:从键盘输入两个数a 和b,按代数值由小到大的 顺序输出这两个数。
#include <stdio.h> main() {float a,b,t; scanf("%f,%f",&a,&b);
输入a,b
a>b


交换a、b
if(a>b) {t=a;a=b;b=t;}
10
2)、双分支选择if语句
语句形式: if (表达式)语句1; else 语句2 ;
例:If(x>y) printf(“%d”,x);
else printf(“%d”,y); 语句执行流程:
假(0) 表达式
真(非0)
语句1
语句2
11
例:输入三角形的三个边长,求出三角形的面积。 #include “math.h”
12
3)、多分支选择if语句 语句形式: if (表达式1)语句1; else if (表达式2)语句2; …… else if (表达式n)语句n; else 语句n+1;
13
语句执行流程:
表达式1
假(0)
真(非0) 语句1
表达式2
假(0)
真(非0)
语句2
表达式2
假(0)
语句n 语句n+1
14
else {if (x<=1) y=x+5; else if(x<10) y=2*x; else y=3/(x-10);
printf("x=%f,y=%f\n",x,y); }
} 16
注意: (1)当if语句中出现多个“if”与“else”的时 候,要特别注意它们之间的匹配关系,否则就 可能导致程序逻辑错误。“else”与“if”的匹 配原则是“就近一致原则”,即“else”总是与 它前面最近的“if”相匹配。 (2)if语句中条件的写法应尽量简单。

选择结构PPT课件

选择结构PPT课件
end; wirteln(max,min); end.
方法2:
如何表示条件?
1、日常生活中,我们经常要对某一个问题进行真、假或是、否的判断,如:“小明是男孩”。对 于命题只有对或错、是与否的两种结论。布尔型数据可以来表示这个结果,用“真”“假”来 表示,“真”对应的逻辑值是“true”,假对应的是“false”。 要注意:“TRUE”“FALSE”是两个用字母表示的常量,可以理解为数,它们是用来表示逻辑关 系的,其大小为:False<true。
第五课
——分支结构(选择结构)
知识点回顾:
程序在运行的过程中,一句接着一句去做的, 按出场的顺序进行
赋值语句:变量名:=表达式
先计算后赋值
输入语句:
Read(变量列表);——变量间用“,”隔开 readln(变量列表); Readln;
输出语句:单场宽,双场宽(用来输出对齐)
先计算后输出
2、关系运算符:>(大于),<(小于),=(等于),<>(不等于),>=(大于等于),<=(小于等于) 关系表达式所得到的值就是布尔值。 比较顺序为:空格<’0’<……<’9’<’A’<……<’Z’<’a’<……<’z’
3、逻辑运算结构也是布尔类型 not(非) and(与) 如:(5>3) and (7&为已婚(marrigenrat)年龄(age)在26岁以上工作年限(workingage) 在5年以上
例4:x为年份,判断x是否是闰年,闰年的条件是:能被4整除但是不能被100整除,或者能被400 整除
条件语句的嵌套结构
一、格式 格式1:
if 条件 then 语句; 格式 2:

C语言程序ppt课件ch4 选择结构名师教学资料

C语言程序ppt课件ch4 选择结构名师教学资料
表达式后面不加分号 语句之后有分号 else不是语句,不能单独使用 当if后有多个执行语句时,必须用{ }将多
个语句括起来,构成一个复合语句, { }之 外不必有分号。
共 39 页 第 19 页
按由小到大的顺序输出两个数。
例5
#include “stdio.h” main( ) { int a,b;
仅执行表达式为真的else if后的内嵌语句,若所有的 表达式值都为0,则执行最后一个else后的内嵌语句.
共 39 页 第 24 页
例6
1 x 0
已知
y(x)


0
x0
1 x 0
编写程序,输入一个x的值,输出y值。
程序为: #include “stdio.h”
main( ) { int x, y; scanf(“%d”,&x);
x%10==y%10 如何判断十位数上数字相同?
共 39 页 第 6 页
4.2 逻辑运算符和逻辑表达式
4.2.1 逻辑运算符
C语言提供三种逻辑运算符:
&& (逻辑与) 、 || (逻辑或) 、! (逻辑非)
说明:
(1)“&&”和“|| ”是“双目(元)运算符”,它要 求有两个操作数。
(2)“! ”是“单目(元)运算符”,只要求有一个 运算量。
功能: 判断表达式的值,若为非0,再判断表达式1的 值,非0执行语句11,否则执行语句12
若表达式的值为0,再判断表达式2的值,非0 执行语句21,否则执行语句22
共 39 页 第 22 页
思考
下列程序段表示的数学式子?
y=-1;
if (x!=0)
{if (x>0) y=2*sin(x);}

c语言 第四章 选择结构课件

c语言 第四章 选择结构课件

if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
if ~ else 配对原则:缺省{ }时,else 总是和它上面离它最近的未配对的if配对
if(……) if(……) if(……) else…... else…...
else…...
例: if (a==b) if(b==c) printf("a==b==c");
else printf("a!=b");
if(x>y) printf("X>Y\n");
else printf("X<Y\n");
else printf("X==Y\n");
}
运行:Enter integer x,y:12,23 X<Y Enter integer x,y:12,6 X>Y Enter integer x,y:12,12 X==Y
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
main() { int x,y;
printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y)

选择结构基础知识

选择结构基础知识
C 程序设 计 选择结构基础知识
程序的三种控制结构
程序结构
顺序结构 选择结构 循环结构
又称为分支结构。是根据给定的条件P是 否成立而选择执行块A还是块B。
条件P 不成立 成立
语句块A 语句块B
成立 条件P 不成立 语句块A 语句块B
选择结构的流程图与N-S图
CONTENTS
关系运算符和关系表达式
!、++、--

(a=3)>(b=5)
(a>b)!=(b<c)
①能被4整除,但不能被100整除。
逻辑运算符和逻辑表达式
逻辑运算符与逻辑表达式
所谓关系运算实际上就是“比较”运算,将两个数进行比较,判断比较的结果是否符合指定的条件。
在C语言中,逻辑运算的结果只能是1(真)或0(假),不可能是其他数值;
(year%4==0 && year%100!=0)||(year%400==0)
1.关系运算符和关系表达式
关系运算是条件判断中比较简单的一种。所谓关系运算实际上就是“比 较”运算,将两个数进行比较,判断比较的结果是否符合指定的条件。
➢ 关系运算符
关系运算符 > >= < <= == !=
含义
优先级
大于
大于或等于 这些运算符优先级相同,但 小于 比下面的优先级高
小于或等于
等于 这些运算符优先级相同,但 不等于 比上面的优先级低
【例】判别某一年year是否为闰年。 闰年的条件是符合下面二者之一: ①能被4整除,但不能被100整除。 ②能被400整除。
year%4==0 && year%100!=0 year%400==0
(year%4==0 && year%100!=0)||(year%400==0)

选择结构PPT课件

选择结构PPT课件
——关系运算符和关系表达式
所谓关系运算实际上是“比较运算”,即进行两个数的比较, 判断比较的结果是否符合指定的条件。
注意
由两个字符组成的运算符之间不允许有空格,如: <= 不能写成< =。 关系运算符是双目运算符,具有自左至右的结合性。 关系运算符的优先级 <、 <=、 >、 >=的优先级别相同 ==、!=的优先级相同 前四种的优先级高于后两种。 关系运算符、算术运算符和赋值运算符之间的优先级 次序是:算术运算符的优先级别最高, 关系运算符次之,赋值运算符的优先级别最低。
高到低的运算优先次序是: !→算术运算符→关系运算符→&&→‖→赋值运算符
关系运算和逻辑运算
——逻辑运算符和逻辑表达式
由逻辑运算符和运算对象组成的表达式称为逻辑表达式。 逻辑运算的对象可以是C语言中任意合法的表达式。 逻辑表达式的运算结果或者为1(“真”),或者为0(“假”)。
例如
当(x>y)为真,a和b为任意合法表达式,则 若变量a和b的值分别为10和16,则(a>b)&&(x>y)为“假”,表达式
关系运算和逻辑运算 所谓关系运算实际上是“比较运算”,即进行两个数的比较,判断比较的结果是否符合指定的条件。 ——关系运算符和关系表达式
所谓关系运算实际上是“比较运算”,即进行两个数的比较, 判断比较的结果值为10,变量b中的 值为6时,表达式a>=b为“真”,其 值为1; 若变量a中的值为10,变量b中的 值为16时,表达式a>=b为“假”,其 值为0。
关系运算和逻辑运算 ——逻辑运算符和逻辑表达式
关系运算和逻辑运算
——逻辑运算符和逻辑表达式
C语言提供了三种逻辑运算符: 1) &&逻辑“与” 2) ‖逻辑“或” 3) !逻辑“非”

C语言选择结构程序设计.ppt

C语言选择结构程序设计.ppt






设 计
C

– 逻辑运算符和表达式
言 程
• 逻辑运算符

– 种类: ! && ||
设 计
– 逻辑运算真值表
a
b
!a
!b a&&b a||b
























选 择 结 构 程 序
设< >

–C语言中,运算量: 0表示“假”, 非0表示“真”,
运算结果: “假”用0表示, “真” 用1表示,
选 多分支选择结构
择 结 构 程 序 设 计
k k=k1
k=k2
A1
A2 ...
k=kn k=ki
Ai ... An
C
语 言
❖循环结构
程 序
当型循环结构


假 P

A
当P为真 A
直到型循环结构

A
A


直到P为真

P
构 程


设 计
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
C
优先级7(低)
a>b!=c //(a>b)!=c
– 关系表达a式==:b<用c 关系//运a=算=(符b<将c)两个表达式连接起来;以
下都是合a法=b的>c关系表/达/a式=(:b>c)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)执行END IF语句的下一语句。
2020/3/29
15
3、 块IF使用注意事项
一个块IF是由若干个语句组成的。块IF语 句、ELSE语句和ENDIF语句只能用在块 IF中而不能在程序中的块IF以外单独使用;
逻辑变量
逻辑赋值语句一般形式为:逻辑变量=逻辑表达式 说明:程序中使用逻辑变量时,必须对其加以定义,用
LOGICAL语句说明,如: LOGICAL A,B
2020/3/29
7
逻辑运算符
逻辑运算符 含义 逻辑运算举例
例子含义
.AND. 逻辑与 A .AND. B
A,B都为真则A .AND. B真
.OR. .NOT. .EQV. .NEQV.
多个逻辑量经过逻辑运算后可以得到一个逻辑值。当逻辑表达式 比较复杂时,则需要按下列规定(Fortran77)进行运算: ⑴ 先计算算术表达式的值 ⑵ 再计算关系表达式的值 ⑶ 最后进行逻辑运算,逻辑运算的先后顺序为: 先.NOT., .AND.,次之 .OR. ,最后.EQV.和.NEQV.。
其形式可参见下表
〈逻辑量〉 〈逻辑运算符〉〈逻辑量〉 FORTRAN的逻辑量有三种:
⑴ 逻辑常量 ⑵ 逻辑型变量 ⑶ 关系表达式 逻辑表达式的值是一个逻辑值:逻辑“真”,逻辑“假”
2020/3/29
6
逻辑常量与变量
逻辑常量
⑴逻辑真,即满足逻辑条件,用.TURE.表示; ⑵逻辑假,即不满足逻辑条件,用.FALSE.表示; 说明:逻辑常量可以出现在程序中,可以将它赋给逻辑变量。
13
1、块IF的组成
块IF的一般形式为: IF (逻辑表达式)
THEN then 块 ELSE else 块 ENDIF
2020/3/29
说明: ⑴块IF语句; ⑵then块,它由若干个
执行语句组成,每一个 执行语句占一行; ⑶ELSE语句,它单独占 一行; ⑷else块。由若干个执行 语句组成,每一个执行 语句占一行; ⑸ENDIF语句。块IF的结 束符号。
3. 在连续用运算连接运算量需按下式书写:如A<B<C<D 应写为:( A .LT. B) .AND. (B .LT. C) .AND. (C .LT. D)
2020/3/29
11
逻辑运算举例
若A=2.5,B=7.5,C=5.0,D=6.0求逻辑表达式的值:
C/2.0+D .LT. A . .AND. .NOT. .TURE. .OR. C .EQ. D
值函数,也可以是一个算术表达式; ⑵关系运算符就是关系比较符,关系符有以下六种。
2020/3/29
3
FORTRAN语言关系运算符
关系运算符
英语含义
所代表的数学符号
.GT. .GE. .LT. .LE. .EQ. .NE.
2020/3/29
Greater Than
>(大于)
Greater than or Equal to ≥(大于或等于)
Less Than
<(小于)
Less than or Equal to
≤(小于或等于)
Equal to
=(等于)
Not Equal to
≠(不等于)
4
关系运算符运用的说明
❖ 关系运算符的两个字母的两侧个又一个点号,不要漏写; ❖ 在一个关系表达式中可能包括算术运算和关系运算符,
运算的次序是:先进行算术运算,后进行关系运算; ❖ 关系表达式是将两个数值量相比较,这两个数值量可以
2020/3/29
9
各种运算符的优先级别
运算类别
括号 算术运算 关系运算
逻辑运算
2020/3/29
运算符
()
** *,/ +,.GT. .GE. .LT. .LE. .EQ. .NE. .NOT. .AND. .OR. .EQV.,.NEQV.
优先级
1 2 3 4
5
6 7 8 9
10
用逻辑表达式的说明
2020/3/29
逻辑或 A .OR. B 逻辑非 .NOT. A 逻辑等 A .EQV. B 逻真
A为真 ,则 .NOT. A 为假
A,B为同一逻辑量时, A .EQV. B为真 A,B为不同逻辑量时, A .NEQV. B为真
8
逻辑表达式运算次序
① 8.5 ② .F.
④ .F.
③ .F.
⑤ .F.
⑥ .F.
2020/3/29
HOME
12
§4.3 块IF实现选择结构
块IF的组成 块IF的执行过程 块IF使用注意事项 块IF结构应用举例 块IF的嵌套 块IF嵌套的应用 ELSE IF 语句 ELSE IF 语句的应用
2020/3/29
第四章 逻辑运算与选择结构
〖本章重点〗关系表达式与逻辑 表达式的正确书写和优先级,使 用块IF或逻辑IF语句实现选择结 构。
2020/3/29
1
逻辑运算与选择结构
关系表达式 逻辑表达式 用块IF实现选择结构 逻辑IF语句
2020/3/29
2
§4.1关系表达式
关系表达式是最简单的一种逻辑表达式,其形式为: 〈算数量〉 〈关系运算符〉〈算数量〉 说明:⑴算数量可以是一个数值常量、数值型变量、数
1. 算术运算符的运算对象为数值量,运算结果为数值。关 系运算符的运算对象为数值量,运算结果为逻辑量。逻辑 运算符的对象是逻辑量,运算结果是逻辑量;
2. IF语句判断逻辑表式的值是否为“真”,若有关系运算 符,则它的两侧只能是数值量,不能是逻辑量。 例:.TURE . .EQ. .TURE. 是错误的!
14
2、块IF的执行过程
IF (逻辑表达式)THEN then 块
ELSE else 块
ENDIF
(1)执行块IF语句,求出逻辑表
达式的值;
(2)若为“真”,则流程转到 then块,执行then块,然后跳 过ELSE语句和else块,流程转 到END IF语句处;
(3)若逻辑表达式值为“假”, 则流程跳过then块,转到ELSE 语句,执行else块;然后流 程转到END IF语句处;
是不同类型的量,它在比较时先转化类型,再比较; ❖ 关系表达式的值不是一个数值,而是一个逻辑量; ❖ 由于实数的存储与运算存在误差,所以运用.EQ.和.NE.
运算符时要注意; ❖ 除算术量比较的形式外,还有字符量的比较。
2020/3/29
5
§4.2 逻辑表达式
逻辑表达式(布尔表达式)是对逻辑量进行逻辑运算的表 达式,其形式为:
相关文档
最新文档