zoukankan      html  css  js  c++  java
  • 选择结构(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

  • 相关阅读:
    PHP异常与错误处理机制
    工作中图片上传遇到的一个问题
    PHP遍历目录四种方法
    ssh框架中.xml文件小技巧分离xml
    读取XML文件内容
    spring_AOP
    spring_AOP_XML
    spring_AOP_annotation
    js异步刷新局部页面
    HQL count(*)
  • 原文地址:https://www.cnblogs.com/yuling520/p/12792263.html
Copyright © 2011-2022 走看看