欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

13.C语言三目运算符

程序员文章站 2024-03-19 09:16:52
...

Table of Contents

一.C语言三目运算符简介

二.C语言三目运算符实战

1.使用三目运算符

2.使用if/else条件判断

 


一.C语言三目运算符简介

三目运算符,又称条件运算符,是计算机语言(C,C++,Java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符,其实三目运算符和if/else条件判断类似。

13.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.使用三目运算符

/************************************************************************/
/*@文件名           : 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语言三目运算符



                                                                        技术交流、商务合作请直接联系博主

                                                                                     扫码或搜索:猿说编程

13.C语言三目运算符

                                                                                                猿说编程

                                                                                     微信公众号 扫一扫关注