<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言的條件運算符

            時間:2025-04-06 09:06:08 劍鋒 C語言 我要投稿

            C語言的條件運算符

              條件運算符是一個程序開發的術語,優先級高于賦值、逗號運算符,低于其他運算符。下面是小編分享的C語言的條件運算符,歡迎大家參考!

              C語言的條件運算符

              如果希望獲得兩個數中最大的一個,可以使用 if 語句,例如:

              if(a>b){ max = a;}else{ max = b;}

              不過,C語言提供了一種更加簡單的方法,叫做條件運算符,語法格式為:

              表達式1 ? 表達式2 : 表達式3

              條件運算符是C語言中唯一的一個三目運算符,其求值規則為:如果表達式1的值為真,則以表達式2 的值作為整個條件表達式的值,否則以表達式3的值作為整個條件表達式的值。條件表達式通常用于賦值語句之中。

              上面的 if else 語句等價于:

              max = (a>b) ? a : b;

              該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。

              讀者可以認為條件運算符是一種簡寫的 if else,完全可以用 if else 來替換。

              使用條件表達式時,還應注意以下幾點:

              1) 條件運算符的優先級低于關系運算符和算術運算符,但高于賦值符。因此

              max=(a>b) ? a : b;

              可以去掉括號而寫為

              max=a>b ? a : b;

              2) 條件運算符?和:是一對運算符,不能分開單獨使用。

              3) 條件運算符的結合方向是自右至左。例如:

              a>b ? a : c>d ? c : d;

              應理解為:

              a>b ? a : ( c>d ? c : d );

              這也就是條件表達式嵌套的情形,即其中的表達式又是一個條件表達式。

              用條件表達式重新編程,輸出兩個數中的最大值:

              #includeint main(){ int a, b; printf("Input two numbers:"); scanf("%d %d", &a, &b); printf("max=%d ", a>b?a:b); return 0;}

              運行結果:

              Input two numbers:23 45

              max=45

              C語言賦值運算符

              簡單賦值運算符記為“=”,由“=”連接的式子稱為賦值表達式。以下是小編為大家搜索整理的C語言賦值運算符,歡迎大家閱讀!更多精*內容請及時關注我們應屆畢業生考試網!

              其一般形式為:

              變量=表達式

              例如:

              x=a+b

              w=sin(a)+sin(b)

              y=i+++--j

              賦值表達式的功能是計算表達式的值再賦予左邊的變量。賦值運算符具有右結合*,因此a=b=c=5可理解為a=(b=(c=5))。

              在其它高級語言中,賦值構成了一個語句,稱為賦值語句。而在C中,把“=”定義為運算符,從而組成賦值表達式。凡是表達式可以出現的地方均可出現賦值表達式。

              例如:式子x=(a=5)+(b=8)是合法的。它的意義是把5賦予a,8賦予b,再把a,b相加,和賦予x,故x應等于13。

              在C語言中也可以組成賦值語句,按照C語言規定,任何表達式在其未尾加上分號就構成為語句。因此如x=8;a=b=c=5;都是賦值語句,在前面各例中我們已大量使用過了。

              類型轉換

              如果賦值運算符兩邊的數據類型不相同,系統將自動進行類型轉換,即把賦值號右邊的類型換成左邊的類型。具體規定如下:

              實型賦予整型,舍去小數部分。

              整型賦予實型,數值不變,但將以浮點形式存放,即增加小數部分(小數部分的值為0)。

              字符型賦予整型,由于字符型為一個字節,而整型為二個字節,故將字符的ASCII碼值放到整型量的低八位中,高八位為0。整型賦予字符型,只把低八位賦予字符量。

              【例3-18】

              #include

              intmain(void){

              inta,b=322;

              floatx,y=8.88;

              charc1=k,c2;

              a=y;

              x=b;

              a=c1;

              c2=b;

              printf("%d,%f,%d,%c",a,x,a,c2);

              return0;

              }

              本例表明了上述賦值運算中類型轉換的規則。a為整型,賦予實型量y值8.88后只取整數8。x為實型,賦予整型量b值322,后增加了小數部分。字符型量c1賦予a變為整型,整型量b賦予c2后取其低八位成為字符型(b的低八位為01000010,即十進制66,按ASCII碼對應于字符B)。

              注意:經大家反饋,筆者發現上面的例子容易造成誤解,現已對代碼進行更改,更改時間2014-07-0409:12:45,看評論的讀者請注意評論時間,不要混淆。

              更改后的代碼如下:

              #include

              intmain(void){

              inta,c,b=322;

              floatx,y=8.88;

              charc1=k,c2;

              a=y;

              x=b;

              c=c1;

              c2=b;

              printf("a=%d,x=%f,c=%d,c2=%c\n",a,x,c,c2);

              return0;

              }

              輸出結果:

              a=8,x=322.000000,c=107,c2=B

              復合的賦值運算符

              在賦值符“=”之前加上其它二目運算符可構成復合賦值符。如+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。

              構成復合賦值表達式的一般形式為:

              變量雙目運算符=表達式

              它等效于

              變量=變量運算符表達式

              例如:

              a+=5等價于a=a+5

              x*=y+7等價于x=x*(y+7)

              r%=p等價于r=r%p

            【C語言的條件運算符】相關文章:

            C語言條件運算符02-25

            C語言輔導:C語言運算符表06-17

            C語言賦值運算符05-31

            C語言關系運算符08-04

            C語言中的運算符03-07

            c語言算術運算符07-23

            C語言邏輯運算符02-07

            C語言復合賦值運算符05-12

            C語言入門知識:運算符07-27

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院