• C/C++——[04] 语句


    在 C/C++语言中,语句以“ ;”结束。某些情况下,一组语句在一起共同完成某一特定的功能,可以将它们用大括号括起来。我们称之为语句组。语句组可以出现在任何单个语句出现的地方。

    1. 分支语句

    一般情况下,语句的出现顺序就是其执行顺序。但是在某些情况下,需要根据不同的运行情况而执行不同的语句组。这时可以选用分支语句。C/C++有两种分支语句: if 和 switch。

    1.1 if语句

    if语句有两种形式:

    • if(表达式){
        语句/语句组
      }
    • if(表达式){
          语句/语句组1
      }else{
          语句/语句组2
      }

    if 语句可以嵌套使用。在没有大括号来标识的情况下,else 语句被解释成与它最近的if 语句共同构成一句。

    1.2 switch语句

    switch 和 case 语句用来控制比较复杂的条件分支操作。 switch 语句的语法如下:

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

    switch 语句可以包含任意数目的 case 条件, 但是不能有两个 case 后面的常量表达式完全相同。进入 switch 语句后,首先表达式的值被计算、并与 case 后面的常量表达式逐一匹配,当与某一条 case 分支的常量表达式匹配成功时,则开始执行它后面的语句/语句组 ,然后顺序执行之后的所有语句,直到遇到一个break 语句,若无break语句则执行完default之后的语句,整个 switch 语句结束。如果表达式 与所有的常量表达式 都不相同,则从 default 后面的语句开始执行到 switch 语句结束。

    各 case 分支后的“常量表达式”必须是整数类型或字符型的。
    如果各个 case 分支后面的语句/语句组 彼此独立,即在执行完某个 case 后面的语句/语句组后,不需要顺序执行下面的语句,可以用 break 语句将这些分支完全隔开。 在 switch语句中,如果遇到 break 语句,则整个 switch 语句结束。

    default 分支处理除了明确列出的所有常量表达式以外的情况。 switch 语句中只能有一个 default 分支,它不必只出现在最后,事实上它可以出现在任何 case 出现的地方。switch 后面的表达式 与 case 后面的常量表达式 必须类型相同。 象 if 语句一样, case语句也可以嵌套使用。

    2. 循环语句

    支持程序重复执行某一段程序的循环控制语句。相关的语句有: for; while; do while; break; continue;

    2.1 for语句

    for 可以控制一个语句或语句组重复执行限定的次数。 for 的语句体可以执行零或多次,直到给定的条件不被满足。可以在 for 语句开始时设定初始条件,并在语句的每次循环中改变一些变量的值。 for 语句的语法如下:

    for(初识条件表达式;循环控制表达式;循环操作表达式){
        语句/语句组
    }

    执行一个 for 语句包括如下操作:

    1. 初始条件表达式 被分析执行。这个条件可以为空。
    2. 循环控制表达式 被分析执行。这一项也可以为空。 循环控制表达式一定
    3. 是一个数值表达式。在每次循环开始时,它的值都会被计算。计算结果有三种可能:
      • 如果循环控制表达式 为真(非零), 语句/语句组被执行;然后循环操作表达式被执行。 循环操作表达式 在每次循环结束时都会被执行。下面就是下一次循环开始, 循环操作表达式 被执行。
      • 如果循环控制表达式被省略,它的值定义为真。一个 for 循环语句如果没有循环控制表达式 ,它只有遇到 break 或 return 语句时才会结束。
      • 如果循环控制表达式 为假(零), for 循环结束,程序顺序执行它后面的语句。

     break, goto, 或 return 语句都可以结束 for 语句。 continue 语句可以把控制直接转移至 for 循环的循环控制表达式

    2.2 while语句

    while 语句重复执行一个语句或语句组,直到某个特定的条件表达式的值为假。它的语法表示如下:

    while(表达式){
        语句/语句组
    }

    式中的表达式 必须是数值表达式。 while 语句执行过程如下:

    1. 表达式被计算。
    2. 如果表达式的值为假, while下面的语句被忽略, 程序直接转到 while 后面的语句执行。
    3. 如果表达式的值为真(非零), 语句/语句组 被执行。之后程序控制转向 1。

    2.3 do-while语句

    do-while 语句重复执行一个语句或语句组,直到某个特定的条件表达式的值为假。下面是它的语法表示:

    do{
        语句/语句组
    }while(表达式); //注意这里必须以分号(;)结尾

    do-while 语句中,表达式是在语句/语句组 被执行之后计算的。所以 do 后面的语句/语句组 至少被执行一次。 其中表达式 必须是一个数值表达式。 do-while 语句的执行过程如下:

    1. do 后面的语句/语句组 被执行;
    2. 表达式 被计算。如果其值为假,则 do-while 语句结束,程序继续执行它后面的语句。如果表达式 的值为真(非零),跳转回 1 重复执行 do-while 语句。

     do-while 语句同样可以通过 break, goto, 或 return 语句结束。

    3. 循环跳转语句

    3.1 break语句

    break 语句用来结束离它最近的 switch、for、do-while或while 语句。它的语法表示如下:

    break;

    3.2 continue语句

    在 for、while或do-while 语句中,continue 语句使得其后的语句被忽略,直接回到循环
    的顶部,开始下一轮的循环。 continue 语句的语法表示如下:

    continue;

    for、while或do-while语句的下一轮循环用如下方法确定:

    1. 对于 do 或 while 语句, 下一轮循环从计算条件表达式的值开始。
    2. 对于 for 语句,下一轮循环从计算第一个循环控制条件表达式的值开始。
  • 相关阅读:
    JavaScript中的valueOf与toString方法
    CSS的历史与工作原理
    Javascript让你的网页标题飘动起来
    getElementsByClassName的原生实现
    JavaScript去除空格trim()的原生实现
    JavaScript截取中英文字符串
    Keras函数式API介绍
    R语言kohonen包主要函数介绍
    在Shell直接运行Python命令并显示
    GitHub Pages
  • 原文地址:https://www.cnblogs.com/oddcat/p/9693136.html
Copyright © 2020-2023  润新知