13.C语言 三目运算符

最后更新于:2020-06-02 20:52:23

 

一.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++中,false0两者等价,true1两者等价;

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++教程

猿说编程微信公众号 扫一扫关注