C++中 ? 和 : 只有一个,组合在一起作为三目运算符。例如:a = b ? c : d b,c,d,为表达式,如果b为真,则a=c,b为假,则a=d。
例求整数a,b的最大值表示为a>b ? a : b。
扩展资料:
c++中,三目条件运算符(?:)在Java语言中,三目条件运算符(?:)与C语言中的使用规则是完全一致的,使用的形式是:x ? y:z;
上面的三目条件运算的规则是:先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。
下面的例子实现了从两个数中找出较大的数的功能。int a=3,b=4;int max=a>b?a:b;max的值为4。
三目条件运算是可以嵌套的,如有以下的语句,则max表示的是a、b、c三个数中的最大值,其值为5。int a=3,b=4,c=5;int max=(a>b ? a:b)>c ? (a>b?a:b):c;
<表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
参考资料来源:百度百科-三目运算符
本回答被网友采纳C++中 ? : 是一个三目运算符
(1)所谓的三目运算符就是有三个操作数 (操作数就是操作对象,如++i的操作对象只有i,那么运算符 ++ 就是单目运算符,又比如i+j有两个操作对象i和j,那么运算符 + 就是双目运算符)
(2)三目运算符 ? :
在C++中只有一个三目运算符?:,三目条件表达式格式如下:
<表达式1>?<表达式2>:<表达式3>
先计算<表达式1>,当<表达式1>非0时,三目条件表达式取<表达式2>的值,否则取<表达式3>的值。三目条件表达式的功能可以解释成个简单的条件语句。
三目运算符 ?: 的结合性是从右至左
(3)例如下列程序段:
#include <iostream>
using namespace std;
void main()
{
int a=l,b=2,c=3;
cout<<"[a<b?a:b] = "<<(a<b?a:b)<<endl;
cout<"[a>b?b--:++a] = "<(a>b?b--:++a)<<endl;
cout<< "[c+=a>b?++a:++b] = "<<(c+=a>b?++a:++b)<<endl;
cout<"[a>b?a:b>c?b:c] = "<<(a>b?a:b>c?b:c)<<endl;
程序运行结果如下:
[a<b?a:b] = 1
[a>b?b--:++a] = 2
[c+=a>b?++a:++b] = 6
[a>b?a:b>c?b:c] = 6
程序中有4个cout语句,第1个cout语句输出三目条件表达式的值,显然是1.
在第2个cout语句中,三目条件表达式的值取++a的值,结果是2.因为ab为0, b--并没有执行,故b的值仍然是2。第2个cout语句已修改了变量a的值,使a=2。
在第3个cout语句中,由于三目运算符的优先级高于赋值运算符,所以先计算三目条件表达式a>b?++a:++b,由于a>b为0,所以三目条件表达式取++b的值,结果是3;再计算赋值表达式c+=3,结果是6。此行cout语句修改了b、c两变量的值,使b=3、c=6。
在第4个cout语句中,由于三目运算符是从右结合的,所以先计算b>c?b:c,结果为6;再计算a>b?a:6,结果为6。
注意:在本例中, 因上一个语句的执行产生的副作用改变了变量的值,所以影响下一个语句的条件判断。例中引入多个三具条件表达式,要注意右结合性。例中还引入了赋值表达式与三目条件表达式的混用,这要注意两种运算符的优先级才能做出正确的判断,这个实例应引起读者的高度注意。
参考文献:《C++程序设计》 中国水利水电出版社 2012年1月第2版
本回答被网友采纳C++中的“?”表示判断,可代替简单的if...else...语句。
而“:”表示前后不同条件下的返回值。
? 被称为三元运算符,因为它需要三个操作数,可以用来代替如下所示的 if-else 语句:
例如下图:
三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。
扩展资料:
其他运算:
赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。
注意:赋值语句左边的变量在程序的其他地方必须要声明。
得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为它们出现在赋值语句的右边。常数只能作为右值。
c++中,三目条件运算符(?:),在Java语言中,三目条件运算符(?:)与C语言中的使用规则是完全一致的。
上面的三目条件运算的规则是:
先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。
参考资料来源:百度百科-c++运算符
C++中的“?”和“:”
一个例子(PHP):
三元运算符是软件编程中的一个固定格式。
语法是“条件表达式?表达式1:表达式2”。
在C,C++,JAVA,PHP等语言中都能用到,语法规则也都相同。
扩展资料:
其他运算:赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。注意:赋值语句左边的变量在程序的其他地方必须要声明。得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为它们出现在赋值语句的右边。常数只能作为右值。
c++中,三目条件运算符(?:),在Java语言中,三目条件运算符(?:)与C语言中的使用规则是完全一致的。
使用的形式是:x ? y:z;
上面的三目条件运算的规则是:
先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。
参考资料来源:百度百科-三目运算符又称(三元运算符)
本回答被网友采纳C++中的(?:)是三目条件运算符
在Java语言中,三目条件运算符(?:)与C语言中的使用规则是完全一致的,使用的形式是:
x ? y:z;
上面的三目条件运算的规则是:先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。
下面的例子实现了从两个数中找出较大的数的功能。
int a=3,b=4;
int max=a>b?a:b;
max的值为4。
三目条件运算是可以嵌套的,如有以下的语句,则max表示的是a、b、c三个数中的最大值,其值为5。
int a=3,b=4,c=5;
int max=(a>b ? a:b)>c ? (a>b?a:b):c;
扩展资料:
C语言运用符号种类
1 算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)
、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
这是一个三目运算符,用于条件求值(?:)。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容(*)和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。
参考资料:C语言运用符号-百度百科
本回答被网友采纳c++中的?是什么意思.还有:是啥
C++中的“?”是三目条件运算符之一的表达式一(?:)"?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。“:”用法1表示机构内位域的定义(即该变量占几个bit空间),用法2是构造函数后加冒号是初始...
c++中的?是什么意思.还有:是啥
C++中,“?”与“:”共同组成三目条件运算符(?:)三目条件运算符(?:)使用例子如下:x ? y:z;上面的三目条件运算的规则是:先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。下面的例子为从两个数中找出较大的程序:int a=3,...
c++中的?和?有什么区别?
意思就是,如果obj存在,且obj.type不是null或undefined,则type=obj.type,否则的话type就赋值为空字符串。如果用常规写法,那么代码就复杂得多:if (obj && obj.type) { let type = obj.type;}else{ let type = '';}
c++中的?是什么意思???
在C++中,?:是一个唯一的三目运算符.语句1? 语句2 : 语句3 首先它对语句1进行运算,当语句1的值是 TRUE (值为非零)时,执行语句2;当语句1的值是 FALSE (值为零)时,执行语句3.如:c=(a>b)?1:0;?代表条件判定,上面的意思是如果a>b则c=1,否则c=0....
c++中“?:”是什么意思。 例如:return x>=0? x:-x
这是一个三目运算符,意思是说如过X>=0 那么返回x,否则,返回后面的-x。问号前面是判断条件,分号前面是条件为真是的返回值,分号后面是条件为假时的返回值。以你目前的情况,建议你先看C++primer 这本书
C++中操作符"|"和"||"是什么意思
| 是“按位或”运算符 ||是“逻辑或”运算符 c++运算符如下:C++的优先级优先级 操作符 结合性 1 :: 左 2 . -> [] () 左 3 ++ -- ~ ! - + & * () sizeof new delete castname_cast<type> 单目操作符 右 4 .* ->* 左 5 * \/ % 左 6 + - 左 7 << >> 左 8 <...
C++中的!是什么意思,起到什么样的作用。!在C++中怎么使用
“!”是C++中逻辑非运算符,可以用在条件判断语句if(temp!= t2)或while(t1!=t2),放在等号“=”前合起来表示“不等于”。
C++中问号什么意思
? 是 一个三目运算符 可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假...
c++中?:是什么意思?
?:是一个3目运算符(需要3个操作数),用法如下:表达式1 ? 表达式2 : 表达式3;如果表达式1的结果为真,返回表达式2的结果,否则返回表达式3的结果。例子:int r=8==7 ? 1+2 : 3+4;结果是r等于7。
c++中的运算符“ ?: ”是什么关系?
三目运算符是?:结构的运算 所谓三目就是需要三个变量对能进行运算的操作 举个例子:2>1?A:B 答案就是A 先算“?”前面的,若前面成立就执行:前面的(A),反之就执行后面的(B)再举个简单的例子:a=2>1?3:4 可分成几个部分,用括号分开:(a=)(2>1)?(3):(4)最左边是赋值操作 第...