c语言(x>=z && y<’z’ || !y)的值是

已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。

A.0 B.语法错

C.1 D.“假”
该怎么计算啊 看不懂

首先从c语言运算符优先级来看, && 高于||

所以上面表达式相当于 ( (x>=2 && y<'z') || !y)) 就是((1 && 1) || 0) , 最后就是(1 || 0)=1追问

为何y<'z'为真啊 这点我不懂

追答

由于y='a', y<z的意思就是'a'<'z'
也就是‘a'的ascii码小'z'的ascii码, 由于ascii码中是按照a,b,c....z的顺序从小向大排列,所以'a'<'z'是成立的。

追问

谢谢啦 差点忘记ascii码这个东西了- -

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-05
答案是C
x>z && y < 'z' || !y把变量替换就是
45 > 0 && 'a' < 'z ' || !y
45 > 0为真,'a' < 'z' 也为真,所以45 > 0 && 'a' < 'z '为真,变为1 || !y
1与什么值相或都为1,所以答案为1追问

为何y<'z'为真啊 这点我不懂

第2个回答  2015-01-05
选C,&&的优先级高于 || 。x>=z是真 y<'z'也是真,||左侧为真,后面的都短路不用算了,值为真也就是1追问

为何y<'z'为真啊 这点我不懂

追答

你去查ascii码表字符a 97, z 122

c语言(x>=z && y<’z’ || !y)的值是
首先从c语言运算符优先级来看, && 高于|| 所以上面表达式相当于 ( (x>=2 && y<'z') || !y)) 就是((1 && 1) || 0) , 最后就是(1 || 0)=1

c语言描述x和y都大于或等于z的表达式是
c语言描述x和y都大于或等于z的表达式是:(x >= z) && (y >= z)。具体释义:当x大于或等于z,并且y大于或等于z时,表达式的结果为真(即非零值),否则结果为假(即0)。这样的表达式可以用于条件判断、循环控制等方面的编程中。C语言简介:C语言是一种通用的高级程序设计语言,最初由美国贝尔...

C语言编程:x>=y&&x>=z?x:y>=x&&y>=z?y:z 怎样解释?
(x>=y)&&(x>=z)?x:(y>=x)&&y>=z?y:z 继续:((x>=y)&&(x>=z))? x : ((y>=x)&&y>=z) ? y : z 因此,题目的语义是:取x, y, z中的最大值。相当于:max(x, y, z)

关系x>= y>= z在C语言中怎样表示的
表示关系x>=y>=z 在C语言中,应该用 x>=y && y>=z来表示。x>=y>=z 这种写法是数学上的表达方法 在C语言中,如果写成这样,程序编译并不报错,这也是一个合法的逻辑运算表达式。先计算x>=y,结果是真(1)或假(0),然后再用这个结果与z进行比较,得到最终结果。这个结果与x>=y && ...

15. 已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是...
逻辑非!优先级最高为(在所有第二优先级),所以先运算!y,而!y=1。然后是x>=y该表达式也为1,再接着是ch<'B',该表达式的值也为1.3,最后是逻辑与运算,按自左向右的顺序进行。整个表达式实际相当于1&&1&&1。所以选C。如果是大写Y,则!Y=0,其他不变选择A。

用C语言编程:输入x,y,z三个数,输出最大值和最小值
include<stdio.h>int main(){int x,y,z,t; scanf("%d%d%d",&x,&y,&z); if(x<y){t=x;x=y;y=t;} if(x<z){t=x;x=z;z=t;} if(y<z){t=y;y=z;z=t;} printf("max=%d min=%d\\n",x,z); return 0;}

初学C语言 定义新函数 遇到了问题...输出最大的数
首先回答你的第三个问题:可怜的娃娃,你的函数声明和函数定义里面不完全配对啊。仔细看看,你是int max(int a,int b,int c);下边函数定义的时候呢?你写的是int max(int x,int y,int z){...},这样子编译器会发现你的声明和定义不符,所以报错。这里要记得,声明和函数定义的东西必须是完全...

x<= y&& y<= z的正确选项
x<=y&&y<=z这种写法是对的 对于C选项:&&表示C语言逻辑运算符中的逻辑与,只有x<=y、y<=z都成立的时候,表达式才是真,所以选项正确 对于A选项:<=是关系运算符,三个未知量并不能直接进行关系运算 对于B选项:C语言中表示与就是&&,AND是其它语言中的,C语言中并不存在AND 对于D选项:&...

x>=y>=z c语言
z>=y>=x;的意思是 先求z>=y的值 也就是4>=4;这个结果是真,也就是1 然后求 1>=x 也就是1>=3,结果是假。就是0 只要x>1,那么无论y和z是什么值,结果都是0 ,因为z>=y不是0就是1

x>= y&& y>= z的意思是什么?
x>=y&&y>=z。&&称为逻辑与运算符。如果两个操作数都非零,则条件为真。$a && $b,And(逻辑与),TRUE,如果 $a 与 $b 都为 TRUE。运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。逻辑运算符包括! 非、&&与 ||或。“与”和“或”有两种不同形式运算符的原因是它们...

相似回答