欢迎来到天天文库
浏览记录
ID:40107918
大小:854.00 KB
页数:32页
时间:2019-07-21
《关系、逻辑运算符和if语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3讲关系、逻辑运算符和if语句本讲内容为课本第三章3.5、3.6、3.7顺序结构顺序结构:之前所写程序为顺序结构,从主函数的第1个语句开始逐个语句执行,直至主函数结束。顺序结构不能满足实际需求,考虑期末成绩转换。程序非从头至尾逐语句执行,开始有不同转向。结构化程序设计:程序由顺序、选择、循环三种基本结构组成。下面学习选择结构—if语句。先介绍流程图的概念。3.1流程图算法的基本概念程序=数据结构+算法程序设计关键之一,是解题的方法与步骤,即算法。算法的描述方法自然语言NS结构化流程图伪码流程图本节重点介绍流程图描述,其它描述方法请参考王敬华书。流程图是一种传统的算法表示法,利用几何图
2、形的框代表各种不同性质的操作,用流程线表示算法的执行方向。处理框判断框输入输出框连接点常见流程图符号:起止框流程线例3.1:对下列编程题,画出流程图描述求解算法。输入三角形三条边a、b、c(假设输入有效),按如下公式求三角形面积:s=(a+b+c)/2A=√s(s–a)(s–b)(s–c)练习开始输入a,b,c输出A结束例3.1流程图练习例3.2:输入立方体三条边,求体积和表面积。用流程图描述解题过程。开始输入a,b,c输出vol,area结束例3.2流程图3.2关系运算符与逻辑运算符关系运算符>、>=、<、<=、==、!=#includevoidmain(){int
3、i;i=6;printf(“%3d%3d%3d”,i<=4,i!=9,7>i>5);}C中,真为1,假为0。注:关系表达式成立,结果为1,否则为0。逻辑运算符&&,
4、
5、,!表达式1&&表达式2//逻辑与只有当表达式1和表达式2均为真(非0),结果为真(1)。表达式1
6、
7、表达式2//逻辑或只要表达式1、表达式2有1个为真(非0),结果为真(1)。!表达式//逻辑非表达式为真(非0),结果为假(0)表达式为假(0),结果为真(1)#includevoidmain(){inti,result;i=6;result=i&&i>5cout<8、}注:C中,非0代表真,0代表假。练习编程:输入年,输出1,0分别代表该年是否闰年。闰年:能被400整除或者能被4整除但不能被100整除。exp3_1.cpp运算符优先级!*,/,%+,-<,<=,>,>===,!=&&9、10、关于关系、逻辑运算符的详细内容参见王敬华书P111图5.2&&、11、12、的计算顺序表达式113、14、表达式2根据15、16、的定义,只要表达式1为真,结果为真。因此在计算表达式117、18、表达式2时,若式1为真,式2不计算。例:intn,a=-1;n=10;printf(“%dt%d”,n19、20、(a=a+1),a);表达式1&&表达式2根据&&的定义,只要表达式1为假,结果必为假。因此21、在计算表达式1&&表达式2时,若式1为假,式2不计算。例:intn,a=-1;n=0;printf(“%dt%d”,n&&(a=a+1),a);bool—布尔型C++基本数据类型,逻辑型bool值只有true(1)或false(0)用于关系表达式或逻辑表达式判定中boolflag;flag=!(year%400)22、23、!(year%4)&&year%100;3.3if语句if语句语法if(表达式)语句;if(表达式){语句;}流程图表达式语句假真多于一个语句,构成复合语句,加{}if语句语义当且仅当表达式为真时,执行语句(复合语句)。练习编程:键入一字符,若是’b’,则响铃。exp24、3_2.cppcharch;1)ch=getche();#include2)ch=getchar();#include空语句例:写出程序运行结果。#include#includevoidmain(){cout<<"plsinputthebkeytohearabell.";//提示信息charch;ch=gete();//输入一个字符if(ch==‘b’);cout<<'a';}空语句;if(ch==‘b’);count<<‘a’;//不管输入何字符,都会响铃if…else语句语法if(表达式)语句1;25、else语句2;流程图表达式语句2语句1假真语义若表达式为真,执行语句1;否则,执行语句2。练习编程:输入数a、b,输出最大值。exp3_3.cpp条件运算符语法表达式1?表达式2:表达式3语义计算表达式1,若为真,则计算表达式2,作为结果值,否则计算表达式3,作为结果值。注:C++中唯一一个三目运算符,if…else语句的替代。练习用条件运算符改写exp3_3.cpp。max=a>=b?a:b;exp3_4.cpp练习例:写出下列程序的运行结
8、}注:C中,非0代表真,0代表假。练习编程:输入年,输出1,0分别代表该年是否闰年。闰年:能被400整除或者能被4整除但不能被100整除。exp3_1.cpp运算符优先级!*,/,%+,-<,<=,>,>===,!=&&
9、
10、关于关系、逻辑运算符的详细内容参见王敬华书P111图5.2&&、
11、
12、的计算顺序表达式1
13、
14、表达式2根据
15、
16、的定义,只要表达式1为真,结果为真。因此在计算表达式1
17、
18、表达式2时,若式1为真,式2不计算。例:intn,a=-1;n=10;printf(“%dt%d”,n
19、
20、(a=a+1),a);表达式1&&表达式2根据&&的定义,只要表达式1为假,结果必为假。因此
21、在计算表达式1&&表达式2时,若式1为假,式2不计算。例:intn,a=-1;n=0;printf(“%dt%d”,n&&(a=a+1),a);bool—布尔型C++基本数据类型,逻辑型bool值只有true(1)或false(0)用于关系表达式或逻辑表达式判定中boolflag;flag=!(year%400)
22、
23、!(year%4)&&year%100;3.3if语句if语句语法if(表达式)语句;if(表达式){语句;}流程图表达式语句假真多于一个语句,构成复合语句,加{}if语句语义当且仅当表达式为真时,执行语句(复合语句)。练习编程:键入一字符,若是’b’,则响铃。exp
24、3_2.cppcharch;1)ch=getche();#include2)ch=getchar();#include空语句例:写出程序运行结果。#include#includevoidmain(){cout<<"plsinputthebkeytohearabell.";//提示信息charch;ch=gete();//输入一个字符if(ch==‘b’);cout<<'a';}空语句;if(ch==‘b’);count<<‘a’;//不管输入何字符,都会响铃if…else语句语法if(表达式)语句1;
25、else语句2;流程图表达式语句2语句1假真语义若表达式为真,执行语句1;否则,执行语句2。练习编程:输入数a、b,输出最大值。exp3_3.cpp条件运算符语法表达式1?表达式2:表达式3语义计算表达式1,若为真,则计算表达式2,作为结果值,否则计算表达式3,作为结果值。注:C++中唯一一个三目运算符,if…else语句的替代。练习用条件运算符改写exp3_3.cpp。max=a>=b?a:b;exp3_4.cpp练习例:写出下列程序的运行结
此文档下载收益归作者所有