天天看點

C語言三目運算符 - C語言零基礎入門教程

目錄

  • ​​一.C 語言三目運算符簡介​​
  • ​二.C 語言三目運算符實戰​
  • ​​1.使用三目運算符​​
  • ​​2.使用 if / else 條件判斷​​
  • ​​三.猜你喜歡​​
零基礎 C/C++ 學習路線推薦 : ​​C/C++ 學習目錄​​ >> ​​C 語言基礎入門​​

一.C 語言三目運算符簡介

​​三目運算符​​,又稱條件運算符,是計算機語言(​

​[C](https://www.codersrc.com/c%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80)​

​,​​C++​​,​

​Java​

​等)的重要組成部分。它是唯一有 3 個操作數的運算符,是以有時又稱為三元運算符,其實三目運算符和 ​​if / else 條件判斷​​類似。

C語言三目運算符 - C語言零基礎入門教程

三目運算符的書寫:

//三目運算符
<表達式1> ? <表達式2> : <表達式3>;
      

傳回值:先求表達式 1 的值,如果為真,則執行表達式 2,并傳回表達式 2 的結果;如果表達式 1 的值為假,則執行表達式 3,并傳回表達式 3 的結果。

舉個例子:對于條件表達式 b ? x : y,先判斷條件 b 真假,如果 b 的值為 true ,那麼傳回表達式 x 的計算結果;否則,計算 y 的值,傳回表達式 y 的計算結果。

一個條件表達式絕不會既計算 x,又計算 y(就好比在 if / else 條件判斷中,不可能既執行 if 後的代碼又執行 else 之後的代碼)。

注意:在 ​​C 語言​​中,結果 1 和 結果 2 的類型必須一緻。對于上面的代碼,使用 if / else 條件判斷同樣也能實作:

//if/else條件判斷
if(<表達式1>)
{
  //<表達式2>
}
else
{
  //<表達式3>
}
      

二.C 語言三目運算符實戰

對于以下代碼,我們分别使用​​三目運算符​​和 ​​c 語言條件判​​斷完成,示例如下:

1.使用三目運算符

/************************************************************************/
//@Author:猿說程式設計
//@Blog(個人部落格位址): www.codersrc.com
//@File:C語言三目運算符
//@Time:2021/05/28 08:00
//@Motto:不積跬步無以至千裡,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/************************************************************************/

#include "stdafx.h"
#include <stdio.h>


int main()
{

  int a = 1;
  int b = 2;
  int c = 0;
  //三目運算符傳回整數
  c = a ? (a + b) : (a - b);//因為表達式1(a=1),條件為真,是以執行表達式2,傳回a+b的結果
  printf("整數c = %d\n",c);
  //三目運算符傳回字元串
  char *s = 0 ? "條件成立" : "條件不成立";//因為表達式1(0),條件為假,是以執行表達式3,傳回字元串"c條件不成立"
  printf("字元串s = %s\n", s);

  printf("main函數結束!\n");
  return 0;
}
/*
輸出結果:

整數c = 3
字元串s = 條件不成立
main函數結束!
請按任意鍵繼續. . .

*/
      

2.使用 ​

​if​

​ / ​

​else​

​ 條件判斷

/************************************************************************/
//@Author:猿說程式設計
//@Blog(個人部落格位址): www.codersrc.com
//@File:C語言三目運算符
//@Time:2021/05/28 08:00
//@Motto:不積跬步無以至千裡,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/************************************************************************/

#include "stdafx.h"
#include <stdio.h>


int main()
{

  int a = 1;
  int b = 2;
  int c = 0;
  if (a)
    c = a + b;
  else
    c = a - b;
  printf("整數c = %d\n",c);

  char *s = NULL; //初始化
  if (0) // 0等價于false
    s = "條件成立";
  else
    s = "條件不成立";
  printf("字元串s = %s\n", s);

  printf("main函數結束!\n");
  return 0;
}
/*
輸出結果:

整數c = 3
字元串s = 條件不成立
main函數結束!
請按任意鍵繼續. . .

*/
      

注意:

  • 1.不管是​

    ​C​

    ​或者​

    ​C++​

    ​中,​

    ​false​

    ​ 和 ​

    ​0​

    ​ 兩者等價,​

    ​true​

    ​1​

    ​兩者等價;
  • 2.字元串占位符是 ​

    ​%s​

    ​ ,整形占位符是 ​

    ​%d​

    ​ ,其他 ​

    ​C​

    ​ 語言變量類型占位符請參考:​​C 語言格式控制符/占位符​​

三.猜你喜歡

  1. ​​安裝 Visual Studio​​
  2. ​​安裝 Visual Studio 插件 Visual Assist​​
  3. ​​Visual Studio 2008 解除安裝​​
  4. ​​Visual Studio 2003/2015 解除安裝​​
  5. ​​設定 Visual Studio 字型/背景/行号​​
  6. ​​C 語言 Hello World​​
  7. ​​C 語言代碼注釋​​
  8. ​​C 語言資料類型 / 變量類型​​
  9. ​​C 語言變量聲明和定義​​
  10. ​​C 語言格式控制符/占位符​​
  11. ​​C 語言 printf 函數​​
  12. ​​C 語言條件判斷 if / else​​
  13. ​​C 語言邏輯運算符​​
  14. ​​C 語言三目運算符​​

繼續閱讀