前言
C语言的选择结构用于处理具有多种情况的逻辑事务,所以在正式进入选择结构的学习之前需要先对多种情况进行了解,认识关系表达式、关系运算符等内容。
关系运算符和关系表达式
关系运算符:>,<, >=, <=, ==, !=
关系表达式:由关系运算符连接的式子
关系表达式的值:0(假)或1(真)
逻辑运算符合逻辑表达式
逻辑表达式:!(非)、&&(与)、||(或)
逻辑表达式的值: 0(假)或1(真)
if语句
if语句的三种常见的形式
第一种:if(表达式)
执行语句1
第二种:if (表达式)
执行语句1
else
执行语句2
第三种: if (表达式1)
执行语句1
else if(表达式2)
执行语句2
....................
else
执行语句n
使用if语句过程中需要注意的点:
Switch语句
Switch语句格式:
switch语句的使用说明:
(1)switch后的表达式,建议为整型或字符型
(2)case后跟常量表达式,整型或字符型
(3)case与default的出现顺序不限
(4)使用break终止switch语句(通常使用break)
(5)多个case可以共用一个结果
选择结构程序示例
企业发放的奖金根据利润提成:
利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
程序分析:
从键盘输入的I为当月的利润收入,而奖金是根据利润的多少来计算的,所以根据所给的利润处于不同情况下奖金的多少来多情况讨论,依次写出表达式即可!
注意点:
(1)注意分情况讨论是的边界确定
(2)注意数据类型的确定
程序源代码如下:
#include "stdio.h"
void main()
{
long int i;
double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
printf("请输入当月利润I:");
scanf("%ld",&i);
bonus1=100000*0.1;
bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%.2f\n",bonus);
}
程序运行结果显示: