说明:收录全网最新的团体标准 提供单次或批量下载
L 74 GB 中华人民共和国国家标准 GB/T 15272—1994 IS0/1EC 9899—1990 程序设计语言C Programming languages—C 1994-12-07发布 1995-08-01实施 国家技术监督局 发布 中华人民共和国国家标准 GB/T 15272—1994 ISO/IEC 9899—1990 程序设计语言C Programming languages—C 本标准等同采用了国际标准ISO/IEC9899—1990《程序设计语言C》。 0引言 随着新设备和扩展字符集的引入,标准中可能会增加新的特征。在语言和库两章中的有关条文对实 现者和程序员使用尽管本身是合法的,但可能与未来增加的内容相冲突的特征给出了告诚。 有一些特征属于将逐渐废弃的,这意味着在未来的标准版本中可能会撤消这些特征。本标准文本中 仍然保留它们的原因是这些特征已使用得很广泛,但不鼓励在新的实现中使用这些与实现有关的特征, 或在新的程序中使用这些语言特征(见6.9条)或库特征(见7.13条)。 本标准文本分为下列四个主要部分: -引言和基本元素; 翻译与执行C程序的环境的特性; 一语言的语法、约束与语义; 一库设施。 在有些条文中:给出了示例以说明所描述的构件的可能形式;加注以强调在相应条文或标准的其他 地点所描述的规则的作用;涉及其他相关条文时给出了引用。附录部分总结了包含在标准中的信息。引 言、示例、注、引用和附录均不属于标准的组成部分。 第6章语言是从“TheCReferenceManual”中派生的。 第7章库是基于c用户协会1984年的标准(1984/usr/groupstandard)。 1主题内容与适用范围 本标准规定了用程序设计语言C书写的程序的形式及其解释。 注:设计本标准的目的在于促进C程序在各个数据处理系统之间的可移植性。本标准的主要使用对象是实现者和 程序员。与本标准相关的一个基本文件解释了制定本标准的技术委员会的许多决策。 本标准规定了: C程序的表示; C语言的语法和约束; 一解释C程序的语义规则; 由C程序处理的输入数据的表示; 由C程序产生的输出数据的表示; 一对遵从标准的C实现的限制和限定值。 本标准对以下内容未作规定: 为数据处理系统使用而对C程序进行变换的机制; 为数据处理系统使用而调用C程序的机制; 国家技术监督局1994-12-07批准 1995-08-01实施 1 GB/T15272—1994 为C程序使用而对输入数据进行变换的机制; 在C程序产生输出数据后对其进行变换的机制: 一将超出任何特定数据处理系统或特殊处理机容量的C程序及其数据的长度与复杂性; 一对能够支持一个遵从标准的实现的全部最低要求。 2引用标准 GB1988信息处理信息交换用七位编码字符集 GB5271数据处理词汇1 GB12406表示货币和资金的代码 ANSI/IEEE754二进制浮点运算2 3定义和约定 本标准中,动词“应”解释为对实现或程序应提出的要求。反之,动词“不应”解释为应禁止。 下列定义适用于本标准。在本标准中显式定义了的术语,不能被假定为隐含在其他地方定义的类似 术语。在本标准中未定义的术语应按GB5271解释。 3.1 对齐 alignment 指特定类型对象应放置在存储区边界的要求,该边界的地址是字节地址的特定倍数。 3.2实参argument 指函数调用表达式中由括号括起来并以逗号分隔的表中的表达式,或类似函数的宏调用中由括号 括起来并以逗号分隔的表中的一系列预处理单词。也称“实在参数”。 3.3(二进)位bit 执行环境中的数据存储单位,它应大到足以容纳一个可能具有两种值之一的对象。不要求能表达一 个对象中每个各别位的地址。 3.4字节byte 数据存储单位,足够大以容纳执行环境中基本字符集的任何一个成员。应能唯一表达一个对象中每 个各别字节的地址。字节由一系列相邻接的二进位组成,字节中二进位的数目由实现定义。字节的最低 有效二进位称为低位,最高有效二进位称为高位。 3.5字符character 一个字节内能容纳的二进位表示。源环境和执行环境的基本字符集中的每个成员的表示都应能被 容纳在一个字节内。 3.6 约束 constraints 进一步解释语言元素评注的语法或语义限制。 3.7诊断消息diagnostic message 实现输出消息子集中的一类消息,是实现定义的。 3.8提前引用的条文forwardreference 对标准中包含与当前条文相关信息的后续条文的提前引用。 3.9实现implementation 采用说明: 1]GB5271等同采用ISO2382,在本标准第3章出现。 2]ANSI/IEEE754在本标准第5章出现。 2 GB/T 15272—1994 程序的翻译,并支持函数在该执行环境中的执行。 3.10实现定义的行为implementation-definedbehavior 指对依赖于实现特性的、且是正确的程序构件和数据的行为。每个实现对这些行为均应用文档说 明。 3.11实现规定的限定值implementationlimits 实现对程序所规定的限定值。 3.12地域特定的行为locale-specificbehavior 指依赖于地域、国别、文化和语言习惯的行为。每个实现对这些行为均应用文档说明。 3.13多字节字符multibytecharacter 由一个或多个字节构成的序列,表示源环境或执行环境中扩展字符集的一个成员。扩展字符集是基 本字符集的超集。 3.14对象object 执行环境中的数据存储区,其内容表示值。除位段以外,对象由一个或多个邻接的字节组成,对象中 的字节数目、次序、编码或者显式规定或者由实现定义。当被引用时,对象可被解释为具有特殊类型(见 6.2.2.1条)。 3.15形参parameter 一种对象,是声明为具有入口值的函数声明或函数定义的一部分,或是紧跟在类似函数的宏定义的 宏名之后,由括号括起来并以逗号分隔的表中的标识符。也称“形式参数”。 3.16未定义的行为undefined behavior 指当使用了一个不可移植的或是错误的程序构件,或错误的数据,或无法确定值的对象时的行为, 而标准并未对这些行为加以规定。所允许的对未定义的行为的处理包括:尽管可能出现不可预测的结 果,也完全忽略该情况;在翻译或程序执行时按环境文档规定的特性处理(不保证出现诊断消息);终止 翻译或执行(保证出现诊断消息)。 若违反了在约束条文以外出现的“应”或“不应”要求,则该行为是未定义的。其他未定义的行为在本 标准文本中用文字“未定义的行为”,或由省略任何显式的行为定义来指示。对这三种情况并不强调任何 区别,它们都描述“没有定义的行为”。 3.17未规定的行为unspecified behavior 指标准未提出任何要求的且是正确的程序构件或数据的行为。 示例 a.函数实参求值的顺序是一种未规定的行为。 b整数溢出时的行为是一种未定义的行为。 c.有符号整数右移时高位如何传递是一种实现定义的行为。 d.对除26个小写英文字母外的字符,islower函数是否返回真值是一种地域特定的行为。 提前引用的条文:逐位移位算符(6.3.7条),表达式(6.3条),函数调用(6.3.2.2条),函数islower (7.3.1.6条),本地化程序库前导文卷(7.4条)。 4一致性 一个严格遵从(标准)的程序应当只使用本标准中规定了的那些语言和库特征,它不应产生依赖于 未规定的、或未定义的、或实现所定义的行为的输出,也不应超出任何实现规定的最低限定值。 遵从(标准的)实现有两种形式:宿主型和独立型。一个宿主型遵从实现应当接受任何严格遵从的程 特征的使用与标准前导文卷<float.h>、<limits.h>、《stdarg.h>和<stddef.h>一致。一个遵从实现可以有 扩展(包括附加的库函数),只要这些扩展不改变严格遵从程序的任何行为。 3 GB/T 15272—1994 遵从程序是指遵从实现可接受的程序。 注:①这意味着一个遵从实现不得保留除本标准中显式规定保留的标识符以外的任何标识符。 ②预期严格遵从程序在各遵从实现之间有最大限度的可移植性。遵从程序可能会依赖于遵从实现的某些非可 移植性特征。 一个实现应附有定义所有实现定义特征及其扩充的文档。 提前引用的条文:限定值前导文卷<float.h>和<limits.h>(7.1.5条),变长实参库前导文卷<stdarg. h>》(7.8条),公用定义库前导文卷《stddef.h》(7.1.6条)。 5环境 实现分别在两个数据处理环境中翻译C源文卷并执行C程序,在本标准中分别称它们为翻译环境 和执行环境。它们的特性定义、并约束按照遵从实现的语法和语义规则所构造的遵从C程序的执行结 果。 提前引用的条文:在第5章“环境”中,仅给出了许多可能的提前引用的条文中的一小部分。 5.1概念化模型 5.1.1翻译环境 5.1.1.1程序结构 一个C程序并不一定要全都在同一时刻翻译。程序文本存放在本标准中称为源文卷的单位中。一 个源文卷连同经预处理指示include并入的所有前导文卷和源文卷,扣除由条件并入预处理指示所跳 过的源程序行后,称为一个翻译单位。以前翻译过的翻译单位可单独保存或存在库中。一个程序的各个 翻译单位之间通过例如对标识符具有外部链接的函数的调用,对标识符具有外部链接的对象的操作或 提前引用的条文:条件并入(6.8.1条),标识符的链接(6.1.2.2条),源文卷并入(6.8.2条)。 5.1.1.2翻译阶段 翻译的语法规则之间的

.pdf文档 GB-T 15272-1994 程序设计语言C

文档预览
中文文档 5 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共5页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
GB-T 15272-1994 程序设计语言C 第 1 页 GB-T 15272-1994 程序设计语言C 第 2 页 GB-T 15272-1994 程序设计语言C 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2026-01-05 02:48:05上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。