位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 条件运算符

提问人:刘团圆发布时间:2020-11-28

条件运算符为三目运算,包含三个操作数,三个操作数由“?”和“:”连接,其形式为:

    <表达式1> ?〈表达式2〉:〈表达式3>

条件运算符的运算规则为:先计算表达式1的值,若它的值为真(非0),则计算表达式2的值,并把它作为整个表达式的值;如果表达式1的值为假(0),则计算表达式3的值并把它作为整个表达式的值。 

    例如:

    max=x>y?x:y

先判断x>y是否成立,若成立,返回x的值,否则返回y的值。

C语言中条件运算符的优先级高于赋值运算符,其结合方向为自右至左。

【例题】员工销售额判断

    根据某员工的销售额计算销售提成,销售额小于等于1万,提成为5%,销售额大于1万,小于等于2万,提成为8%;售额大于2万,提成为10%。

    分析:条件表达式只能返回一个逻辑表达式取值为真、假两种不同情况时的值,如果当“销售 额>20000” 这个表达式成立时,提成的值为“销售额*10%”但当销售额不大于20000时,还有两种情况,即大于1万,或小于等于1万。所以在“销售额>20000”这个表达式不成立时,再嵌入一个条件表达式,以判断销售额是大于1万,还是小于等于1万。

程序如下:

#include <stdio.h>

main()

{

    int sales; 

    float tc;

    printf("please input sales\n"); 

    scanf ("%d",&sales);

    tc=(sales>20000?sales*0.1:(sales>10000?sales*0.08:sales*0.05));

    printf ("tc=%f\n",tc);

程序运行结果:

当输入30000时,输出为tc=3000 

当输入15000时,输出为tc=1200 

当输入5000时,输出为tc=250

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部