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. Python程序设计实验报告二:顺序结构程序设计(验证性实验)

      安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩 日期     2020.3.22     指导老师       修宇 [实验 ...

  2. Anadi and Domino--codeforces div2

    题目链接:https://codeforces.com/contest/1230/problem/C 题目大意:21枚多米诺牌,给你一个图,将多米诺牌放到图的边上,由同一个点发出的所有边,边上多米诺牌 ...

  3. redis 分布式锁的 5个坑,真是又大又深

    引言 最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了.脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug.我就熬夜写了一个 ...

  4. kafka消息分区机制原理

    背景 kafka如何支撑海量消息的集中写入? 答案就是消息分区. 核心思想是:负载均衡,采用合适的分区策略把消息写到不同的broker上的分区中: 其它的产品中有类似的思想. 比如monogodb, ...

  5. 如何防止CDN防护被绕过

    当攻击者发现目标站点存在CDN防护的时候,会尝试通过查找站点的真实IP,从而绕过CDN防护.我们来看一个比较常见的基于公有云的高可用架构,如下:CDN(入口层)->WAF(应用层防护)-> ...

  6. Stream—一个早产的婴儿

    当你会关注这篇文章时,那么意味着你对Stream或多或少有些了解,甚至你在许多业务中有所应用.正如你所知,业界对Stream.lambda褒贬不一,有人认为它是银弹,也有人认为其降低了代码的可读性.事 ...

  7. 初探Redis-基础类型String

    Redis存在五种基础类型:字符串(String).队列(List).哈希(Hash).集合(Set).有序集合(Sorted Set).String的出镜率算是最高的.本次列举出String的常用操 ...

  8. 关于join on 和单表查询的实时效果

    当数据量大(10W单位级)的时候,join的优势,会被单表查询超过. 以下是两张表单查和两张表联查的时间对比,同时,这样的记录有局限性的. 一.数据量少时: 单表查: 表一:显示行 0 - 2 ( 3 ...

  9. 文件上传漏洞(pikachu)

    文件上传漏洞 文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像,附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断,比如是否是指定的类型.后缀名.大小等等,然后将其按照设 ...

  10. git取消跟踪(unversion)

    有时候我们会git add了一些不想跟踪的文件,通过下面的命令可以在没提交前从index里删掉跟踪记录(保留本地文件) git rm –cached 文件名