选择结构(if、switch)
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)的更多相关文章
- 选择结构二switch选择结构
在上一章节我们讲解了if选择结构 本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构 以及 两种选择结构的运用 ...
- 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...
- Java语法基础(三)----选择结构的if语句、switch语句
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- 房上的猫:switch选择结构,与选择结构总结
switch选择结构: 一.定义: switch选择结构,可以方便地解决等值判断问题二.语法: switch(表达式){ case 常量1: //代码块1; break; c ...
- Java 第四章 选择结构2
第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...
- C语言程序设计第四次作业--选择结构(2)
(一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...
- JavaSE-03 Java选择结构
学习要点 if选择结构 switch选择结构 if选择结构 单分支if选择结构 语法结构 应用场合 问题:如果王小强的Java考试成绩大于98分,小强就能获得一个iphone8作为奖励. 复杂条件下的 ...
- JAVA的选择结构(二)
1.switch选择结构: 语法: switch (key) { ...
- java4选择结构 二
public class jh_01_为什么使用switch选择结构 { /* * 韩嫣参加计算机编程大赛 * 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 * 如果获得第二名,将奖励惠普笔记 ...
随机推荐
- 好玩的GeoGebra
目前,在网站上看到好多大牛写的信号方面的笔记,有很多好玩的gif好玩又让人能明白其中的原理,工欲善其事必先利其器,在写我的博客方面先来学一个好玩的数学软件吧. GeoGebra官网如图 它是一个小巧的 ...
- day7作业
# day7作业 # 1. 使用while循环输出1 2 3 4 5 6 8 9 10 count = 1 while count < 11: if count == 7: count += 1 ...
- stand up meeting 12-7
weekend updates: 1.答题界面和结果界面的跳转和数据传输已全部完成. 2.答题界面完成简单的getRankingData API结果展示,答题时间,错误数目和错题题目的展示,点击题目可 ...
- 曹工说Redis源码(7)-- redis server 的周期执行任务,到底要做些啥
文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...
- [转载]MySQL中int(11)最大长度是多少?
原文地址:https://blog.csdn.net/allenjay11/article/details/76549503 今天在添加数据的时候,发现当数据类型为 int(11) 时,我当时让用户添 ...
- 详解 Arrays类
请关注本人博文--<详解 普通数组 -- Arrays类 与 浅克隆> Arrays类: 概述: 针对数组进行操作的工具类.它提供了对于数组的值的排序.查找等功能. 现在,本人来展示一下A ...
- Linux 日常操作
Linux 日常操作 */--> Linux 日常操作 Table of Contents 1. 查看硬件信息 1.1. 服务器型号序列号 1.2. 主板型号 1.3. 查看BIOS信息 1.4 ...
- tp3.2的__construct和_initialize方法
在tp3.2框架里面,有一个php自带的__construct()构造函数和tp3自带的构造函数_initialize()的实行顺序是先实行 php自带的__construct()构造函数 再实行 t ...
- thinkphp5--model数据操作的坑
最近用thinkphp5开发,经常用到model了来操作数据,但是操作多了,就发现他的坑了. 就好像如果你只是初始化一个model对象,但是你却用这个对象进行多次的数据操作,这时候他的数据就会发生混乱 ...
- ReportEventA 错误 ERROR_CRC
如果 level 的宏弄错了,就会出现这种奇怪的现象.