c++中的?是什么意思.还有:是啥

c++中的?是表示什么.还有:是啥
请指教!

第1个回答  推荐于2019-09-08

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的结果。

参考资料来源:百度百科-三目运算符

本回答被网友采纳
第2个回答  推荐于2019-09-13

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版

本回答被网友采纳
第3个回答  2019-02-23

C++中的“?”表示判断,可代替简单的if...else...语句。
而“:”表示前后不同条件下的返回值。

? 被称为三元运算符,因为它需要三个操作数,可以用来代替如下所示的 if-else 语句:

例如下图:

三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。

扩展资料: 

其他运算:
赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。

注意:赋值语句左边的变量在程序的其他地方必须要声明。

得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为它们出现在赋值语句的右边。常数只能作为右值。

c++中,三目条件运算符(?:),在Java语言中,三目条件运算符(?:)与C语言中的使用规则是完全一致的。

使用的形式是:x ? y:z;

上面的三目条件运算的规则是:

先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。 

参考资料来源:百度百科-c++运算符



本回答被网友采纳
第4个回答  2019-03-30

C++中的“?”和“:”

一个例子(PHP):

三元运算符是软件编程中的一个固定格式。

语法是“条件表达式?表达式1:表达式2”。

在C,C++,JAVA,PHP等语言中都能用到,语法规则也都相同。

扩展资料: 

其他运算:赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。注意:赋值语句左边的变量在程序的其他地方必须要声明。得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为它们出现在赋值语句的右边。常数只能作为右值。

c++中,三目条件运算符(?:),在Java语言中,三目条件运算符(?:)与C语言中的使用规则是完全一致的。

使用的形式是:x ? y:z;

上面的三目条件运算的规则是:

先计算表达式x的值,若x为真,则整个三目运算的结果是表达式y的值;若x为假,则整个三目运算的结果是表达式z的值。 

参考资料来源百度百科-三目运算符又称(三元运算符)

本回答被网友采纳
第5个回答  推荐于2019-09-01

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语言运用符号-百度百科

本回答被网友采纳