三目运算符的含义是?

作者&投稿:茹关 (若有异议请与网页底部的电邮联系)
单目运算符,双目运算符,三目运算符分别什么意思。为什么是单目,双目,三目~

运算所需变量为两个的运算符叫做双目运算符·或者要求运算对象的个数是2的运算符称为双目运算符 三目类推。
单目运算符是运算所需变量为一个的运算符,又叫一元运算符
举例
单目 a++
双目 a+b
三目 a?b:c

C语言三目运算符用法:
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
? : ; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。

扩展资料:
三目运算符,又称条件运算符,指的是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。
以下是关于条件运算符的几点说明:
(1) 通常情况下,表达式1是关系表达式或逻辑表达式,用于描述条件表达式中的条件,表达式2和表达式3可以是常量,变量或表达式。例如:
(x==y)?'Y':'N'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='A'&&ch<='Z')?(ch+32):ch
以上均为合法的条件表达式。
(2) 条件表达式的执行顺序为:先求解表达式1,若值为非0,表示条件为真,则求解表达式2,此时表达式2的值就作为整个条件表达式的值;
若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值。例如:
(a>=0)?a:-a 执行结果是a的绝对值。
(3) 在程序中,通过把条件表达式的值直接赋予某个变量。例如:
min=(a<b)?a:b执行结果就是将条件表达式的值赋予变量min,即将a和b二者中较小的数赋给min。
(4) 条件表达式的优先级别仅高于赋值运算符,而低于前面遇到过的所有运算符。
因此,min=(a<b)?a:b括号可以不要,可直接写成,min=a<b?a:b如果有x<y?x+1:y-1等效于x<y(x+1):(y-1)而不等效于(x<y?x+1:y)-1
(5) 条件运算符的结合方向为"自右至左".
(6) 条件表达式允许嵌套,即允许条件表达式中的表达式2和表达式3又是一个条件表达式。例如:
x>0?1:x<0?-1:0
上述条件表达式中,表达式3部分又是一个条件表达式.根据条件表达式的结合性,上述条件表达式等价于:
x>0?1:(x<0?-1:0)
其作用是判断x的符号情况.当x为正数时,该条件表达式的值为1;当x为负数时,该条件表达式的值为-1;当x为0时,该条件表达式的值为0。
(7) 条件表达式不能取代一般的if语句,仅当if语句中内嵌的语句为赋值语句(且两个分支都给同一变量赋值)时才能代替if语句。例如:
if(a%2==0)printf("even/n");elseprintf("odd/n");
该语句的作用是:若 a 为偶数,输出 even;若 a 为奇数,输出odd。
(8) 表达式1,表达式2,表达式3的类型可以不同.此时条件表达式的值的类型为它们中较高的类型。
参考资料:
三目运算符-百度百科
C语言运算符-百度百科

三目运算符是指一个运算符号,这个运算符号需要三个逻辑运算量参与。本人知识有限暂时举不出例子。但可以参考双目运算符如“ ”,单目运算符如“-”(负号)。

不一样!下面的那个先算()里的!
\\\\\\\\\\\\\\
Turbo C运算符的优先次序
━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━
表达式 ┃优先级
————————————————————————————╂————
()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员) ┃ 最高
————————————————————————————┃ ↑
!(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址) ┃ │
————————————————————————————┃ │
*(指针所指内容) type(函数说明) sizeof(长度计算) ┃ │
————————————————————————————┃ │
*(乘) /(除) %(取余) ┃ │
————————————————————————————┃ │
+(加) -(减) ┃ │
————————————————————————————┃ │
<>(位右移) ┃ │
————————————————————————————┃ │
<(小于) (大于) >=(大于等于) ┃ │
————————————————————————————┃ │
==(等于) !=(不等于) ┃ │
————————————————————————————┃ │
&(位与) ┃ │
————————————————————————————┃ │
^(位异或) ┃ │
————————————————————————————┃ │
|(位或) ┃ │
————————————————————————————┃ │
&&(逻辑与) ┃ │
————————————————————————————┃ │
||(逻辑或) ┃ │
————————————————————————————┃ │
?:(?表达式) ┃ │
————————————————————————————┃ │
= += -=(联合操作) ┃ │
————————————————————————————┃ │
,(逗号运算符) ┃ 最低

c语言运算符优先级
Turbo C的运算符非常丰富, 主要分为三大类: 算术运算符, 关系运算符与
逻辑运算符, 按位运算符。除此之外, 还有一些用于完成特殊任务的运算符。下
面分别进行介绍。

5.1 算术运算符
Turbo C的算术运算符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
————————————————————————————
+ 加, 一目取正
- 减, 一目取负
* 乘
/ 除
% 取模
-- 减1
++ 加1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━

一、一目和二目操作
一目操作是指对一个操作数进行操作。例如: -a是对a进行一目负操作。
二目操作(或多目操作)是指两个操作数(或多个操作数)进行操作。
在Turbo C中加、减、乘、除、取模的运算与其它高级语言相同。需要注意
的是除法和取模运算。
例如:
15/2 是15除以2商的整数部分7
15%2 是15除以2的余数部分1
对于取模运算符"%", 不能用于浮点数。
另外, 由于Turbo C中字符型数会自动地转换成整型数, 因此字符型数也可
以参加二目运算。
例如:
main()
{
char m, n; /*定义字符型变量*/
m='c'; /*给m赋小写字母'c'*/
n=m+'A'-'a'; /*将c中的小写字母变成大写字母'B'后赋给n*/
...
}
上例中m='c'即m=98, 由于字母A和a的ASCII码值分别为65和97。这样可以将
小写字母变成大写字母, 反之, 如果要将大写字母变成小写字母, 则用c+ 'a'
-'A'进行计算。

二、增量运算
在Turbo C中有两个很有用的运算符, 在其它高级语言中通常没有。这两个
运算符就是增1和减1运算符"++"和"--", 运算符"++"是操作数加1, 而"--" 则是
操作数减1。
例如:
x=x+1 可写成x++, 或++x
x=x-1 可写成x--, 或--x
x++(x--)与++x(--x)在上例中没有什么区别, 但x=m++和x=++m却有很大差别。
x=m++ 表示将m的值赋给x后, m加1。
x=++m 表示m先加1后, 再将新值赋给x。

三、赋值语句中的数据类型转换
类型转换是指不同类型的变量混用时的类型改变。
在赋值语句中, 类型转换规则是:
等号右边的值转换为等号左边变量所属的类型。
例如:
main()
{
int i, j; /*定义整型变量*/
float f, g=2.58; /*定义浮点型变量*/
f=i*j; /*i与j的乘积是整型数, 被转换成为浮点数赋给f*/
i=g; /*g中的浮点型数转换成为整型数赋给i*/
...
}
由于Turbo C按上述数据类型转换规则, 因此在作除法运算时应特别注意。
例如:
main()
{
float f;
int i=15;
f=i/2;
}
上面程序经运行后, f=7并不等于准确值7.5。正确的程序应该是:
main()
{
float f;
int i=15;
f=i/2.0;
}
也可直接将i定义为浮点数。

5.2 关系运算符和逻辑运算符
一、逻辑运算符
逻辑运算符是指用形式逻辑原则来建立数值间关系的符号。
Turbo C的逻辑运算符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
—————————————————————————————
&& 逻辑与
|| 逻辑或
! 逻辑非
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

二、关系运算符
关系运算符是比较两个操作数大小的符号。
Turbo C的关系运算符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
—————————————————————————————
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
关系运算符和逻辑运算符的关键是真(true)和假(false)的概念。Turbo C中
true可以是不为0的任何值, 而false则为0。 使用关系运算符和逻辑运算符表达
式时, 若表达式为真(即true)则返回1, 否则, 表达式为假(即false), 则返回0。
例如:
100>99 返回1
10>(2+10) 返回0
!1&&0 返加0
对上例中表达式!1&&0, 先求!1和先求1&&0将会等于出不同的结果, 那么何
者优先呢? 这在Turbo C中是有规定的。 有关运算符的优先级本节后面将会讲到。

5.3 按位运算符
Turbo C和其它高级语言不同的是它完全支持按位运算符。这与汇编语言的
位操作有些相似。
Turbo C中按位运算符有:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
————————————————————————————
& 位逻辑与
| 位逻辑或
^ 位逻辑异或
- 位逻辑反
>> 右移
<< 左移
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
按位运算是对字节或字中的实际位进行检测、设置或移位, 它只适用于字符
型和整数型变量以及它们的变体, 对其它数据类型不适用。
关系运算和逻辑运算表达式的结果只能是1或0。 而按位运算的结果可以取0
或1以外的值。
要注意区别按位运算符和逻辑运算符的不同, 例如, 若x=7, 则x&&8 的值为
真(两个非零值相与仍为非零), 而x&8的值为0。
移位运算符">>"和"<<"是指将变量中的每一位向右或向左移动, 其通常形式
为:
右移: 变量名>>移位的位数
左移: 变量名<<移位的位数
经过移位后, 一端的位被"挤掉", 而另一端空出的位以0 填补, 所以,
Turbo C中的移位不是循环移动的。
5.4 Turbo C的特殊运算符
一、"?"运算符
"?"运算符是一个三目运算符, 其一般形式是:
?:;
"?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把
它作为整个表达式的值; 如果表达式1 的值为假, 则求表达式3 的值并把它作为
整个表达式的值。
例如:
main()
{
int x, y;
x=50;
y=x>70?100:0;
}
本例中, y将被赋值0。如果x=80, y将被赋值100。
因此, "?"运算符可以代替某些if-then-else形式的语句。

