位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C語(yǔ)言 > 問(wèn)題詳情

C語(yǔ)言 條件運(yùn)算符

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-28

條件運(yùn)算符為三目運(yùn)算,包含三個(gè)操作數(shù),三個(gè)操作數(shù)由“?”和“:”連接,其形式為:

    <表達(dá)式1> ?〈表達(dá)式2〉:〈表達(dá)式3>

條件運(yùn)算符的運(yùn)算規(guī)則為:先計(jì)算表達(dá)式1的值,若它的值為真(非0),則計(jì)算表達(dá)式2的值,并把它作為整個(gè)表達(dá)式的值;如果表達(dá)式1的值為假(0),則計(jì)算表達(dá)式3的值并把它作為整個(gè)表達(dá)式的值。 

    例如:

    max=x>y?x:y

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

C語(yǔ)言中條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,其結(jié)合方向?yàn)樽杂抑磷蟆?/p>

【例題】員工銷(xiāo)售額判斷

    根據(jù)某員工的銷(xiāo)售額計(jì)算銷(xiāo)售提成,銷(xiāo)售額小于等于1萬(wàn),提成為5%,銷(xiāo)售額大于1萬(wàn),小于等于2萬(wàn),提成為8%;售額大于2萬(wàn),提成為10%。

    分析:條件表達(dá)式只能返回一個(gè)邏輯表達(dá)式取值為真、假兩種不同情況時(shí)的值,如果當(dāng)“銷(xiāo)售 額>20000” 這個(gè)表達(dá)式成立時(shí),提成的值為“銷(xiāo)售額*10%”但當(dāng)銷(xiāo)售額不大于20000時(shí),還有兩種情況,即大于1萬(wàn),或小于等于1萬(wàn)。所以在“銷(xiāo)售額>20000”這個(gè)表達(dá)式不成立時(shí),再嵌入一個(gè)條件表達(dá)式,以判斷銷(xiāo)售額是大于1萬(wàn),還是小于等于1萬(wàn)。

程序如下:

#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);

程序運(yùn)行結(jié)果:

當(dāng)輸入30000時(shí),輸出為tc=3000 

當(dāng)輸入15000時(shí),輸出為tc=1200 

當(dāng)輸入5000時(shí),輸出為tc=250

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部