逻辑运算与选择结构PPT课件
合集下载
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 )
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章-选择结构
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:值强制转换成整数。
本章主要内容
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教学课件
语句执行流程:
假(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语句中条件的写法应尽量简单。
假(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课件
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:
方法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 选择结构名师教学资料
表达式后面不加分号 语句之后有分号 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);}
个语句括起来,构成一个复合语句, { }之 外不必有分号。
共 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语言 第四章 选择结构课件
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)
程序的三种控制结构
程序结构
顺序结构 选择结构 循环结构
又称为分支结构。是根据给定的条件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课件
——关系运算符和关系表达式
所谓关系运算实际上是“比较运算”,即进行两个数的比较, 判断比较的结果是否符合指定的条件。
注意
由两个字符组成的运算符之间不允许有空格,如: <= 不能写成< =。 关系运算符是双目运算符,具有自左至右的结合性。 关系运算符的优先级 <、 <=、 >、 >=的优先级别相同 ==、!=的优先级相同 前四种的优先级高于后两种。 关系运算符、算术运算符和赋值运算符之间的优先级 次序是:算术运算符的优先级别最高, 关系运算符次之,赋值运算符的优先级别最低。
高到低的运算优先次序是: !→算术运算符→关系运算符→&&→‖→赋值运算符
关系运算和逻辑运算
——逻辑运算符和逻辑表达式
由逻辑运算符和运算对象组成的表达式称为逻辑表达式。 逻辑运算的对象可以是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语言中任意合法的表达式。 逻辑表达式的运算结果或者为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
语
– 逻辑运算符和表达式
言 程
• 逻辑运算符
序
– 种类: ! && ||
设 计
– 逻辑运算真值表
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 逻辑表达式
逻辑表达式(布尔表达式)是对逻辑量进行逻辑运算的表 达式,其形式为:
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 逻辑表达式
逻辑表达式(布尔表达式)是对逻辑量进行逻辑运算的表 达式,其形式为: