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


目錄

零基礎 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 條件判斷類似。

三目運算符的書寫:

//三目運算符
<表達式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++中,false0 兩者等價,true1兩者等價;
  • 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 語言三目運算符

未經允許不得轉載:猿說編程 » C 語言三目運算符

本文由博客 - 猿說編程 猿說編程 發布!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM