zoukankan      html  css  js  c++  java
  • C语言入门6-选择结构--f语句-switch

    一、     什么是选择结构?

    选择结构,也称为分支结构!!

    选择结构就是根据    给定的判定条件,判断结果,

    并根据  判断的结果   来控制程序的流程

    (流程图中,   菱形框 是有来判断的 ,这节课 我们就用到 菱形框)

    二、     选择结构的   三种情况

    选择结构也称为分支结构,可以分为三种情况

    单分支选择结构   if  

    面临的选择是:要么执行一个操作,要么跳过它

    双分支选择结构  if   else 

    面临的选择是:在两个不同的操作中选择其中的一个来执行

    多分支选择结构  if   else if 、 switch

    面临的选择是:2种以上的选择(需要连续执行多个条件判断)

    Break 不是switch 专有语句,if 里面也可以使用。

    在讲注意事项之前大家先在机器敲下下面的三段代码:

    (1)   case与后边常量表达式之间必须有  空格。

    举例子: Case1;     case 1;

    (2)   有无break都行,一般都有,作用是跳出switch.      

    case是入口   break是出口

    (3)   default是缺省值,可有可无,意思是除case 后所有情况(值)下的其它情况(值)。

    default,可有可无,顺序无所谓!!!!

    (4)   各case和default可以任意互换位置,并不影响程序和逻辑的正常运行。

    (5)  case后边的常量表达式不能出现同一个值,否则程序报错!!!

    (6)   switch 后边的  表达式   可以是任意表达式,但是结果只能是整型  或单字符型。

    (7)   case  后边可以是    任意常量表达式,     但是结果只能是整型或单字符型。(+—*/)

    三、     RAPTOR之选择结构及Raptor中的关系和逻辑运算符

    分支结构(selection)

    1.可以按条件判断,分流执行

    2.同条件语句判断别True和False

     选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。

    四、          选择结构有三种,对应的代码是 什么样的??

    程序设计语言中

    选择结构  一般有两大语法:  一是if语句;   二是switch语句。

    首先我们来学习下if语句,   if翻译成中文是   如果的意思,

    现在让你以汉语“如果”造句,你会想到什么呢?

    如果———就———否则———。

    If  (  判断条件/  表达式   )

    {

    }

    if表达式  一般为  逻辑表达式 或 关系表达式(判断的是某个区域),也可以是常量表达式,但是比较少,

    判断条件的结果只有”真”或”假”。

    判断的值:真1 假 0;

    逻辑值  只能用 0和1来表示!!!!!

    结果   可以用 真和假来表示!!!

    1. 1.        单分支语句   if

    (1)   格式

    If  (表达式)

    {

    执行语句;

    }

    如果表达式为真(成立),则执行语句,否则什么都不做。

    注意:

    if后面只有一条语句时,可以不用  {  },

    多条语句时一定要加    {  };

    但是  建议初学者if(  )  后紧接{     }。

    ****小括号后面    不加分号!!!

    ****大括号后面    不加分号!!!

     

    1. 2.        双分支语句   if-else

    (1) 格式

    if(表达式)

               { 语句1;}

    else

               { 语句2;}

    如果表达式为真(成立),则只执行语句1;否则执行语句2。

    注:if后面语句1只有一条语句时,可以不用{ },多条语句时一定要加{ };

    If   else和if一样,只有一条语句时,可以不用{ },多条语句时一定要加{ };

    所以建议   初学者if(   )后接{}再接else再接 {  }。

    1. 3.        多分支语句   if  —  else if

    (1) 格式

    if(表达式1)

    {

            语句1;

    }

    else if  (表达式2)

    {

            语句2;

    }

    else

    {

               语句3;

     }               //语句1 2 3 是可以加上{}

    如果表达式1为真(成立),则只执行语句1;

    否则再次判断表达式2,

    如果表达式2为真(成立),则执行语句2,否则执行语句3。

    注:if—else if  与if—else一样,       

    当if后只有一条语句可以不加{  },多条必须加{     };

    else后只有一条语句可以不加{   },多条必须加{     }。

    *******  else语句需与前面最接近它的�,  且没有和其它else语句配对的   if  语句配对 

    1. 4.       if语句三大形式的比较

    典型题目:else_语句需与前面最接近它的if语句进行配对。

    1. 5.       if语句的灵活应用

    通过以上案例说明,if—else或if—else if都可以转换成多个单if语句。

    但是在写程序时还是双分支选择if—else ,多分支选if—else if.

    算法—选择结构switch

    一、          switch的思想及意义:

    选择结构一般有两大语法:  一是if语句;(昨天的任务)   二是switch语句。

    程序设计中选择结构的第二大语句就是:switch语句。

    switch和if—else if一样都可以做多分支选择,

    switch语句的思想 是把程序所有可能出现的值 的情况,列出一个情况表,

    switch语句之所以被称为开关语句

    二、          switch与if比较

    switch语句又称开关语句,是选择结构的一种语法。

    switch语句与if语句相比较,一般指的是if语句的第三大形式if—else if,也就是我分支语句的比较。

    1. 1.       代码的易读性及全面性

    (1)      switch 语句写出的程序,可读性非常好,整体流程看起来清晰明确。

    (2)      if语句适应性非常强,可以处理的情况与switch比较要更加全面。

    比如说字符串比较就只能用if语句。

    1. 2.       代码的值的判断

    (1)      if表达式一般为逻辑表达式或关系表达式(判断的是某个区域,这里可以是任意表达式),也可以是常量表达式,但是比较少,判断条件的结果只有”真”或”假”。

    (2)        switch后的表达式可以是任意表达式,主要是某些情况下的某种情况的判断

    (判断的是某个值),表达式的条件的结果可以根据输入或特定情况有n多种值,根据各值选择分支。

    1. 3.       分支的多少

    (1)      if一般应用于情况比较特殊的逻辑判断,或者情况很少的选择判断。

    (2)        switch一般应用于条件判断简单,但是分支很多的情况中使用。

    1. 4.       switch的独有优点

    (1)      switch相对if来说,还有if比不了的优点就是在选择分支较多时,switch...case结构会生成跳转表,根据变量的取值跳转到合适的分支用switch...case结构会提高程序的效率

      **************

    1. 5.       所有的switch语句都可以被if—else  if替换,但是反过来则不一定。

    三、          switch语句的应用

    srwitch是开关的意思,所以有的书籍上也把它称为开关语句。switch语句主要用于选择结构多分支的情况下。

    1. 1.       switch语句的一般格式。

    switch(表达式)

     {

    case 常量表达式1:语句1; break;

        case 常量表达式2:语句2; break;

                    ... ...

        default:语句;

      }

    switch的执行过程是判断表达式的值与case后常量表达式的值哪个相等,执行相应的语句后跳出switch.

    1. 2.       switch语句的注意事项

    Break 不是switch 专有语句,if 里面也可以使用。

    在讲注意事项之前大家先在机器敲下下面的三段代码:

    (8)   case与后边常量表达式之间必须有  空格。

    举例子: Case1;     case 1;

    (9)   有无break都行,一般都有,作用是跳出switch.      

    case是入口   break是出口

    (10)default是缺省值,可有可无,意思是除case 后所有情况(值)下的其它情况(值)。

    default,可有可无,顺序无所谓!!!!

    (11)各case和default可以任意互换位置,并不影响程序和逻辑的正常运行。

    (12)      case后边的常量表达式不能出现同一个值,否则程序报错!!!

    (13)switch 后边的  表达式   可以是任意表达式,但是结果只能是整型  或单字符型。

    (14)case  后边可以是    任意常量表达式,     但是结果只能是整型或单字符型。(+—*/)

    (15)      多个case可以执行同一组语句; 其实就是1的重复,无break继续向下,直到碰到break.

    执行以下代码,运行查看效果

    不是逐条匹配的!!!!

    三个案例是:详细讲解   switch      break  

    1. 3.       switch语句的不足

    switch语句的不足在于只能进行某个值的判断,如果是某个区域如输入一个数a>90时做什么或者输入电影名称,查看电影简介,这时就只能用if—else if了。

    猜数字代码(猜错会关机哦)

    /* Note:Your choice is C IDE */
    #include "stdio.h"
    #include "stdlib.h"
    int main()
    {
        int a,b,sum;
        sum=6;
        srand((unsigned)time(NULL)); 
        a=rand()%100;
        printf("猜一猜,猜错会关机的哦
    ");
        printf("请输入数字
    ");
        while(1)
        {   
            sum--;
            scanf("%d",&b);
            printf("%d",a);
            if(b>a)
            printf("大了,还剩下%d次机会,请继续
    ",sum);
            if(b<a)
            printf("小了,还剩下%d次机会,请继续
    ",sum);
            if(b==a)
            {
                printf("恭喜你,答对了!
    ");
                break;
                
                
            }
            if(sum==0)
            {
                printf("没有机会了,系统将在60秒内关机
    ");
                system("shutdown -s -t 50");
                break;
                
                }
            
            
            
            
        }
        system("pause");
        return 0;
        
    }
  • 相关阅读:
    leetcode950
    leetcode938
    leetcode953
    推荐系统那点事儿
    极大似然估计的理解与应用
    吴恩达机器学习笔记 —— 1 绪论:初识机器学习
    吴恩达机器学习笔记 —— 3 线性回归回顾
    吴恩达机器学习笔记 —— 5 多变量线性回归
    吴恩达机器学习笔记 —— 7 Logistic回归
    吴恩达机器学习笔记 —— 8 正则化
  • 原文地址:https://www.cnblogs.com/TimVerion/p/11188364.html
Copyright © 2011-2022 走看看