《选择语句.ppt》由会员分享,可在线阅读,更多相关《选择语句.ppt(26页珍藏版)》请在三一办公上搜索。
1、选择结构程序设计,所谓选择结构,就是根据不同的条件,选择不同的处理块。,(1)基本形式一:if(表达式)语句;其执行过程是:首先计算表达式的值,若不为0,表示条件判断为真,则执行语句;否则,不执行语句,如图所示。,(2)基本形式二 if(表达式)语句1;else 语句2;其执行过程是:首先计算表达式的值,若不为0,条件判断为真,则执行语句1,否则,执行语句2。,【例题】求x的绝对值。#include using namespace std;int main()long x,absx;cinx;absx=x;if(x0)absx=-x;cout”|x|=”absxendl;system(“pau
2、se”);return 0;,【例题】求x的绝对值(用if-else结构形式)。#include using namespace std;int main()long x,absx;cinx;if(x0)absx=-x;else absx=x;cout“|x|=”absxendl;system(“pause”);return 0;,1、关系运算符:(比较运算)(大于)=(大于等于)=(等于)!=(不等于)注 意:(1)=与=(a=5;赋值运算;a=5;判断是否相等)(2)=的优先级大于=!=(3)算术运算符的优先级高于关系运算符的优先级;关系运算符的优先级高于赋值运算符的优先级;如:ca+b
3、等效于 c(a+b)ab=c 等效于(ab)=c,2、关系表达式:用关系运算符将表达式连接起来称为关系表达式。其值非真即假。在C+语言中,用非0代表真,用0表示假。关系表达式的结果只有两个,真为1,假为0。一般格式为:表达式1 关系运算符 表达式2 例如:ab等都是合法的关系表达式。说明:(1)关系表达式的值:如果关系表达式成立,其值为1,表示“真”;否则是0,表示“假”。(2)关系运算符两侧是表达式可以是算术表达式、关系表达式、逻辑表达式、赋值表达式或字符表达式。,【例题】输出关系表达式的运算结果。#include using namespace std;int main()int a=10
4、,b=20;cout=b)a+b)b)“”abendl;system(“pause”);return 0;,运行结果为:0 10 0 10 1,1逻辑运算符:与&;或|;非!;,0,0,1,0,1,1,1,0,0,1,0,1,重庆籍的男生重庆籍的学生或所有男生非重庆籍的学生,重庆籍&男生,例如:两个条件:重庆籍 男生,重庆籍|男生,!重庆籍,注意:1.优先级:!&|!算术关系逻辑赋值逗号,53&2|84-!0,3.不可写为 1x10 应为:1x&x10,2.作为条件,所有非0值均为真;作为结果,只有0或1两种。,【例题】判断某年是否为闰年 1)能被400整除 2)能被4整除,不能被100整除(
5、2200年不是),year%400=0,year%4=0&year%100!=0,(year%400=0)|(year%4=0&year%100!=0),条件表达式 条件表达式一般形式为:表达式1?表达式2:表达式3;,#include using namespace std;int main()long x,absx;cinx;absx=(x0)?(-x):x;cout“|x|=”absxendl;system(“pause”);return 0;,【问题描述】行李托运,10公斤以内运费2.5元,超过10公斤,超过部份每公斤加收1.5元。【文件输入】输入只有一个数,表示行李的重量(=1000
6、0)。【文件输出】输出只有一行,包括1个数【样例输入】9【样例输出】2.50,例题,#include using namespace std;int main()double p,s;cinp;if(p=10)s=2.5;else s=2.5+(p-10)*1.5;coutsendl;system(pause);return 0;,参考程序,【练习试题】求三个数的最大数【问题描述】已知有三个不等的数(均小于10000),将其中的最大数找出来。【文件输入】输入只有一行,包括3个整数。之间用一个空格分开。【文件输出】输出只有一行包括1个整数。【样例输入】1 5 8【样例输出】8,练一练,#incl
7、ude using namespace std;int main()long a,b,c;cinabc;if(ac)coutaendl;else coutcendl;system(“pause”);return 0;,程序代码,在IF语句中,跟在条件或else后的语句可能不止一个,这时要用到复合语句。复合语句是以 开始,以 结束的语句。在 与 之间可以包括若干个语句,每个语句之间以分号分开。,复合语句的一般形式;;,复合语句,练 习:输入两个数分别存放在变量a,b中,将较大的值存入a中,另一值存入b中,输出a,b。,算法:1、输入a,b;2、if ab then 交换a,b的值;3、输出a,b
8、的值。,long a,b,c;cinab;if(ab)c=a;a=b;b=c;couta“”b;,基本形式三:if(表达式1)语句1 else if(表达式2)语句2 else if(表达式n)语句n else 语句n+1,#include using namespace std;int main()long x,y;cinx;if(x0)y=0;else if(x=5)y=x;else y=x*x;cout”x=”x”y=”yendl;system(“pause”);return 0;,程序代码,【练习试题】求三个数的大小顺序【问题描述】输入三个数(都小于10000),按由大到小顺序打印出来
9、。【文件输入】输入只有一行,包括3个整数。之间用一个空格分开。【文件输出】输出只有一行,包括3个整数。之间用一个空格分开。【样例输入】1 2 3【样例输出】3 2 1,练一练,1516 1517 1518 1519 1521 1522 1523 15241525 1527 1528 1529,课堂作业,http:/:8080/BSoiOnline,【练习试题】剪刀、石头、布游戏【问题描述】编程模拟剪刀、石头、布游戏:用S表示剪刀,用R表示石头,用P表示布。规则是:剪刀剪布,石头砸剪刀,布包石头。游戏者甲乙分别把自己的选择输入,计算机给出结果。【文件输入】输入甲乙两个人分别出的结果【文件输出】输出结果,若甲获得胜利输出Win,平局输出Equ,否则输出Fall【样例输入】S R【样例输出】Fall,练一练,#include using namespace std;int main()char a,b;cinab;if(a=R,程序代码,#include using namespace std;int main()char n,m;long s;cinnm;if(n=m)coutEqu;else s=n-m;if(s=3|s=-1|s=-2)coutWin;else coutFall;system(“pause”);return 0;,程序代码,
链接地址:https://www.31ppt.com/p-5663013.html