c语言中关于与运算的问题(求解)

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:02:14
我的C语言教科书里有这样的几个表达式 我至今弄不明白 表达式如下:
(1) 判断ch是否是数字字符:ch>=‘0’&&ch<=‘9’
(2)判断ch是否是大写字母:ch>='A'&&ch<='Z'
(3)判断ch是否是字母: (ch>='A’&&CH<='Z')||(ch>='a'&&ch>='z')

在这其中,我不明白有&&运算的的地方它的值是什么?
比如说: ch>='0'&&ch<='9' '0'&&ch 的值是什么?
假如它们都是按照 ASCII 码计算的话,‘0’&&ch 的值一定是真,
即使ch的值是字母也会成立啊,那这个表达式的意义不就是没有了吗?

还请各位有识之士为我解惑…………

我明白你的意思了。。
这是一个符号优先级的问题
ch>=‘0’&&ch<=‘9’ 等效于(ch>=‘0’)&&(ch<=‘9’)
意思是当ch>=‘0’与ch<=‘9’同时成立时为真,
其余为假
在不明白你可以翻番书。。就晓得了,
&&的优先级很低的
就像-+号比×÷优先级低,如果他们相遇,先×÷后-+

其实这里的"&&"是"and",是"并且"的意思,比如说你的第一个例子,意思就是"ch的ASCII值大于0并且小于9的都是数字",下面的那个"&&"也是这个意思.例3中的那个"‖"就是或者的意思了.

不要混淆这两个:按位与(&)和与运算符(&&)