3.2  用if语句实现选择结构

什么是选择结构

单分支if语句

双分支if语句

多分支if语句

1.什么是选择结构?

选择结构又称为分支结构,是根据给定的条件是否成立来决定程序的执行流程。

用if语句实现选择结构 

用switch语句实现选择结构。

2.单分支if语句

当条件结果为标量时,非零表示条件成立,零表示条件不成立。  建议条件尽量使用标量。

当条件结果为矩阵时,如果矩阵为非空,且不包含零元素,则条件成立,否则不成立。

例如,[1,2;0,4]表示条件时,条件不成立;[1,2;3,4]表示条件时,条件成立。

3.双分支if语句

例1  输入一个整数,若为奇数则输出其平方根,否则输出其立方根。

x=input('请输入x的值:');

if rem(x,2)==1     //调用rem函数,求余数。有可写成rem(x,2)

  y=sqrt(x);

else

  y=x^(1/3);     //也可以用pow函数来实现

end

y

4.多分支if语句

只有前面的条件不成立,才会执行当前的。程序在执行完一个分支后,其余分支将不会再执行,整个if语句结束。

例2  输入一个字符,若为大写字母,则输出其对应的小写字母;若为 小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数 的平方,若为其他字符则原样输出。

c=input(’请输入一个字符:’,’s’);  //当成字符串看待

if c>='A'&& c<='Z'

disp(lower(c));   //大写转小写

elseif c>='a'&& c<='z'

disp(upper(c));   //小写转大写

elseif c>='0'&& c<='9'

disp(str2double(c)~2);  //输出对应数的平方 str2double函数将字符串转化为字符

else

disp(c);

end

3.3用switch语句实现选择结构

语句格式

执行过程

实例

语句格式:

Tip:当任意一个分支的语句执行完后,整个 switch语句执行完毕。整个过程只会执行一个 语句组。

switch表达式应该是一个其值可以列举的表达式。(如整型表达式,字符串表达式,实型表达式不可以列举)

case结果表为switch表达式的取值,当取值有多个时,用单元数据表示。(多个结果用大括号括起来)只要执行单元中的某个元素时,就执行相应的语句组。

例子:

x=input('x=?');

switch fix(x)

case2

disp(111);

case 2

disp(222);

case {3,4,5}

disp(333);

otherwise

disp(444);

end

x=?2   //执行完2以后程序结束不会出现222

111

x=?4

333

x=?8

444

例1  输入一个英文单词,判断它是否以元音字母开头。

c=input('请输入一个单词:','s');

switch c(1)

  case {'A','E','I','O','U','a','e','i','o','u'}

    disp([c,'以元音字母开头']);

otherwise

    disp([c,'以辅音字母开头']);

end

利用字符串查找函数实现

c=input('请输入一个单词:','s');

if findstr(c(1),'AEIOUaeiou')>0     //调用findstr函数,返回单词首字母在后面长字符串的位置大于0时,元音字母开头。

  disp([c,'以元音字母开头']);

else

  disp([c,'以辅音字母开头']);

end

例2  PM2.5是指大气中直径小于或等于2.5微米的可入肺颗粒物,是衡量 空气质量的重要指标。假定空气质量等级以PM2.5数值划分为6级。 PM2.5数值在[0,35)空气质量为优,[35,75)为良,[75,115)为轻 度污染,[115,150)为中度污染,[150,250)为重度污染,大于等于 250为严重污染。编写程序,输入PM2.5数值,输出空气质量等级。

实现方法:用六个单分支结构实现  用多分支if语句实现  用switch语句执行

num2cell函数:将数值矩阵转化为单元矩阵

因为冒号表达式产生的是一个向量,先将向量转化为单元数据。才能进行枚举。

