vlambda博客
学习文章列表

C语言——选择结构1


经过我们前两天对C语言顺序结构的学习,大家是不是对C语言有了跟浓厚的兴趣呢?今天我们将开始全新的C语言内容,那就是选择结构。






选择结构主要分为两种,一种是 if else 选择,还有一种是 switch 选择。这两种结构的不同之处就在于选项的多少。对于同一个判定条件,if else 语句只能选择是或不是,但 switch 语句却有着更为详细的分支,不同的答案有不同的结果。让我们一起通过一个例子来详细了解这两种结构吧!




企业发放的奖金根据利润提成。利润 I 低于或等于100 000元的,奖金可提成10%;

利润高于100 000元,低于200 000元(100 000< I ≤200000)时,低于100 000元的部分按10%提成,高于100000元的部分,可提成7.5%;

200000< I ≤400000时,低于200000元的部分仍按上述办法提成(下同)。高于200000元的部分按5%提成;

400000< I ≤600000元时,高于400000元的部分按3%提成;

600000< I ≤1 000 000时,高于600000元的部分按1.5%提成;

I >1 000 000时,超过1 000000元的部分按1%提成。从键盘输人当月利润 I ,求应发奖金总数。
      要求:


      (1)用switch语句编程序;
      (2)用if语句编程序。

首先,让我们一起来看一下 switch 语句编写的情况。

C语言——选择结构1

我们分析题目的含义,很明显不是非此即彼的问题,所以这道题是比较适合用 switch 语句编写的。下面让我们来具体了解一下 switch 语句的有关情况。

  1. switch 语句的一般形式如下:

    switch(表达式)

    {

    case 常量1:语句1;

    case 常量2:语句2;



    default:       语句n;

    }

  2. switch 语句下的花括号是一个复合语句,是switch 语句的语句体。语句体中包含多个以关键字 case 开头的语句和至多一个以 default 开头的语句。case 后跟一个常量或者常量表达式。case 后的常量与 default 都成为标号,用来标记一个位置。

  3. switch 语句的执行流程是:先计算 switch 括号中表达式的值,然后与 case 的标号相比较,如果相同,则执行 case 后面的语句。如果没有相同的,则执行 default 后面的语句。

  4. 可以没有 default 标号,此时如果没有与 switch 表达式相匹配的 case 常量,则不执行任何语句。

  5. 每一个 case 标号必须不相同。

  6. 在执行完一个 case 标号后的语句后,就不再进行匹配判断,直接从此标号后的语句全部执行一遍,所以一般情况下,我们会在 case 标号的语句后面加一个 break 语句,使流程跳出 switch 语句。

  7. 多个 case 标号可以共享一组执行语句。如

    case 1:

    case 2:

    case 3:printf("hello world!\n");break;

C语言——选择结构1

再让我们来一起看一下 if 语句的编写情况。

C语言——选择结构1

对于这种题目是不太适合用 if 语句的,所以我们只能不断地调用 if 函数去实现我们的目的。但是,其实 if 函数的一般形式是这样的:

if(表达式) 语句1;

else 语句2;

对于 if 语句,我们有如下的讲解:

  1. if 语句中的表示式可以是 关系表达式,逻辑表达式,数值表达式,else 语句是可选项,可以有也可以没有。

  2. 对于 if 语句,我们还可以有另一种表达形式:

    if(表达式1) 语句1;

    else if(表达式2) 语句2;

    else if(表达式3) 语句3;

    即在 else 的部分又嵌套了多层的 if 语句。

今天关于选择结构就先说到这里了。

喜欢点个关注吧!明天我们继续。