位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 條件運算符

提問人:劉團圓發(fā)布時間:2020-11-28

條件運算符為三目運算,包含三個操作數,三個操作數由“?”和“:”連接,其形式為:

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

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

    例如:

    max=x>y?x:y

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

C語言中條件運算符的優(yōu)先級高于賦值運算符,其結合方向為自右至左。

【例題】員工銷售額判斷

    根據某員工的銷售額計算銷售提成,銷售額小于等于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

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

相關視頻回答
回復(0)
返回頂部