首页教程软件资讯正文

c语言中的目,C语言中是否存在四目运算符

发布时间:2024-03-06 05:50:35 来源:其它 作者:未知

1,C语言中是否存在四目运算符

1,C语言中是否存在四目运算符

没有4目运算符

3目运算符只有1个,就是问号那个运算符:

表达式1?表达式2:表达式3

------

模拟试题里有这个问题选:C语言中存在一目,二目,三目运算符

三目运算符为a?b:c

即有三个参与运算的量由条件运算符组成条件表达式的一般形式为:

表达式1?表达式2:表达式3

其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值条件表达式通常用于赋值语句之中

例如条件语句:

if(agt;b)maxa;

elsemaxb;

可用条件表达式写为max(agt;b)?a:b;执行该语句的语义是:如agt;b为真,则把a赋予max,否则把b赋予max

使用条件表达式时,还应注意以下几点:

1.条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符因此max(agt;b)?a:b可以去掉括号而写为maxagt;b?a:b

2.条件运算符?和:是一对运算符,不能分开单独使用

3.条件运算符的结合方向是自右至左

例如:

agt;b?a:cgt;d?c:d应理解为

agt;b?a:(cgt;d?c:d)这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条

件表达式

voidmain(){

inta,b,max;

printf(\ninputtwonumbers:);

scanf(%d%d,amp;a,amp;b);

printf(max%d,agt;b?a:b);

对于你的问题,可以理解为

if()语句一;else语句二;

a?b:c

若无疑问请采纳

}

用条件表达式对上例重新编程,输出两个数中的大数

c语言标准函数库支持三目运算

也支持四目运算,换个思维,自定义一个函数,四个参数,返回个数值不久行了

所以我认为是存在所谓四目运算

2,在C语言中有两个单目和五个双目运算符

2,在C语言中有两个单目和五个双目运算符

符号功能

+单目正

单目负

*乘法

/除法

%取模

+加法

减法

下面是一些赋值语句的例子,在赋值运算符右侧的表达式中就使用了上面的算

术运算符:

AreaHeight*Width;

numnum1+num2/num3-num4;

运算符也有个运算顺序问题,先算乘除再算加减单目正和单目负最先运算

取模运算符(%)用于计算两个整数相除所得的余数例如:

a7%4;

最终a的结果是3,因为7%4的余数是3

那么有人要问了,我要想求它们的商怎么办呢?

b7/4;

这样b就是它们的商了,应该是1

也许有人就不明白了,7/4应该是1.75,怎么会是1呢?这里需要说明的是,当

两个整数相除时,所得到的结果仍然是整数,没有小数部分要想也得到小数

部分,可以这样写7.0/4或者7/4.0,也即把其中一个数变为非整数

那么怎样由一个实数得到它的整数部分呢?这就需要用强制类型转换了例如

a(int)(7.0/4);

因为7.0/4的值为1.75,如果在前面加上(int)就表示把结果强制转换成整型,

这就得到了1那么思考一下a(float)(7/4);最终a的结果是多少?

单目减运算符相当于取相反值,若是正值就变为负值,若是负数就变为正值

单目加运算符没有意义,纯粹是和单目减构成一对用的

3,C程序中的单目,双目,三目运算符之间有什么不同呢为什么这样分...

3,C程序中的单目,双目,三目运算符之间有什么不同呢为什么这样分...

其实运算符你可以把它当成一个函数,几目的就相当于有几个参数

比如a++,它只有一个参数a,所以是单目的

a+b,它有a,b两个参数,所以是双目

agt;b?1:0,这个就是三目的了,这个是唯一的一个三目运算符,注意后面的2个必须数据类型一样

很简单,就是操作数个数的不同

分别对应1,2,3个操作数

文章TAG: 存在 四目 c语言 是否 运算符 语言 c语言中的目

还没有评论,快来抢沙发吧!

最新发现

相关资讯

新闻热榜

热门游戏

精彩专题