Table of Contents
一.C語言三目運算符簡介
三目運算符,又稱條件運算符,是計算機語言(C
,C++
,Java
等)的重要組成部分。它是唯一有3個操作數的運算符,所以有時又稱爲三元運算符,其實三目運算符和if
/else
條件判斷類似。
三目運算符的書寫:
//三目運算符
<表達式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.使用三目運算符
/************************************************************************/
/*@文件名 : demo.cpp
/*@日期 : 2020/5/4 09:52
/*@作者 : 猿說編程
/*@公衆號 : 猿說編程
/*@博客 : www.shuopython.com
/*@描述 : C語言教程 - 三目運算符/條件表達式
/************************************************************************/
#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
條件判斷
/************************************************************************/
/*@文件名 : demo.cpp
/*@日期 : 2020/5/4 09:52
/*@作者 : 猿說編程
/*@公衆號 : 猿說編程
/*@博客 : www.shuopython.com
/*@描述 : C語言教程 - if/else條件表達式
/************************************************************************/
#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語言格式控制符/佔位符
猜你喜歡:
2.安裝 Visual Studio 插件 Visual Assist
5.徹底卸載 Visual Studio 2013/2015
技術交流、商務合作請直接聯繫博主
掃碼或搜索:猿說編程
猿說編程
微信公衆號 掃一掃關注