方法①:if else if 语句
#include <stdio.h>
void main()
{
long profit; //所接工程的利润
float ratio; //提成比例
float salary = 500; //薪水,初始值为保底500
printf("input profit;"); //提示输入所接工程的利润
scanf("%ld",&profit); //输入所接工程的利润
//计算提成比率
if(profit<=1000)
ratio = 0;
else if(profit<=2000)
ratio = (float)0.10
else if(profit<=5000)
ratio = (float)0.15
else if(profit<=10000)
ratio = (float)0.20
else ratiol = (float)0.25
salary += profit * ratiol; //计算当月薪水
printf("salary=%.2f\n",salary); //输出结果
}
方法②:多个 if 语句
#include <stdio.h>
void main()
{
long profit; //所接工程的利润
float ratio; //提成比例
float salary = 500; //薪水,初始值为保底500
printf("input profit;"); //提示输入所接工程的利润
scanf("%ld",&profit); //输入所接工程的利润
//计算提成比率
if(profit<=1000)
ratio = 0;
if(1000<profit && profit<=2000)
ratio = (float)0.10;
if(2000<profit && profit<=5000)
ratio = (float)0.15
if(5000<profit && profit<=10000)
ratio = (float)0.20
if(profit>10000)
ratio = (float)0.25
salary += profit * ratio; //计算当月薪水
printf("salary=%.2f\n",salary); //输出结果
}
方法③:switch 语句
#include <stdio.h>
void main()
{
long profit;
int grade;
float ratio;
float salary = 500;
printf("input profit");
scanf("%ld",&salary);
grade = (profit - 1)/1000;
switch(grade)
{
case 0: ratio = 0; break;
case 1: ratio = (float)0.10; break;
case 2:
case 3:
case 4: ratio = (float)0.15; break;
case 5:
case 6:
case 7:
case 8:
case 9: ratio = (float)0.20; break;
default: ratio = (float)0.25;break;
}
salary = profit * ratio;
printf("salary=%2f\n",salary);
}
#include <stdio.h>
void main()
{
int year,leap = 0; //leap=0,预置为非闰年
printf("input year"); //提示输入年份
scanf("%d",&year); //输入年份
if(year % 4 == 0) //如果被4整除
if(year % 4 != 0) //如果不被100整除
leap = 1; //闰年
if(year % 400 ===0)
leap = 1; //闰年
//输出结果
if(leap) //如果leap==1
printf("%d is leap year;\n",year);
else
printf("%d is not leap year;\n",year);
}
#include <stdio.h>
void main()
{
float a, b; //存放两个数的变量
int tag = 0; //运算合法的标志,0--合法,1--非法
char ch; //运算符变量
float result; //运算结果变量
printf("input two number : "); //提示输入两个数
scanf("%f%f",&a,&b); //输入两个数字
fflush(stdin); //清键盘缓冲区
printf("input arthmetic lable(+ - * /) : "); //提示输入运算符
scanf("%c",&ch); //输入运算符
switch(ch) //根据运算符来进行相关的运算
{
case '+': result = a + b; break; //加法运算
case '-': result = a - b; break; //减法运算
case '*': result = a * b; break; //乘法运算
case '/':
if(!b) //除法运算,且判断除数是否为0
{
printf("divisor is zero !\n"); //显示除数为0
tag = 1; //运算非法标志
}else //除数不为0
result = a / b; //计算商
break;
default: printf("illegal arthmetic lable\n"); //非法的运算符
tag = 1; //运算非法标志
}
if(!tag) //运算合法,显示运算结果
printf("%.2f %c %.2f = $.2f\n",a, ch, b, result);
}
C语言程序的执行部分是由语句组成的
程序的功能也是由执行语句实现的
C中的语句可以分为表达式语句、函数调用语句、复合语句、空语句及控制语句五类
C语言提供了多种形式的条件语句以构成选择结构
if语句主要用于单项选择
if-else语句主要用于双向选择
if-else-if语句和switch语句用于多项选择
任何一种选择结构都可以用if语句来实现,但并非所有的if语句都有等价的switch语句。switch语句只能用来实现以相等关系作为选择条件的选择结构。