g=input('请输入PM2.5值:’);

switch fix(g)    //取整

case num2cell(0:34)

disp(’空气质量优);

case num2cell(35:74)

disp(’空气质量良好’);

case num2cell(75:114)   // num2cell函数:将数值矩阵转化为单元矩阵

disp(’空气质量轻度污染’);

case num2cell(115:149)

disp(’空气质量中度污染’);

case num2cell(150:249)

disp(’空气质量重度污染’);

otherwise

disp(’空气质量严重污染’);

end

选择结构(if、switch)的更多相关文章

  1. 选择结构二switch选择结构

     在上一章节我们讲解了if选择结构  本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构  以及 两种选择结构的运用 ...

  2. 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构

    037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...

  3. Java语法基础(三)----选择结构的if语句、switch语句

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...

  4. 房上的猫:switch选择结构,与选择结构总结

    switch选择结构: 一.定义: switch选择结构,可以方便地解决等值判断问题二.语法:  switch(表达式){   case 常量1:    //代码块1;      break;   c ...

  5. Java 第四章 选择结构2

    第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...

  6. C语言程序设计第四次作业--选择结构(2)

    (一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...

  7. JavaSE-03 Java选择结构

    学习要点 if选择结构 switch选择结构 if选择结构 单分支if选择结构 语法结构 应用场合 问题:如果王小强的Java考试成绩大于98分,小强就能获得一个iphone8作为奖励. 复杂条件下的 ...

  8. JAVA的选择结构(二)

    1.switch选择结构:                        语法:                            switch (key) {                   ...

  9. java4选择结构 二

    public class jh_01_为什么使用switch选择结构 { /* * 韩嫣参加计算机编程大赛 * 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 * 如果获得第二名,将奖励惠普笔记 ...

随机推荐

  1. AJ学IOS(13)UI之UITableView学习(下)汽车名牌带右侧索引

    AJ分享,必须精品 先看效果图 代码 ViewController #import "NYViewController.h" #import "NYCarGroup.h& ...

  2. stand up meeting 12/10/2015

    part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 修改了详细释义的自动换行功能:设计并完成了背景图片的切换功能    6 完成单词释义热度排序    6 PDF Reade ...

  3. 用网线连接Windows和Linux台式机,并实现Linux共享Windows的WiFi网络

    前言 由于工作需要,需要利用网线将自己的笔记本和Linux台式机进行连接,实现Windows可以远程登录Linux机器,并实现Linux共享Windows的WiFi网络. 网上的很多方法可以实现两台机 ...

  4. IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)

    由于昨天要写的文章没有写完,于是今天早上我四点半就"自然醒"了,心里面有事,睡觉也不安稳.洗漱完毕后,我打开电脑,正襟危坐,摆出一副要干架的态势,不能再拖了. 要写的文章中涉及到一 ...

  5. Spring Cloud 系列之 Sleuth 链路追踪(一)

    随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务.互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发.可能使用不同的编程语言来实现.有可能布在了 ...

  6. Android 中 OkHttp 三步实现生命周期绑定

    简介 OkHttps 是 OkHttp 增强版的超轻量封装包. 和 Retrofit 相比,它更加轻量(只有 59Kb),是 Retrofit (124Kb)的一半,而且更加的开箱即用,API 更加自 ...

  7. JavaScript学习笔记(1)字符串方法

    字符串方法 length 属性返回字符串的长度 var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length; inde ...

  8. MySQL的远程链接

    安装好我们的mMySQL,是不是也有种无从下手的感觉,不用怕,接下来我们可以使用远程连接来可视化我们的数据库的数据: 1. 打开我们的数据库,帐号是root,密码查看文件就行了 2.使用命令: mys ...

  9. 2019-2020-1 20199328《Linux内核原理与分析》第四周作业

    <Linux内核原理与分析>第四周作业 步骤一 首先我们指定一个内核并指定内存根文件系统,这里的bzImage是vmLinux经过gzip压缩的内核,"b"表示&quo ...

  10. Qt 的日期 时间

    QDateTime 的构造函数,有参数是QDate的.这样就可以把日期转化成 QDateTime. QDateTime.toTime_t() 可以转化成 Unix 时间.