1楼:匿名用户
你只要知道它是这么执行的就ok了,
先判断表达式1的值,为假或者0,则执行表达式3;否则,执行表达式2。
2楼:匿名用户
一成立执行二一不成立执行三谢谢采纳
3楼:旁文玉建媪
当然是从左到右了。先判断表达式1,若满足,就执行2,否则执行3。
三目运算符 表达式1 ? 表达式2 : 表达式3 ?是什么意思(;`o)o :是
4楼:千锋教育
如果符合第一个表达式的条件,就执行第二个表达式,不符合就执行第三个表达式。
小编就是这样学过来的,求采纳,可以吗?
三元运算符 表达式1?表达式2:表达式3 中,表达式
5楼:匿名用户
c#三元运算符是一个有返回值的表达式,所以不能执行无返回值语句,并且(表达式1 ? 表达式2 : 表达式3)中,表达式2和表达式3的数据类型必须相同三元运算符 表达式1?
表达式2:表达式3 中,表达式
c语言中的 (表达式1)?(表达式2):(表达式3) 什么意思?
6楼:李好
表达式1一般是判断语句的,如果是true,则返回表达式2,否则返回表达式3。
举个列 :(1>2)?1:2 ,因为1<2的,结果是false,所以返回表达式3, (1>0)?2:2, 因为1>0的,结果是true,所以返回表达式2。
如果表达式1 的值为真,那么以表达式2 的值作为整个条件表达式的值,否则以表达式3 的值作为整个条件表达式的值。
c语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到c语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
c语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
c语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
c语言的优点是简洁紧凑、灵活方便;运算符丰富;数据类型丰富;表达方式灵活实用;允许直接访问物理地址,对硬件进行操作;生成目标**质量高,程序执行效率高;可移植性好和表达力强等。
c语言的缺点主要表现在数据的封装性上,这一点使得c在数据的安全性上有很大缺陷,这也是c和c++的一大区别。
且c语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,c语言比其他高级语言较难掌握。
c语言<表达式1>?<表达式2>:<表达式3> 怎么用,举例说明一下,谢谢!
7楼:暧昧上帝
这个称作是条件运算符
,举个例子:
if(a>b)
max=a;
else
max=b;
如果用条件运算符来的话就可以表示为:
max=(a>b)?a:b;
就是说,表达式1是一个判断的条件,如果条件为真,则是表达式2,如果为假,则是表达式3.
8楼:匿名用户
x=3>2?1:0
3>2成立则x=1,否则x=0
c++三目运算符?:是干嘛用的?
9楼:匿名用户
三目运算符《表达式1>?《表达式2>:《表达式3>; ,属于关系运算符,
常用于关系比较,主要用于比较关系的状态只有两种的情况(大于 和 不大于,真 和 假)
先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果
比如以下表达式:
a>0? a++:(a = 1)
当a>0为真 时,执行a++,整个表达式的值等于表达式a++的值,当a>0为假 时,执行a=1,整个表达式的值等于表达式a=1的值。
10楼:匿名用户
a>b? a:b
等价于if(a>b)
print("%d",a);
else
print("%d",b);
11楼:匿名用户
相当于一个条件判断。
12楼:匿名用户
比如说max=a>b?a:b ; 如果a>b,max就等于a,反之等于b
c语言三目运算符怎么用
13楼:你的世界
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ?
b : c ? d :
e将按a ? b : (c ?
d : e)执行。
《表达式1> ? 《表达式2> : 《表达式3>; "?
"运算符的含义是:先求表达式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(4)条件表达式的优先级别仅高于赋值运算符,而低于前面遇到过的所有运算符。
因此,min=(a(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");
else
printf("odd/n");
该语句的作用是:若 a 为偶数,输出 even;若 a 为奇数,输出odd。
(8)表达式1,表达式2,表达式3的类型可以不同.此时条件表达式的值的类型为它们中较高的类型。
14楼:天云一号
c语言中只有一个三目运算符,就是条件运算符(? :)条件运算符的一般使用格式如下:
表达式1 ? 表达式2 : 表达式3
举例如下:
max = (a>b) ? a : b; // 取变量a, b中较大的一个,并赋值给变量max
15楼:匿名用户
三目运算符为a?b:c即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:
表达式1? 表达式2: 表达式3
其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。 条件表达式通常用于赋值语句之中。
例如条件语句:
if(a>b) max=a;
else max=b;
可用条件表达式写为 max=(a>b)?a:b; 执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。
使用条件表达式时,还应注意以下几点:
1. 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b
2. 条件运算符?和:是一对运算符,不能分开单独使用。
3. 条件运算符的结合方向是自右至左。
例如:a>b?a:c>d?c:d应理解为
a>b?a:(c>d?c:d) 这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条
件表达式。
void main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
printf("max=%d",a>b?a:b);
16楼:匿名用户
三目运算符是?:结构的运算
所谓三目就是需要三个变量对能进行运算的操作举个简单的例子:
a=2>1?3:4
可分成几个部分,用括号分开:
(a=)(2>1)?(3):(4)
最左边是赋值操作
第二个部分是一个判断
第三和第四部分是两个常数
首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分像上面那个2>1成立,所以就执行了a=3
这种运算还可以嵌套
比如判断year是不是闰年,是则返回1,不是返回0year=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)
17楼:
不带括号,实际上是这样的效果(","优先级略低,一般都是最后执行咯)。
temp<=n ? (temp *= 2,m++):(temp = (temp-n)*2-1),m++;
也就是说,不带括号,你temp<=n成立时候,m++总是会执行两次,当然对于temp>n是没问题的。
带括号,自己比较好理解。
然后,你如果想写的高大上,简单点又正确,可以只加后面一个括号。即下面的方式。
temp<=n ? temp *=2,m++:(temp=(temp-n)*2-1,m++)
个人是非常不建议这么些,**给别人看挺麻烦。
18楼:匿名用户
三目运算: 条件?值1:值2,是根据条件的值分别值1或值2
对于本题就是依据你的取值,分别取(temp *= 2, m++) 和(temp = (temp - n)*2-1, m++)
若把?:中:前后的两个()去掉,会出现错误!
19楼:匿名用户
运算符是有运算顺序的。
比如你上面括号里面的*运算符优先级高于=,++也高于三目运算符。推荐你看一下运算符优先级。
就这个程序而言,主要问题是,逗号运算符优先级比三目运算优先级还低,去掉括号后,造成先做了三目运算,后做逗号运算。
希望这个回答对你有帮助。
c运算符-与什么等效,C语言的运算符和表达式有哪些
1楼 醒目鸟 1 表示比特位右移。效果与 除以 类似。右移一位即除以2,右移2位即除以4,右移3位即除以8 例如 数字8的二进制码为 00001000 右移一位后变为 00000100。 即00000100 4 2 还有一种含义 在c 里表示堆栈的指针位置。例如 this data 2楼 千锋教育 ...
正则表达式怎么匹配单个汉字,如何用正则表达式匹配汉字
1楼 匿名用户 u4e00 u9fa5 这样会把匹配结果放到匹配集的第一个子集中去 你就可以获取到了 2楼 梦里寻你我他 u4e00 u9fa5 如何用正则表达式匹配汉字 3楼 匿名用户 var str 你好地世界世界 假如想用正则表达式的方式找出str中 地 的下标 var re 地 consol...
如果int"a 1,b 2,c 3,d 4,则条件表达式“a
1楼 德形兼备 当a b 成立 则结果就是 a 如果 a b 不成立 则结果要判断 c 2 c 所以这题 结果是a 1 2楼 匿名用户 条件运算符的结合性是从右到左结合的,先算 c d?c d 返回 c 3 再算 a b?a c 返回值为1。 3楼 何慧哈 先判断a b为真取a值,得等式a d c ...