| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7003 人关注过本帖
标题:写给新手 选择结构程序设计总结
只看楼主 加入收藏
t505556855
Rank: 2
等 级:论坛游民
帖 子:27
专家分:32
注 册:2010-10-31
结帖率:100%
收藏
 问题点数:0 回复次数:6 
写给新手 选择结构程序设计总结
       选择结构程序设计总结  2010-11-2


一: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("及格了!\n");break;


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

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



八:if语句与switch语句综合嵌套使用

    (1):可在if语句嵌套switch语句

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









搜索更多相关主题的帖子: 程序设计 结构 选择 
2010-11-02 17:36
q67945985
Rank: 2
等 级:论坛游民
帖 子:68
专家分:26
注 册:2010-9-24
收藏
得分:0 
如果有几个例子会更加好的
受教了
2010-11-02 19:07
Only_Boby
Rank: 2
等 级:等待验证会员
帖 子:37
专家分:33
注 册:2010-10-28
收藏
得分:0 
if语句很经典 可以说是很实用 选择性结构固然个很重要  但那是不能因为这个结构就可以称作是结构程序设计的总结吧  呵呵  期待给出更多的介绍  顶了
2010-11-02 21:36
夜猫三三
Rank: 2
等 级:论坛游民
帖 子:16
专家分:12
注 册:2010-10-15
收藏
得分:0 

受教




2010-11-03 08:32
帝国
Rank: 3Rank: 3
来 自:云南昆明
等 级:论坛游侠
帖 子:68
专家分:144
注 册:2010-10-11
收藏
得分:0 
纯理论还是建议自己看书,论坛讨论更适合居于案例的讲解方式
2010-11-03 09:31
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:0 
帝国终于讲了一句人话
2010-11-03 09:33
帝国
Rank: 3Rank: 3
来 自:云南昆明
等 级:论坛游侠
帖 子:68
专家分:144
注 册:2010-10-11
收藏
得分:0 
以下是引用wujieru在2010-11-3 09:33:27的发言:

帝国终于讲了一句人话


难道我才被撒旦释放出来吗?
2010-11-03 09:43
快速回复:写给新手 选择结构程序设计总结
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012090 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved