C语言中:x>y?x:y; 是什么意思?问号和冒号的作用是什么?

作者&投稿:秋采 (若有异议请与网页底部的电邮联系)
c语言中" : "(冒号)和问号是什么意思~

bool a = 1>3?false:true;
?: 是三元运算符由条件运算符组成的条件表达式的一般形式为:
表达式1 ? 表达式 2 : 表达式3,其中表达式 1、表达式2、表达式3,既可以是一个简单的表达式,又可以是由各种运算符组成的复合表达式。
计算过程很好理解:先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值。 如果表达式1 的值为假,则求表达式3 的值并把它作为整个表达式的值。

扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
参考资料来源:百度百科-c语言

?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。
相当于:
if (x>y)
{z=x;}
else
{z=y;}

扩展资料
C语言中条件表达式的通用形式如下:
exp0=exp1?exp2:exp3
如果exp1为真(非0),那么把exp2的值赋给exp0;如果exp1为假(0),那么把exp3的值赋给exp0。
2.verilog语法中也有类似C语言中的条件表达式
如下:
inout sda;
assign sda=(flag==1)?data_buf:1'bz;
当flag==1时,sda的值等于发送的数据的data_buf(sda相当于output类型),
当flag==0时,sda的值变成高阻态(sda相当于input类型)。
参考资料来源:
百度百科——条件运算符

如果x>y,就把x的值赋给z,否则把y的值付给z。

可以把z=x>y? x : y理解为

if(x>y){

z=x;

}else{

z=y;

}

扩展资料:

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

对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。

可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。



这里的?和:是一个完整的符号,C里叫三元运算符
语法:
表达式1 ? 表达式2 : 表达式3;

语义:
先执行表达式1,执行完毕,表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果,否则执行表达式3,运算式的结果是表达式3的结果

相当于
if(表达式1){
表达式2;
}else{

表达式3; }

这是问号表达式,问号前表达式为真,返回问号后冒号前的数据,问号前表达式为假,返回结果为冒号后的数据.

三目运算符

c中x是什么意思?
答:c语言中,!x是一个逻辑运算符,r.rp!是一个寄存器指针,用于指向寄存器中的值。c语言介绍如下:C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽...

c语言中,int x=1; x=x++; printf(“%d”,x) 输出x的值是1还是2?
答:c语言中,下面的语句作用是:int x=1;//声明整型变量x,并赋值1 x=x++;//这是后自增,分两步执行:先赋值x=x,赋值后仍然x=1;然后x再自增,自增后x=2 printf(“%d”,x)//输出x的值(2)所以, 输出x的值是2。

C语言中x和'x'有什么区别
答:用 ' ' 包括起来的都是字符,也就是char型的量,注意是量,不是变量,而x则就是变量。比如你有一个char型的变量x,你想把x的值赋值为x,就这样写 x='x'; 将字符'x'赋值给字符变量x。赋值后变量x的值就是字符x了。

谁能告诉我,C语言中如何表示,x的n次方
答:C语言中计算x的n次方可以用库函数pow来实现。函数原型:double pow(double x, double n)。具体的代码如下:include <stdio.h> include <math.h> int main( ){ printf("%f",pow(x,n));return 0;} 注:使用pow函数时,需要将头文件#include<math.h>包含进源文件中。

c语言中~x什么意思?
答:首先 ~ 在 C 语言中是一个单目位运算符,用于按位取反;它的规则是把 0 变成 1,把 1 变成0 假设 char x=1 则它的二进制为 0000 0001;如果对 x 进行按位取反 ~x 则结果为 1111 1110 注意 x 的值不变

C语言中x>y?y:x 是什么意思?
答:如果X大于Y的时候那前面就是真,则输出Y,如果X小于Y的话,那前面就是假,输出X 这个是一个判断语句,判断哪个小的

c语言中! X表示什么意思?
答:非X的意思。!在C语言中有两种表达,这里边表示“非”。取决于X的值,如果X的值为0,!X就是1.如果X的值不为0,!X就是0的意思。

c语言中~x是什么意思
答:在C语言中,~x代表的意思是按位取反的意思。将x按位取反 比如x = 10101010b。那么~x = 01010101b。还要注意,在C语言中,还有逻辑取反符号“!”,“!x”的返回值只有0和1两种。如果x为0,则!x=1。如果x不等于0.则!x的返回值为0。

c语言中指针中x为指针变量++*x,*x++,(*x)++,,,像这样的到底是怎么运算的...
答:int a=2,*x;x=&a; //*x=2,而x是等于a在内存中地址 ++*x; //此时a=3,x还是指向a x++等效于*(x++),表示x的值(是一个地址)加1,此时x是另外一个地址了,然后取出该地址里的内容,比如:int a[2]={1,2};int *x=a; //x是指向a[0]x++; //此时数组a中的内容是1,3,x...

c语言中x*=是什么意思
答:x*=x*y+8相当于x=x*(y+8)计算此表达式时,先计算y+8后计算x*括号中的结果,最后将结果赋值给x.例:include<stdio.h> int main(){ int x=5;int y=1;x*=y+8;printf("%d",x);return 0;} 此程序结果为45。