13.C語言三目運算符

Table of Contents

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

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

1.使用三目運算符

2.使用if/else條件判斷

 


一.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語言格式控制符/佔位符

 

 

 

 

猜你喜歡:

1.C語言if/else條件判斷

2.安裝 Visual Studio 插件 Visual Assist

3.C語言佔位符/格式控制符

4.徹底卸載 Visual Studio 2008

5.徹底卸載 Visual Studio 2013/2015

 

轉載請註明猿說編程 » C語言教程 » C語言三目運算符



                                                                        技術交流、商務合作請直接聯繫博主

                                                                                     掃碼或搜索:猿說編程

python/C++教程

                                                                                                猿說編程

                                                                                     微信公衆號 掃一掃關注

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章