基础语法-选择结构

· · 个人记录

基础语法-选择结构

2019.12.21

一、 if 选择结构

Ⅰ. if 语句

使用方式:

if (条件表达式) {执行内容}
if (a<=10) {a++;}

\color{red}\text{条件表达式} 成立时, \color{red}\text{执行内容} 才会被执行,否则会被跳过。

Ⅱ. else 语句

使用方式:

if (条件表达式) {执行内容1}
else {执行内容2}

if (a<=10) {a++;}
else {a--;}

\color{red}\text{条件表达式} 成立时, \color{red}\text{执行内容1} 会被执行,否则 \color{red}\text{执行内容2} 会被执行。

Pascal 相同, C++ if 也可以嵌套。

Ⅲ. 三目运算符 ?:

使用方式:

变量=条件表达式?值1:值2;

a=3==9?1:2;
结果:a=2

\color{red} \text{条件表达式} 成立时,变量为 \color{red}\text{值1} ,否则变量为 \color{red} \text{值2}

二、 switch 选择结构

使用方式:

switch (表达式)
{
case 常量表达式1:
     执行内容1;
     break;
case 常量表达式2:
     执行内容2;
     break;
case 常量表达式3:
     执行内容3;
     break;
......
default:
     执行内容n;
}

a=1;
switch (a)
    {
    case 2:
        printf("b");
    case 1:
        printf("a");
    }
输出:a

a=1;
switch (a)
    {
    case 1:
        printf("a");
    case 2:
        printf("b");
    }
输出:ab
①计算出 $ switch $ 后面圆括号内表达式的值,假定为 $ M $ ,若它不是整型,系统将自动舍去其小数部分,只取其整数部分作为结果值。 ②依次计算出每个 $ case $ 后常量表达式的值,假定它们为 $ M_1,M_2,\cdots $ ,同样若它们的值不是整型,则自动转换为整型。 ③让 $ M $ 依次同 $ M_1,M_2,\cdots $ 进行比较,一旦遇到 $ M $ 与某个值相等,则就从对应标号的语句开始执行;在碰不到相等的情况下,若存在 $ default $ 语句,则就执行其冒号后面的语句序列,否则不执行任何操作;当执行到复合语句最后的右花括号时就结束整个 $ switch $ 语句的执行。