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(11)UI之图片自动轮播

    AJ分享,必须精品 先看效果 代码 #import "NYViewController.h" #define kImageCount 5 @interface NYViewCont ...

  2. Jenkins 批量创建任务的三种方法

    最近,要搭建多套测试环境,需要把 Jenkins 中 dev 视图下的所有任务批量复制到 sit 等视图下. 说明 Jenkins 任务名称规则为:[测试环境标识]-[工程名称],如:dev-daod ...

  3. Python变量详解

    Python变量详解 目录 Python变量详解 一.变量的定义 二.变量组成的三部分 2.1 变量名 2.1.1 变量名的命名规范 2.1.2 变量名的命名风格 2.2 赋值符号 2.3 变量值 三 ...

  4. docker 概览 (1)

    Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.容器是完全使 ...

  5. E - Farthest Nodes in a Tree

    Given a tree (a connected graph with no cycles), you have to find the farthest nodes in the tree. Th ...

  6. 跑Linux内存占用率的shell脚本

    #!/bin/bash ################################################################ # Mem Used Script # eg. ...

  7. golang依赖管理

    目录 使用GOPATH管理依赖 临时GOPATH 依赖查找路径 使用GOVENDER管理依赖 使用GO111MODULE管理依赖 Usage 常用命令列表 不常用命令 使用示例 开启GO111MODU ...

  8. pytorch seq2seq闲聊机器人加入attention机制

    attention.py """ 实现attention """ import torch import torch.nn as nn im ...

  9. 不使用tomcat,仅适用javaSE手写服务器--模拟登陆

    1.搭建框架 我们只是简单模拟,框架简单分三个模块 a,服务器端server包 b,servlet,根据不同的请求url,利用反射生产对应的servlet c,IO工具包,用来关闭IO流 d,编写we ...

  10. 理解java容器底层原理--手动实现LinkedList

    Node java 中的 LIinkedList 的数据结构是链表,而链表中每一个元素是节点. 我们先定义一下节点: package com.xzlf.collection; public class ...