设X="11",Y="1122",下列表达式结果为假的是( )。

admin2017-09-25  26

问题 设X="11",Y="1122",下列表达式结果为假的是(    )。

选项 A、NOT(X==Y)AND(X$Y)
B、NOT(X$ Y)OR(X<>Y)
C、NOT(X>=Y)
D、NOT(X$Y)

答案D

解析 字符串精确比较运算符(= =),只有当两个字符串完全相同时,才会是逻辑真,所以x==Y为逻辑假;子串包含测试运算符($),如果运算符前的字符串是运算符后的字符串的一个子字符串,则为逻辑真,所以X$Y为逻辑真;大于等于运算符(>=),是对两个字符串自左向右逐个进行比较.一旦发现两个对应字符不同,就根据两个字符的排序序列决定两个字符串的大小,X、Y的前两个字符相同,所以比较第3个字符,由于X只有两个字符,则第3位X小于Y,所以X小于Y,故X>=Y为逻辑假;X<>Y为逻辑真。
    由以上可得:A选项中,由于NOT的优先级高于AND,所以先比较NOT(X==Y)为逻辑真,由于X$Y也为逻辑真,所以NOT(X==Y)AND(X$Y)为逻辑真。B选项中,由于NOT的优先级高于OR,所以先比较NOT(X$Y)为逻辑假,由于X<>Y也为逻辑真,所以NOT(X$Y)OR(X<>Y)为逻辑真。C选项中,X>=Y为逻辑假,则NOT(X>=Y)为逻辑真。D选项中,X$Y也为逻辑真,则NOT(X$Y)为逻辑假。
转载请注明原文地址:https://jikaoti.com/ti/zGX0FFFM
0

最新回复(0)