当前位置:编程学习 > C/C++ >>

写给新手 选择结构程序设计总结

一:C语言有两种选择结构:

   (1):if语句,用来实现两个分支的选择结构;
   (2):switch语句,用来实现多分支的选择结构;


二:if语句:

   if语句的一般形式如下:

   if(表达式)
     语句1;
  
   或者是:

   if(表达式){
     语句1;
   }

   说明:

  【1】:if语句中的表达式可以是关系表达式,逻辑表达式,甚至是数值表达式,返回的是一个逻辑值,即真或假!
 

三:所有形式如下:

(1):单判断语句

  if(表达式1)
     语句1;
 
  或者是:

  if(表达式1){
     语句1;
  }

(2):双分支语句

  if(表达式1)
     语句1;
  else
     语句2;

  或者是:

  if(表达式1){
     语句1;
  }else{
     语句2;
  }

(3):多分支语句

  if(表达式1)
     语句1;
  else if(表达式2)
     语句2;
  ......
 
  else if(表达式n)
     语句n;
  else
     语句n+1;

  说明:
  【1】:整个语句可以写在多行上,也可以写在一行上;
   例子:
       if(x>0) y=1;else y=0;

  【2】:if语句写在多行上,都是一个整体,属于一个语句。不要误认为if部分是一个语句,else部分是另一个语句。在系统中对if语句编译的时候,还要检查是
否有else语句,如果有else语句,会把它当做if语句的部分;如果没有else语句,则认为if语句已经结束!还要注意else语句不能作为单独语句来结束,它必须和
if语句配对使用,而且是和最近的if语句配对,采用就近原则!

  【3】:if语句不加大括号,只对第一句代码有约束作用,后面的代码不在约束,会按照顺序往下执行;如果加上大括号会对括号里面的所有代码都有约束作用。

四:选择结构语句的嵌套

    if语句的嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套。

    形式如下:
  
   (1):在if语句中再嵌套if语句

    if(表达式1){
       if(表达式2){
          语句1;
    }
    }

   (2):在if语句中再嵌套双分支语句

    if(表达式1){
       if(表达式2){
          语句1;
       }else{
          语句2;
       }
    }

    (3):在if语句中嵌套多分支语句

     if(表达式1){
         if(表达式2){
            语句1;
         }else if(表达式3){
            语句2;
         }else if(表达式4){
            语句3;
         }else{
            语句4;
         }
     }

 

五:用switch语句实现多分支语句

    switch语句是多分支选择语句
    switch语句作用:根据表达式的值来使流程跳转到不同的语句。

六:一般的形式如下:

   (1):无break语句形式

    switch(表达式){

      case 常量1:
         语句1;

      case 常量2:
         语句2;
     
      case 常量3:
         语句3;
       
      default:
         语句4;

    }
    (2):有break语句形式

    switch(表达式){

      case 常量1:
         语句1;
         break;

      case 常量2:
         语句2;
         break;
     
      case 常量3:
         语句3;
         break;

      default:
         语句4;
         break;
    }

    说明:

    【1】:switch语句后面的“表达式”,其值的类型应为整数型(包括字符型)【字符型也属于整数形式,按照ASCII码来存储到计算机当中】
   
    【2】:switch语句下面的大括号是一个复合语句,一定要打上,不打则会报错!里面是case关键字和default组合的若干语句。case后面的必须跟一个常量,
或是常量表达式。被当做标号作用,用来标识一个位置。

    【3】:没有break语句,是按照顺序依次往下执行;有break语句,符合哪一种情况就执行哪一种情况下的语句,之后马上退出整个switch语句。

    【4】:switch语句的运行原理:在执行switch语句时,先计算switch后面的表达式的值,然后将它与各个case标号比较,如果与某一个case标号中的常量相同
,流程就转到此case标号的后面的语句。如果没有switch表达式相匹配的case常量。再检查有没有default语句,若有就执行default标号后面的语句,若没有则退
出整个switch语句。

    【5】:各个case标号出现的次序不影响结果,可以先出现default语句,其他case语句可以打乱。

    【6】:每一个case常量必须互不相同,否则会出现矛盾现象,重复定义系统报错!

    【7】:在case语句下不需要加大括号,会自动执行case标号语句后面的所有语句!

    【8】:多个case标号可以共用一组执行语句。如下:

     case A:
     case B:
     case C:
     printf("及格了! ");break;


七:多分支选择语句嵌套:

    (1):可以在switch中嵌套switch语句
    
     switch(表达式1){
          case 常量1:
             switch(表达式2){
                case 常量1:
                     语句1;
                  break;
                case 常量2:
                     语句2;
                  break;
             }
  &nbs

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,