zoukankan      html  css  js  c++  java
  • 6.结构化程序设计

    结构化程序设计

    一个C程序可以由若干个源程序文件构成,一个源程序文件可以由若干个函数、预编译命令及一些可选的全局变量定义等构成,在整个程序中必须有且只有一个主函数(即main函数)。

    C语句可以分为以下五种类型:

    1. 表达式语句。

    2. 函数调用语句。

    3. 复合语句,把多个语句用花括号括起来组成的语句。

    4. 空语句,只有一个分号。

    5. 控制语句,共9种,分为三类:

      • 条件判断语句:if、switch。
      • 循环执行语句:do while、while、for。
      • 转向语句:break、goto、continue、return。

    结构化程序设计的三种基本类型为:顺序、选择、循环。

    顺序结构

    顺序结构是一种线性、有序的结构,它依次执行各语句模块。

    选择结构

    选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。

    C语言用关系运算或逻辑运算来判断条件是否得到满足,并根据计算的结果决定程序的不同流程,实现选择结构的程序设计。

    • if语句

      1. 单分支if语句

        if(expression) 
          sentence;
        
      2. 双分支if语句

        if(expression)
          sentence1;
        else
          sentence2;
        
      3. 多分支if语句

        if(expression1)
          sentence1;
        else if(expression2)
          sentence2;
        else if(expression3)
          sentence3;
        ....
        else if(expressionn)
          sentence n;
        else
          sentence n+1;
        

        注意:else与if的配对规则是,else总是与在它前面的、离它最近的、尚未与其它else匹配的if相配对。

    • switch语句

      switch(expression)
      {
        case 常量表达式1: 语句1;
        case 常量表示式2: 语句2;
        ...
        case 常量表达式n: 语句n;
        [default: 语句n+1]
      }
      

      说明

      1. switch后的表达式只能是整型、字符型或枚举型表达式。

      2. case和常量表达式之间有空格,各常量表达式的类型必须与switch后的表达式类型相同,并且其值互不相同。

      3. default语句可以没有,一般出现在所有case语句之后。当它出现在某个case语句之前,也不会改变程序对某个分支的选择顺序。

      4. case标号后的语句可以是零条、一条语句,也可以是多条语句,并且可以不用{}括起来。

      5. switch语句执行时,首先计算紧跟着switch关键字后面的表达式的值,

        当表达式的值与某一个case后面的常量表达式的值相等时,就执行该case标号后的语句,包括在其后的所有case和default中的语句,直到switch语句体结束;

        如果没有与该值相等的常量表达式,并且存在default标号,则从default标号后的语句开始执行,直到switch语句体结束;

        如果既没有与该值相等的常量表达式,也没有default标号,则跳过switch语句体,什么也不做。

      6. switch语句通常总是和break语句联合使用,使switch语句真正起到多分支结构的作用。使用方法是在每一个case之后的语句后加上一个break语句,使其强制跳出switch语句体。

    • 条件运算符

      C语言提供了一个特殊的运算符,条件运算符。它是C语言提供的唯一一个三目运算符,即条件运算表达式中要求有三个运算对象,他构成的条件表达式可以形成简单的选择结构

      语法形式:expression1?expression2:expression3

      运算解释:先求表达式1的值,若其值为真,则以表达式2的值作为整个表达式的值,否则以表达式3的值作为整个表达式的值。

    循环结构

    循环结构是反复执行某个或某些操作,直到满足某一条件时才可终止循环。

    在C语言中可以用如下语句实现循环结构:

    1. goto + if;
    2. while;
    3. do while;
    4. for;
    • 语句标号

      语句标号是给程序中的某一个语句定义的一个标识符,C程序中任何一个可执行语句之前都可以加上语句标号。

      语句标号只是用作goto语句的转向目标,如果没有用到goto语句,就没有必要出现语句标号。

      其语法形式为:语句标号:语句;

    • goto语句

      语句标号:语句;
      ...
      if(expression)
        goto 语句标号;
      

      执行说明:先判断条件,然后跳转至对应语句标号的位置形成循环。

    • while语句

      while(expression)
        循环体语句;
      

      执行说明:当表达式的值为非0时,便执行循环体语句,直到表达式的值为0时才结束循坏。

    • do-while语句

      do
        循环体语句;
      while(expression);
      

      执行说明:先执行循环体语句,再求表达式的值,当表达式的值为非0时,便执行循环体语句,直到表达式的值为0时才结束循坏。

      注意事项:do-while语句在while(expression)后有一个分号,它是do-while语句的结束标志。

    • for语句

      for(expression 1;expression 2;expression3)
        循环体语句;
      

      执行过程:

      1. 计算表达式1;
      2. 计算表达式2,若其值非零,转至步骤3。若其值为0,转至步骤5;
      3. 执行一次循环体语句;
      4. 计算表达式3,然后转至步骤2,构成循环。
      5. 结束循环。

      说明:

      1. for语句中的表达式可以部分或全部省略。
      2. 表达式1和3都可以时逗号表达式,一般用宇有两个循环变量时。
      3. 循环体语句之前不能有份好。
    • break语句

      break语句可以使流程跳出由switch语句构成的多分支结构。

      当break语句用在do-while、for或者while循环语句中时,也可以使程序终止循环,从而跳出循环结构。

    • continue语句

      continue语句只能在do-while、while和for循环语句中使用,其作用是提前结束多次循环中的某一次循环。即跳出本次循环中余下的尚未执行部分的语句,提前进行下一次循环条件的判定。

  • 相关阅读:
    网络监听主要是基于ASIHTTPRequest内的Reachability的调用
    Quartz2D之渐变使用初步
    IOS检测网络连接状态(转)
    ios xcode如何修改应用的名称
    使用CAShapeLayer与UIBezierPath画出想要的图形
    JSONValue failed. Error is: Unescaped control character [0x09]
    ASIHTTPRequest和ASIFormDataRequest 区别,GET和POST
    ios 图片压缩
    利用dispatch_once创建单例
    利用预渲染加速iOS设备的图像显示
  • 原文地址:https://www.cnblogs.com/xqisui/p/13752378.html
Copyright © 2011-2022 走看看