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

admin2013-11-28  25

问题 设 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://kaotiyun.com/show/Vqop777K
0

最新回复(0)