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. C++_编程前奏

    计算机硬件系统 计算机操作系统的五大组成部分 计算机操作系统的组成部分 构成 控制器 指令寄存器(IR)/程序计数器(PC)/操作控制器(OC) 运算器 算数逻辑单元/累加器/状态寄存器/通用寄存器 ...

  2. 【Java】从Null开始,在Windows上下载和安装JDK

    下载部分: 方式一: 从官方网站上下载:https://www.oracle.com/java/technologies/javase-downloads.html Oracle已经更新了软件政策,要 ...

  3. threejs地球之后:动画的控制

    上一篇知道如何制作threejs地球之后,就正式coding了,当然还是使用最心爱的Vue.本篇会有一些代码,但是都是十几行的独立片段,相信你不用担心. 布局 在进入本篇主题前,要简单看一下xplan ...

  4. Python中有许多HTTP客户端,但使用最广泛且最容易的是requests

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:北京尚脑软件测试 PS:如有需要Python学习资料的小伙伴可以加点击 ...

  5. 详解 Paths类 与 Files类

    在本篇博文中,本人主要讲解NIO 的两个核心点 -- 缓冲区(Buffer) 和 通道 (Channel)之一的 缓冲区(Buffer), 有关NIO流的其他知识点请观看本人博文<详解 NIO流 ...

  6. share sdk

    新浪微博                 http://open.weibo.com 腾讯微博                 http://dev.t.qq.com QQ空间             ...

  7. Idea上tomcat部署细节

    ​ 一.On Update action: (1)Update resources:更新项目变更的.jsp,.xml文件等资源文件,而不会更新源码文件:(仅修改项目的JS文件.JSP文件.CSS文件推 ...

  8. 还学的动吗? 盘点下Vue.js 3.0.0 那些让人激动的功能

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://blog.bitsrc.io/vuejs-3-0-0-beta-features- ...

  9. nginx history路由模式时,页面返回404重定向index.html

    1.路由默认是带#的,有时我们感觉不美观,就使其变为history模式,也就没有#字符 2.# 如果找不到当前页面(404),就返回index.html,重新分配路由 location ^~/prod ...

  10. shell脚本:备份数据库、代码上线

    备份MySQL数据库场景:一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求:1)每天备份一次,需要备份所有的库2)把备份数据存放到/data/backup/下3 ...