2

I am in the situation where I may have the opportunity to teach C to some students. The University wants to teach them pure c, not c++, to keep the advanced c++ course separate.

Since c++ is derived from c, is there an official "c rulebook" which contains all the features of c, but none of the c++ features? The reason I want to know is so I can look up what I need to teach the students.

I once saw a (2000 page?) manual on the c++ standard. Does such a thing exist for c, even if it is 20/30 years old by now?

Regards, Ed

EDIT: I should point out I know C/C++ quite well having been teaching myself for 3 years. The only thing I don't know is what things are "officially" C and what things are "officially" C++. This is what I aim to learn so I can give the other students a better education than I could give myself.

4

2 回答 2

7

有 3 个官方 ISO C 标准,分别于 1990 年、1999 年和 2011 年发布。还有几个“技术勘误”,官方文件对标准进行了更正。

标准本身可以从ISO或您的国家标准机构(如美国ANSI )以 PDF(或纸质)格式购买。ANSI 以大约 30 美元的价格出售 C11 标准,但有严格的许可要求。技术勘误可自行免费获得,但如果没有标准,它们将毫无用处。如果您想让您的班级可以使用该标准,那么这可能不是一种实用的方法。

但 C 标准的草稿通常可以在 ISO C 委员会的网站上获得。

N1256是 C99 标准的草案,其中合并了三个技术勘误。在大多数情况下,它实际上比官方 C99 标准更好。

N1570是 2011 ISO C 标准的最新(据我所知,在我撰写本文时)草案,在 ISO 标准发布之前发布。N1570 和官方标准之间只有一些细微的编辑差异。

C11 标准还有一个小的技术更正,其中包含一些 N1570 或 C11 中没有的修复:由于疏忽,已发布的标准没有正确定义 的值__STDC_VERSION__和可选__STDC_LIB_EXT1__宏(两者都是201112L) .

每个标准(和草案)都总结了它与以前标准之间的差异。

除了标准(不是真正为一般程序员编写的)之外,Harbison & Steele 的C: A Reference Manual是一个很好的参考。当前的第 5 版涵盖 C90 和 C99,但不包括 C11。(我不知道第 6 版的任何计划。)

于 2013-05-04T20:28:51.360 回答
4

您正在寻找 C 标准。由于标准机构通过销售标准出版物来资助自己,因此您无法获得最终版本。但是,那里有许多 C 草案标准副本,它们足以满足您的目的。

https://www.google.com/search?q=c+draft+standard+pdf

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf

于 2013-05-04T17:31:34.580 回答