请问如何理解C语言中的!((X=='A')||(X=='a')),这种表达式是指“ X不等于'A' 且 X不等于 'a'” 呢 还是指“X不等于'A' 或者 X不等于 'a' ” 呢 ,可否将!((X=='A')||(X=='a')) 分解成更加容易理解的形式.还有!

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 19:41:01
请问如何理解C语言中的!((X=='A')||(X=='a')),这种表达式是指“ X不等于'A' 且 X不等于 'a'” 呢 还是指“X不等于'A' 或者 X不等于 'a' ” 呢 ,可否将!((X=='A')||(X=='a')) 分解成更加容易理解的形式.还有!

请问如何理解C语言中的!((X=='A')||(X=='a')),这种表达式是指“ X不等于'A' 且 X不等于 'a'” 呢 还是指“X不等于'A' 或者 X不等于 'a' ” 呢 ,可否将!((X=='A')||(X=='a')) 分解成更加容易理解的形式.还有!
请问如何理解C语言中的!((X=='A')||(X=='a')),这种表达式是指“ X不等于'A' 且 X不等于 'a'” 呢 还是指“X不等于'A' 或者 X不等于 'a' ” 呢 ,可否将!((X=='A')||(X=='a')) 分解成更加容易理解的形式.还有!((X=='A')||(X=='a'))与!((X=='A')&&(X=='a'))有什么区别?

请问如何理解C语言中的!((X=='A')||(X=='a')),这种表达式是指“ X不等于'A' 且 X不等于 'a'” 呢 还是指“X不等于'A' 或者 X不等于 'a' ” 呢 ,可否将!((X=='A')||(X=='a')) 分解成更加容易理解的形式.还有!
可用逻辑代数代换.
!((X=='A')||(X=='a'))是“或非”,“或非”=“非与”,所以!((X=='A')||(X=='a'))→X!='A' && X!='a';
!((X=='A')&&(X=='a'))是“与非”,“与非”=“非或”,所以!((X=='A')&&(X=='a'))→X!='A' || X!='a'.
不过第二式是无意义的,它是恒成立的.看,X=='A' && X=='a'是不可能成立的,因为X不可能既等于'A'又等于'a',所以它的“非”!((X=='A')&&(X=='a'))总是成立的;变换成X!='A' || X!='a'后当然也是恒成立的,你自己分析.
!((X=='A')||(X=='a'))与!((X=='A')&&(X=='a'))的区别,前者是“或非”,只要一项成立,整式就不成立;后者是“与非”,两项都成立,整式才不成立.区别大了.