第三章 C++的三种基本控制结构

时间:2022-09-09 14:25:02

0x C++提供的三种基本控制结构


  • 顺序结构:按照先后顺序依次执行程序中的语句
  • 选择结构:按照给定条件有选择地执行程序中的语句
  • 循环语句:按照给定规则重复地执行程序中的语句

1x 第一节 C++语句


语句以分号表示结束

  • 六种C++语句
    • 声明语句:用于对程序中的各种实体进行声明、定义和初始化。
    • 表达式语句:用于对程序中的数据进行具体操作和处理。
    • 选择语句:用于实现程序的选择结构。
    • 循环语句:用于实现程序的循环结构。
    • 跳转语句:用于实现程序执行流程的变换。
    • 复合语句:用于表示程序中的语句块。

2x 第二节 顺序结构


顺序结构会按照程序的书写的先后顺序,从左到右,至上而下的执行。

2x.1 声明语句

  • 变量声明
  • 常量声明
  • 函数声明
  • 类型声明

2x.2 表达式语句

2x.3 基本输入输出

I/O操作通过标准库中的输入/输出流对象来完成。

  • 标准输入输出流对象:cin cout
  • 在使用标准输入/输出流之前必须用处理命令在引用iostream.h
        #include <iostream.h>
        using namespace std;
    
    • 输出操作 cout<<Exper<<endl;
      整个语句的含义是:将表达式Exper的值输出到屏幕上的当前光标位置。
      • Exper代表一个表达式,endl(end line的意思)是输入/输出操作符
      • 一个cout语句可以分写成为若干行,分写的行间有无分号亦可。
    • 输入操作 cin>>Var;
      • Var代表一个变量,并且支持连续性输入多项数据。
      • cin语句的一般格式为
          cin>>变量1>>变量2>>...>>变量N;
      

2x.4 符合语句和空语句

  • 复合语句:用花括号{}将若干语句包围起来而组成的一条语句:
    • 函数的函数体
    • 循环语句的循环体
    • 选择语句的分支
  • 空语句
        ;//无任何操作
    

3x 选择结构


3x.1 if语句——条件语句

  • 基本的if语句
    • 格式:if(<条件表达式>) <语句>
    • 若条件表达式的结果为真则执行后面的语句。
    • 若想执行多条语句,必须用花括号{}把后面多条语句括起来。
        *C++中规定如果条件表达式中的值不为0就是“真”*,只有为0才为“假”。
    

3x.2 if...else语句

  • 格式:
    if (<条件表达式>)
        <语句1>
    else
        <语句二>
第三章 C++的三种基本控制结构

 


3x.3 if语句的嵌套

  • 格式:
    if(<条件表达式>)
        <语句1>else
        if(<条件表达式>)
            <语句2>else
            <语句>

  • else关键字总是于它前面最近的未配对且可见的那个if关键字匹配

  • 复合语句内的if关键字对于外界是不可见的。
    例如:

        if(<条件表达式>)        //第一个if
            if(<条件表达式>)    //第二个if
                {
                    if(<条件表达式>)    //第三个if
                }
            else
                <语句>//与第二个else相匹配
    

友情提示:在真正的程序设计当中,必须要使用缩进、程序块等等手段来尽可能地避免程序可读性差,以后我会开辟博文写有关这个的方面

3x.2 switch语句——开关语句

  • 根据给定表达式不同取值来决定从语句序列中的哪一个开始执行。
  • 常用语法:
    switch (表达式)
        {
            case 常量表达式1: 语句1break;
            case 常量表达式2:语句2; break;
            ...
            case 常量表达式n: 语句n; break;
            default:语句n+1;
        }

  • 注意事项:
    • 表达式的值必须是整型、字符型或枚举型
    • 多个case标号可以共用一组语句序列,以实现对多个常量执行同一个操作
    • default标号是可选择的
    • switch语句是可以嵌套的
    • 每一个case表达式的值必须是不相同的
    • casedefault的出现次序不影响程序的运行

4x 循环结构


  • 三种循环语句:
    • for语句
    • while语句
    • do...while语句

4x.1 for语句

  • 常用格式:
    for(表达式1;表达式2;表达式3)
        {
            <语句>;
        }
    //表达式1:循环变量初始化
    //表达式2:循环条件
    //表达式3:循环变量增值
  • 注意事项:
    1. 先执行表达式1
    2. 执行表达式2,若其值为真(值为非0)执行for中指定的内嵌语句,然后再执行表达式3,重新进行判断;若其值为假(值为0).
    3. 三个表达式从语法上可以省略

4x.2 While语句——"当型循环"

  • 常用格式:
    while(条件表达式)
    {
        <语句>;
    }
  • 条件是为真(表达式为非0)时,执行while语句中的内嵌语句。
    先判断,后循环
  • 有多条语句要执行时,用花括号{}把多个语句括起来。
  • 循环体中应该有使循环体催向结束的语句。

4x.3 do...while语句——直到型循环

  • 常用格式
    do
    {  
        <语句>;
    }
    while(条件表达式)
  • while语句的区别,do...while语句先执行后判断,至少执行一次;while语句先判断后执行,可能一次也不执行。

4x.4 循环的嵌套

  • 一个循环体内又包含另外一个完整的循环结构,称为循环的嵌套
  • 三种循环体都可以互相循环。

5x 跳转语句


  • 使用跳转语句可以实现程序执行流程的无条件转换。
  • C++提供了四种跳转语句,分别是:
    • break语句
    • continue语句
    • return语句
    • goto语句

5x.1 break语句

  • 常用格式为
    break;

  • break语句可以用于多分支选择语句——switch或循环语句的跳出操作,不可单独用于其他语句

5x.2 continue语句

  • 常用格式为
    continue;
  • 其作用为结束本次循环,即跳过该次循环,继续进行下一轮的循环。
  • continuebreak的区别是:
    • continue只结束本次循环而不是终止整个循环的进行。
    • break是终止整个循环。

5x.3 return语句

  • 常用格式为:
    return ;
    //或者
    return 表达式;
  • 值得注意:
    • 只能用在函数体中
    • void类型返回值函数,其函数体必须包含一条return语句并带有一个对应类型的返回值。
    • 返回值为void的函数,可以使用第一种形式的return语句,即不带返回值。

5x.4 goto语句

  • 常用格式:
    goto <标志>;

标志常用格式

    <标志>:<语句>
  • 作用:使程序执行流程跳转到标记的语句处