13.C语言三目运算符
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
技术交流、商务合作请直接联系博主
扫码或搜索:猿说编程
猿说编程
微信公众号 扫一扫关注