二、"&"和"*"运算符
"&"运算符是一个返回操作数地址的单目操作符。
"*"运算符是对"&"运算符的一个补充, 它返回位于这个地址内的变量值, 也
是单目操作符。
例如:
main()
{
int i, j, *m;
i=10;
m=&i; /*将变量i的地址赋给m*/
j=*m; /*地址m所指的单元的值赋给j*/
}
上面程序运行后, i=10, m为其对应的内存地址, j的值也为10。

三、","运算符
","运算符用于将多个表达式串在一起, ","运算符的左边总不返回, 右边表
达式的值才是整个表达式的值。
例如:
main()
{
int x, y;
x=50;
y=(x=x-5, x/5);
}
上面程序执行后y值为9, 因为x的初始值为50, 减5后变为45, 45除5为9赋给
y。

四、sizeof运算符
sizeof运算符是一个单目运算符, 它返回变量或类型的字节长度。
例如:
sizeof(double) 为8
sizeof(int) 为2
也可以求已定义的变量, 例如:
float f;
int i;
i=sizeof(f);
则i的值将为4。

五、联合操作
Turbo C中有一特殊的简写方式, 它用来简化一种赋值语句, 适用于所有的
双目运算符。其一般形式为:
=
相当于
=
例如:
a=a+b 可写成 a+=b
a=a&b 可写成 a&=b
a=a/(b-c) 可写成 a/=b-c
5.5 Turbo C运算符的优先级
Turbo C规定了运算符的优先次序即优先级。 当一个表达式中有多个运算符
参加运算时, 将按下表所规定的优先级进行运算。表中优先级从上往下逐渐降低,
同一行优先级相同。
例如:
表达式 10>4&&!(100<99)||3<=5 的值为1
表达式 10>4&&!(100<99)&&3<=5 的值为0

假如

int i = 3;

i > 5 ? i = 1 : i = 2;

上面的就是三目运算, i大于5显然不满足,那就取?后面第二个表达式 就是 i = 2

如果 i 大于 5 的话那i 就是取问号后面第一个表达式 就是 i = 1

需要三个操作数的运算符

就是楼上那位的那个意思


单目运算符与双目运算符有什么区别?
单目运算符和双目运算符的区别只有一个,那就是操作数(变量或常量)数量的不同。单目运算符只对一个操作数进行逻辑运算。比如: num++(自增) , num--(自减) , !num(取非值) , ~num(按位取反)。双目运算符只对两个操作数进行逻辑运算。比如: num1 + num2 , num1 - num2 , num...

c语言中&是什么符号?代表什么?
按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位都为1时,结果位才为1。参与运算的两个数均以补码出现。整数在计算机中用二进制的位来表示,例如:3&10可写算式如下: 00000011&00001010 00000010 十进制2。其他位运算符:1、按位或运算符“|”是...

C++中,中括号[]算是几目的运算符
所谓几目,就是说它约束几个对象。典型的 1 ? 2 : 3,约束3个对象,所以它是3目运算符。这个问题本身并没有什么意义,它是双目运算符。 我想你是想重载[]操作符,通常方式是:左对象是类型本身的引用类型,括号内的int是索引。例如 class Array{ private: int *aaa; public: int &operator[] ...

...双目运算符,三目运算符,这个操作数指的是什么?大神们帮帮忙_百度...
这个操作数指的是 参与运算的常数或变量

c语言|表示什么运算?
“|”在C语言中表示按位或,是双目运算符。其功能是参与运算的两数各对应的二进位(也就是最后一位)相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。例如:13|17可写算式如下:

什么是双目运算符?
双目运算符是指运算所需变量为两个的运算符,或者要求运算对象的个数是2的运算符称为双目运算符;运算所需变量为一个的运算符叫单目运算符,例如【!,~,()】;运算所需变量为三个的运算符叫三目运算符:【?:】乘法运算符【*】、除法运算符【\/】、取余运算符【%】 、加法运算符【+】、减法运算...

双目运算符是啥?
深入探索:双目运算符的奥秘在编程世界里,运算符就像语言中的语法构造块,它们决定了代码如何进行计算和逻辑操作。其中,双目运算符是一类特殊的运算符,它们的魅力在于它们的运算行为依赖于两个操作数。换句话说,双目运算符是那种不可或缺的运算符,它们的运算结果是通过结合两个输入变量来决定的。想象一...

C语言三目运算符怎么用
C语言三目运算符用法:对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e...

运算符号有哪些
不同的算术运算符有不同的应用场景,例如加减乘除中,a和b的优先级决定了计算结果的正负。算术运算符在编程中起到了重要的作用,使得程序能够准确地处理数值信息。2.条件运算符 运算符号包括算术运算符、赋值运算符、关系运算符、逻辑运算符和条件运算符。其中,条件运算符是一个三目运算符,用于条件求值...

c++中的?是什么意思.还有:是啥
C++中,“?”与“:”共同组成三目条件运算符(?:)三目条件运算符(?:)使用例子如下:x ? y:z;上面的三目条件运算的规则是:先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。下面的例子为从两个数中找出较大的程序:int a=3,...

涟水县18257715483: 三目运算符的含义是? -
狐炉咖啡:[答案] 假如 int i = 3; i > 5 ? i = 1 : i = 2; 上面的就是三目运算, i大于5显然不满足,那就取?后面第二个表达式 就是 i = 2 如果 i 大于 5 的话那i 就是取问号后面第一个表达式 就是 i = 1

涟水县18257715483: 三目运算符(计算机语言) - 搜狗百科
狐炉咖啡: 三目运算符是?:结构的运算 所谓三目就是需要三个变量进行运算的操作.它等价于短if-else操作. 举个简单的例子: c=a>b?a:b 这可分成几个部分,用括号分开: (a=)(2>1)?(3):(4) 最左边是赋值操作 第二个部分是一个判断 第三和第四部分是两个常数 首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分 它相当于 if(a>b)c=a; elsec=b; 上面的例子用于获得a和b的最大值.这种运算还可以嵌套 比如判断year是不是闰年,是则返回1,不是返回0 flag=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)

