版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
选择结构本章内容第一节if语句第二节switch语句第三节条件运算符一、单分支if语句1、语句格式
if(条件){语句块;}条件一般为关系表达式或逻辑表达式,也可以是其他类型的数据。语句块可以是一条或多条要执行的C++语句。如果语句块中只有一条语句,也可以省略{}。第一节if语句2、语句执行过程
先对条件进行判断,当条件成立,也就是条件为true时,执行语句块,语句块执行结束后,将接着执行if语句后面的语句。如果条件不成立,即条件为false时,则直接执行if语句后面的语句。程序段5-1#include<iostream>usingnamespacestd;intmain(){ intn1,n2; intmax;cout<<"输入两个整数:";
cin>>n1>>n2; max=n1;
if(max<n2) { max=n2; } cout<<"大数是"<<max<<endl; return0;}二、双分支if语句1、语句格式
if(条件){语句块1;}else{语句块2;}2、语句执行过程语句执行时先对条件进行判断,当条件为true时执行语句块1,条件为false时执行else后面的语句块2。语句块1或语句块2执行结束后,将接着执行if语句后面的语句。语句块1和语句块2只能执行一个。 程序段5-2#include<iostream>usingnamespacestd;intmain(){ intn; cout<<"输入一个整数:";cin>>n;
if(n%2==0) { cout<<"偶数"<<endl; } else { cout<<"奇数"<<endl; } return0;}三、多分支if语句1、语句格式if(条件1){语句块1;}elseif(条件2){语句块2;}...elseif(条件n){语句块n;}[else{语句块n+1;}]2、语句执行过程
先对条件1进行判断,如果条件1为true,则执行语句块1,如果条件1为false,则对条件2进行判断。如果条件2为true,则执行语句块2。以此类推,当某个条件为true时,就执行下面对应的语句块。如果所有的条件都为false,而且语句有else项,则执行语句块n+1,若没有else项,则直接执行if语句后面的语句。程序段5-3#include<iostream>usingnamespacestd;intmain(){ intaqi;cin>>aqi;
if(aqi>=0&&aqi<=50) cout<<"优"<<endl; elseif(aqi>=51&&aqi<=100) cout<<"良"<<endl; elseif(aqi>=101&&aqi<=150) cout<<"轻度污染"<<endl; elseif(aqi>=151&&aqi<=200) cout<<"中度污染"<<endl;elseif(aqi>=201&&aqi<=300) cout<<"重度污染"<<endl; elseif(aqi>300) cout<<"严重污染"<<endl; return0;}3、语句使用说明
多分支if语句执行时,不管有多少个分支,都只能执行一个分支,或者一个也不执行,不能同时执行多个分支。因此即使语句中有多个条件为true,也只执行第一个条件为true的分支,其他分支将不再执行。四、if语句的嵌套是指在if语句的语句块中包含另一个if语句。单分支if语句、双分支if语句和多分支if语句之间可以相互嵌套。注意:使用if语句的嵌套时,内层的if语句必须完全包含在外层的if语句中,内外层结构不能交叉。多个if语句嵌套时,else总是与离它最近且尚未配对的if进行配对。
程序段5-4if(model==1){
if(dist<=3)cost=14;elsecost=14+(dist-3)*1.5;}elseif(model==2){
if(dist<=3){cost=16;}else{cost=16+(dist-3)*1.8;}}一、switch语句switch后面的表达式必须是整型或枚举类型。第二节switch语句switch(表达式){case常量表达式1:
语句块1;[break;]case常量表达式2:
语句块2;[break;]...case常量表达式n:
语句块n;[break;][default:
语句块n+1;]}常量表达式必须与switch后面的表达式类型相同,而且不能包含任何变量。break是跳转语句,为可选项,用于跳出switch语句。default通常位于所有case子句的后面,为可选项,每个switch语句最多只能有一个default子句。1、语句格式2、语句执行过程
首先计算switch后面表达式的值,然后依次与每个case子句中的常量表达式进行比较,如果匹配,就执行相应的语句块。如果表达式的值与所有的常量表达式都不匹配,则执行default子句的语句块,若没有default子句,则直接执行switch语句后面的语句。 程序段5-6switch(score/10) { case10: case9: cout<<"等级A"<<endl; break; case8: cout<<"等级B"<<endl; break; case7: cout<<"等级C"<<endl; break; case6: cout<<"等级D"<<endl; break; default: cout<<"等级E"<<endl; }3、语句使用说明多个case子句可以共同执行同一个语句块。switch语句可以包括任意数目的case子句,但任何两个case子句都不能有相同的常量表达式值。switch语句中的一个语句块执行完毕后,并不会自动退出switch语句。如果后面没有break语句,将会继续执行下面case子句的语句块,直到遇到break语句或下面所有语句块全部执行完毕。二、switch语句的嵌套switch语句可以相互嵌套。每个嵌套的switch必须完整包含在外部switch语句的某个case或default语句块内。switch语句和if语句也可以相互嵌套。表达式1一般为关系表达式或逻辑表达式。表达式1、表达式2和表达式3的类型都可以不同。第三节条件运算符1、条件运算符格式表达式1?表达式2:表达式32、执行过程首先对表达式1进行判断,如果值为true,则计算表达式2并以它的值为整个条件表达式的运算结果;如果值为false,则计算表达式3并以它的值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度高端美容院加盟投资合同书
- 2025年建筑企业股权转让合同.3篇
- 2024版人工劳务承包合同模板
- 二零二五年度商业场地租赁合同中的品牌保护条款3篇
- 2024版医疗器械购销合同书的内容
- 二零二五年度水利工程法务与合同管理规范20
- 2024版互动多媒体系统合同范本1
- 二零二五年护士值班排班与福利待遇合同模板3篇
- 二零二五年度精密仪器钣金件加工与检测合同3篇
- 专业消防工程承包操作合同2024版版B版
- 【物 理】2024-2025学年八年级上册物理寒假作业人教版
- 广东省深圳市名校2023-2024学年高一上学期期中联考物理试题
- 发那科注塑机讲义课件
- 2023年广西北海市创城办招聘20人(共500题)笔试必备质量检测、历年高频考点模拟试题含答案解析
- 2023高考英语新高考1卷完形填空全考点解析附译文全
- 工作票知识培训课件
- GB/T 42616-2023电梯物联网监测终端技术规范
- 河南省医院信息大全
- 酒店赔偿价目表
- 广西贵港市2023年中考物理试题(原卷版)
- 集团总裁岗位说明书
评论
0/150
提交评论