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("猜一猜,猜错会关机的哦\n");
    printf("请输入数字\n");
    while(1)
    {   
        sum--;
        scanf("%d",&b);
        printf("%d",a);
        if(b>a)
        printf("大了,还剩下%d次机会,请继续\n",sum);
        if(b<a)
        printf("小了,还剩下%d次机会,请继续\n",sum);
        if(b==a)
        {
            printf("恭喜你,答对了!\n");
            break;
            
            
        }
        if(sum==0)
        {
            printf("没有机会了,系统将在60秒内关机\n");
            system("shutdown -s -t 50");
            break;
            
            }
        
        
        
        
    }
    system("pause");
    return 0;
    
}

 

posted @ 2019-07-15 13:32  Timcode  阅读(1031)  评论(0编辑  收藏  举报