涟水县18257715483: C语言中三目运算符是什么? -
狐炉咖啡: 三目运算符为a?b:c即有三个参与运算的量.由条件运算符组成条件表达式的一般形式为: 表达式1? 表达式2: 表达式3 其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的...

涟水县18257715483: C++单目,双目、三目是什么意思 -
狐炉咖啡: 单目是只需要一个操作数的意思 比如 a++ a-- *a &a 双目是需要两个操作数的意思 比如 a+b a-b a*b a/b a%b 三目是需要三个操作数的意思 比如 a=c>b?c:b;

涟水县18257715483: 什么是单(双,三)目运算符? -
狐炉咖啡: 一个运算符需要几个数值参加运算,就叫几目. 例如:加法,a+b 需要2个数值参加运算,就叫2目. 例如:自增, ++a, 或 a++, ++ 是 1目 例如:逻辑或, x || y, 这里 || 2目 例如:逻辑非, !fp , 这里 ! 1目. 例如:条件运算符 <表达式1>?<表达式2>:<表达式3>; 这个 "?" 是 3目运算符.

涟水县18257715483: 什么是单目运算,二目运算,三目运算? -
狐炉咖啡: 单目,一个运算数 i++, i--, !a, ~a 双目,两个运算数 a+b a-b a*b 三目,三个运算数 bc=a?b:c; (if(a) bc =b;else bc =c;)看一下运算符优先级表就知道了,会列出所有运算符,并标明单目,双目,三目

涟水县18257715483: 什么叫三目条件运算 -
狐炉咖啡: 在高级语言如C、C++等高级语言中有三目条件运算 ,格式如下:<表达式1>?<表达式2>:<表达式3>;"?"运算符的含义是:先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果.例如在C语言中: main( ){ int a=3,b;int c=6;int b=(a>c)?2:3;printf("b=%d",b); } 运行结果为:b=3

涟水县18257715483: c语言中的三目运算符 a%4?a:a/4 是什么意思 -
狐炉咖啡: 三目元算符 是 3部分 第一部分 ? 前面 也就是 a%4 第二部分 ?后面:前面 就是 a 第三部分 就是 : 后面 也就是 a/4 三目运算符 根据第一部分的运算结果来确定后面的运算 如果 ? 前面 结果为真 计算第二部分 如果为假 计算 第三部分 所以 首先 是求余数运算 a % 4 如果结果为真 计算 ?后:前 就是 a, 那么这个a%4?a:a/4结果就是 a 表达式变为 b = a; 既 b 的值为a 如果结果为假 计算:后 就是 a/4, 那么这个a%4?a:a/4结果就是 a/4 表达式变为 b = a/4;既 b 的值a/4

涟水县18257715483: C语言中单目双目和三目运算的含义
狐炉咖啡: 1.单目就是这个运算符只对一个变量进行操作 代表符号:!(逻辑非) ~(按位取反)++(自增)--(自减) 举例:int a=1;a++;(第二句“a++”则只对a一个变量进行了操作) 2.双目就是这个运算符对两个变量进行操作 举例:int a=1,b=2,c;c=a+b;(第二句“c=a+b”则是对a,b两个变量进行了操作) 3.三目就是这个运算符对三个变量进行操作 代表符号: ?:(条件运算符) 关于三目运算符 min=(a 评论000

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网