2015-03-13 694 views
1

来自一些文章我读过一般编程概念。我被告知,“语法是控制语言中有效语句构造的正式规则”,而“语义是一组为语言语句赋予意义的规则”。从语义的定义来看,我觉得它类似于逻辑,如果不是,那么请我想知道逻辑错误之间的区别语义错误语义错误与逻辑错误之间的区别

+0

https://msdn.microsoft.com/zh-cn/library/aa290881%28v=vs.71%29.aspx – j08691 2015-03-13 16:47:18

回答

0

只要Google它数以千计的答案将在你面前简短介绍。

语义错误与某些事物的含义有关。这意味着它违反了自然语言或编程语言的含义规则,假设我们正在使用编程语句不当,语义错误将在编译时被检测到。

并且逻辑错误是指示编码程序时使用的逻辑错误无法解决问题。逻辑错误不会导致程序停止工作,但我们所需的结果将不会得到。

如果你想看到的例子去这个网站

..... http://newtutorial2012.blogspot.com/2012/07/differentced-between-synataxsemantic.html

+0

感谢您的指导。我会检查你提供的链接。 – wildav 2015-03-13 17:24:45

0

这里的答案取决于你正在阅读的书或者你是在课堂上,在计算机科学的许多领域,语义错误和逻辑错误之间绝对没有区别。这两个意思是程序编译,但输出是错误的。就像往常一样,它们意味着两件不同的事情。一个简单的例子是打算在你的程序中使用X + 1,但是你键入了X-1。这是一个逻辑错误。如果您输入X + true,如果语言允许它通过解析器,但是X +(布尔值为true)的结果与X + 1不相同,那么它将是语法错误。就个人而言,当涉及到这样的定义不明确的术语时,我让人们定义他们的喜好,并从我的程序中删除错误,无论他们是哪种错误。

+0

谢谢,我想我现在得到它。 – wildav 2015-03-13 17:23:58

0

似乎有很多围绕这些术语的定义混乱的,但这里是我的理解:

语法涉及到的拼写和语法。

逻辑涉及程序流程。

语义与意义和上下文有关。

如果由于错别字,无效名称,缺少括号或其他语法缺陷而导致代码执行失败,则会出现语法错误。

如果语法正确但一段代码从未执行过,操作没有按照正确的顺序进行,操作本身是错误的或者代码对错误的数据进行操作,则会出现逻辑错误。使用错误的条件运算符是一个常见的例子,所以无意中创建了一个无限循环或混合(有效)变量或函数的名称。

如果您的程序逻辑和语法都正确,所以代码按预期运行,但结果仍然错误:您可能有语义错误。混淆一个英制值的度量输入值会让你在那里。该计划没有什么问题,只是里程和公里不相加,所以您的面积计算会抛出错误的数字。