C语言中的比较操作符是什么?



在我的期中考试中有一道问题,我相信有两个正确答案,a和b。问题是这样写的:

下列哪组操作符仅由比较操作符组成?
)祝辞,& lt;祝辞= & lt; =
B) = =、! =
C),,, | |, !
D)以上。

我的教科书(计算机科学:使用C的结构化编程方法,Forouzan和Gilberg)第235页说,

C提供了6个比较操作符。

操作符如图5-4所示。

图5 - 4显示了操作符& lt; & lt; =祝辞,祝辞=、= =、! =。我把这个发给了我的讲师,她回复说:

我理解你在提交的论文中提出的观点,但最好的做法是坚持使用CS159笔记包,而不是Forouzan的教科书,因为教科书被认为是本课程的补充资源。

我的笔记包(普渡大学的CS159笔记包)的第119页说比较运算符是==和!=。比较运算符有两个定义吗?即使在那种情况下,问题也会有两个正确答案。

ISO C11标准第6.5.8节规定运算符<><=>=为"关系运算符"。

ISO C11标准§6.5.9将运算符==!=定义为"相等运算符"。

ISO C标准没有使用术语"比较运算符";或"比较操作符",因此它也没有为它们提供定义。

然而,上面提到的所有六个操作符都用于比较两个操作数,因此最有意义的定义应该包括所有这六个操作符。

C定义

4关系运算符:<,>,<=,>=

2相等运算符:==,!=.

C没有定义比较运算符

所以除非你有其他来源定义比较运算符,否则没有明确的答案。


@Tom Karzes说得很好:"你的课程采用非标准术语,然后测试你对这些术语的理解。我会坚持使用标准。">

最新更新