一.代码引入
对于比较两个数中的最大值我们可以用if语句来实现
比如:
if(a>b)
{
max=a;
}
else
{
max=b;
}
当然我们也可以用条件运算符来表示上述问题:
max=(a>b)?a:b;
二.条件运算符的一般形式
表达式1?表达式2:表达式3;
三.如何理解条件运算符
在运算中,我们首先对于第一个表达式来进行检验,如果值为真,那么就返回第二个表达式中的值,若为假,则返回第三个表达式中的值。如上述问题中max=(a>b)?a:b;如果a>b为真,那么将a的值赋给max,若a>b为假,则将b的值赋给max。
四.举例
题目:某校园网流量的收费标准为一天一元,如果购买天数超过三十天,就按每天(包括三十天)0.75元收费,否则按原价收费。学生输入自己想购买的天数,输出其所需要花费的费用。
下面将分别展示if语句和条件运算符
条件运算符:
#include <stdio.h>
int main()
{
int days; //定义变量days表示购买的天数
float price; //定义变量price表示花费的费用
printf("请输入天数\n");//提示输入购买天数
scanf("%d",&days); //输入购买天数
price=(days>=30)?0.75*days:days; //利用条件运算符来计算得用
printf("所花的费用:%.2f元\n",price); //输出所需费用
return 0;
}
if语句
#include <stdio.h>
int main()
{
int days; //定义变量days表示购买的天数
float price; //定义变量price表示花费的费用
printf("请输入天数\n");//提示输入购买天数
scanf("%d",&days); //输入购买天数
price=(days>=30)?0.75*days:days; //利用条件运算符来计算得用
printf("所花的费用:%.2f元\n",price); //输出所需费用
return 0;
}
*/
#include <stdio.h>
int main()
{
int days;
float price;
printf("请输入天数\n");
scanf("%d",&days);
if(days>=30)
{
price=0.75*days;
printf("所花的费用:%.2f元\n",price);
}
else
{
price=days*1;
printf("所花的费用:%.2f元\n",price);
}
return 0;
}