版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章选择结构4.1if4.2if-else4.3嵌套4.4条件运算符4.5switch1114.1if22if语句的语法结构如下:If(表达式){语句序列;}表达式语句块真假选择是否执行一条路径使用单独的if语句。33例:根据输入值输出是否不低于60,若不低于60则输出“Pass”。01#include<iostream>02usingnamespacestd;03intmain()04{05intscore;06cin>>score;07if(score>=60)08{09cout<<"Pass"<<endl;10}11cout<<"========"<<endl;12return0;13}444.2if-else从两个可选路径中选择一条执行采用if-else语句结构。if-else的语法结构如下:if(表达式){语句序列1;}else{语句序列2;}表达式语句块1真假语句块255例:根据输入值和60的比较,若不低于60则输出“Pass”,否则输出“Fail”。01#include<iostream>02usingnamespacestd;03intmain()04{05intscore;06cin>>score;07if(score>=60)08{09cout<<"Pass"<<endl;10cout<<"Exceedingthequalifiedline:"<<score-60<<endl;11}12else13{14cout<<"Fail"<<endl;15cout<<"Belowthequalifiedline:"<<60-score<<endl;16}17cout<<"========"<<endl;18return0;19}664.3嵌套当从多个可执行路径中选择一个执行的时候,就需要将if语句进行有机嵌套组合可以在一个外围if-else语句内嵌套if-else语句,既可以嵌套在外围if-else语句内的if语句块部分,也可以嵌套在外围if-else语句内的else语句块部分。77嵌入在外围if-else语句else部分的代码如下:if(表达式1){语句序列1;}else{if(布尔表达式2){
语句序列2;}else{
语句序列3;}}表达式1真假表达式2语句块1语句块2语句块3真假88判断条件与执行路径对应关系布尔表达式1布尔表达式2执行路径true/语句序列1falsetrue语句序列2falsefalse语句序列399例:根据分数输出”Good“,”Pass“,”Fail“,规则为:80分以上为Good,60分以上80分以下为Pass,60分以下为Fail。01#include<iostream>02usingnamespacestd;03intmain()04{05intscore;06cin>>score;07if(score>=80)08{09cout<<"Good"<<endl;10}11else12{13if(score>=60)14{15cout<<"Pass"<<endl;16}17else18{19cout<<"Fail"<<endl;20}21}22return0;23}1010内部if-else也可以嵌入到外围if-else语句的if分支中。if(布尔表达式1){if(布尔表达式2){
语句序列1;}else{
语句序列2;}}else{语句序列3;}表达式1真假表达式2语句块1语句块2语句块3真假11判断条件与执行路径对应关系布尔表达式1布尔表达式2执行路径truetrue语句序列1truefalse语句序列2false/语句序列31212可以将例4.3的求解用这种结构的if语句来实现。01#include<iostream>02usingnamespacestd;03intmain()04{05intscore;06cin>>score;07if(score>=60)08{09if(score>=80)10{11cout<<"Good"<<endl;12}13else14{15cout<<"Pass"<<endl;16}17}18else19{20cout<<"Fail"<<endl;21}22return0;23}134.4条件运算符某些情况下,可以用条件运算符”?:”来简化if的运算,其语法规则为:(布尔表达式1)?表达式2:表达式3;表达式1表达式2真假表达式314例:根据输入的两个数输出较大的数程序代码(一):01#include<iostream>02usingnamespacestd;03intmain()04{05inta,b;06cin>>a>>b;07cout<<"Thelargernumberof"<<a<<"and"<<b<<":";08if(a>b)09{10cout<<a<<endl;11}12else13{14cout<<b<<endl;15}16return0;17}1515程序代码(二):01#include<iostream>02usingnamespacestd;03intmain()04{05inta,b;06cin>>a>>b;07cout<<"Thelargernumberof"<<a<<"and"<<b<<":";08intc=(a>b)?a:b;09cout<<c<<endl;10return0;11}164.5switch从多个可选路径中选择一条路径执行可以使用if-else的嵌套结构实现,在某些情况下,使用switch语句实现更简洁。switch语句语法如下:switch(表达式){case常量1:
语句序列1; break;case常量2:
语句序列2; break;…case常量n:
语句序列n; break;default:
语句序列n+1; break;}==常量1表达式语句序列1break==常量2语句序列2break==常量n语句序列nbreak==default语句序列n+1break17例:根据输入的数值判断等级,60分以下为Fail,60~69为Pass,70~79为Medium,80~89为Good,90~100为Excellent。程序代码(一):01#include<iostream>02usingnamespacestd;03intmain()04{05intscore;06cout<<"Pleaseinputascore(0~100):";07cin>>score;08inttype=score/10;09switch(type)10{11case10:12cout<<"Excellent"<<endl;13break;14case9:15cout<<"Excellent"<<endl;16break;17case8:18cout<<"Good"<<endl;19break;20case7:21cout<<"Medium"<<endl;22break;23case6:24cout<<"Pass"<<endl;25break;26default:27cout<<"Fail"<<endl;28break;29}30return0;31}1819程序代码(二):01#include<iostream>02usingnamespacestd;03intmain()04{05intscore;06cout<<"Pleaseinputascore(0~100):";07cin>>score;08inttype=score/10;09switch(type)10{11case10:12case9:13cout<<"Excellent"<<endl;14break;15case8:16cout<<"Good"<<endl;17break;18case7:19cout<<"Medium"<<endl;20break;21case6:22cout<<"Pass"<<endl;23break;24default:25cout<<"Fail"<<endl;26break;27}28return0;29}C++程序设计及项目实践20224.5应用例4.6
三角形求面积
C++程序设计及项目实践212301#include<iostream>02#include<cmath>03#include<iomanip>04usingnamespacestd;05intmain()06{07inta,b,c;08cin>>a>>b>>c;09if(a+b>c&&a+c>b&&b+c>a)10{11doubles=(a+b+c)/2.0;12doublearea=sqrt(s*(s-a)*(s-b)*(s-c));13cout<<setiosflags(ios::fixed)<<setprecision(2)<<area<<endl;14}15else16{17cout<<"itisnotatriangle"<<endl;18}19return0;20}C++程序设计及项目实践24例4.7
判断闰年思路:闰年的判断满足一条规则即可:一是整除400,二是整除4但不能整除100。程序代码:01#include<iostream>02usingnamespacestd;03intmain()04{05intyear;06cin>>year;07boolisLeap1=(year%4==0)&&(year%100!=0);08boolisLeap2=year%400==0;09boolisLeap=isLeap1||isLeap2;10if(isLeap)11{12cout<<"Theyear"<<year<<"isaleapyear"<<endl;13}14else15{16cout<<"Theyear"<<year<<"isnotaleapyear"<<endl;17}18return0;19}C++程序设计及项目实践25C++程序设计及项目实践27例4.8
分段函数求解
思
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理信息化在手术室护理中的安全保障
- 山东春季高考复习要点病句
- 四种降糖药治疗2型糖尿病患者的成本和效果分析
- 医疗保险制度与政策分析
- 医学课件-根管封闭材料的生物学特点及其临床应用
- 2026初中历史教资面试答辩题库及答案
- 计算机与人工智能导论 课件 彭义春 第8-15章 人工智能概述 -前沿技术与实践能力培养
- 2026年秋招:IT咨询顾问面试题及答案
- 2026年诺华(中国)招聘笔试题及答案
- 检验人员输血不良反应与应急处理知识考试试题及答案
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 运输车辆卫生管理制度
- 《基于WEB漏洞检测系统的设计与实现》10000字(论文)
- 铁路劳动安全 课件 第五章 安全标志标识
- 【MOOC】颈肩腰腿痛中医防治-暨南大学 中国大学慕课MOOC答案
- 煤矿井下无轨胶轮车司机安全技术培训大纲及考核标准
- DB3210T 1178-2024林权地籍调查技术规程
- 2、第二章-犬、猫的品种
- 初二物理第一、二单元测试试卷
- 铁塔基础根开自动计算
- GB/T 25085.3-2020道路车辆汽车电缆第3部分:交流30 V或直流60 V单芯铜导体电缆的尺寸和要求
评论
0/150
提交评论