C语言:术语、定义和符号

来自Peter_Matthew的Wiki
Peter Matthew讨论 | 贡献2023年9月30日 (六) 15:49的版本

以下定义适用于有关国际标准的部分。其他术语的定义会以斜体类型表示或出现在语法规则的左侧。对于已在国际标准中明确定义的术语,不得推定为暗指其他地方定义的类似术语。对于在国际标准中未定义的术语,应根据ISO/IEC 2382−1进行解释。对于在国际标准中未定义的数学符号,应根据ISO 31−11进行解释。

访问

<执行时的操作>读取或修改一个对象的值

注1:如果只表示这两种操作中的一种,则使用“读取”或“修改”。
注2:“修改”包括存储的新值与先前值相同的情况。
注3:未求值的表达式不会访问对象。

对齐

要求特定类型的对象位于存储边界上,其地址是字节地址的特定倍数

参量

实际参量

实际参数(已废弃)

函数调用表达式中括号内逗号分隔列表中的表达式,或类函数宏调用中括号内逗号分隔列表中的预处理标记序列

行为

外在表现或操作

由实现定义的行为

每个实现都会记录如何作出选择的未指明行为

例:由实现定义的行为的一个例子是,有符号整数右移时高阶位比特的传播。

本地化行为

取决于每个实现所记录的当地民族、文化和语言惯例的行为

例:本地化行为的一个例子是,islower函数是否会为26个小写拉丁字母以外的字符返回true。

未定义行为

在使用非可移植的或错误的程序结构或错误数据时出现的行为,国际标准对此不做要求

注:可能出现的未定义行为包括:完全忽略的情况造成的不可预知的结果;在翻译或程序执行过程中,以记录的方式表现出环境特征(无论是否发出诊断信息);终止翻译或执行(发出诊断信息)。
例:未定义行为的一个例子是,整数溢出时的行为。

未指明行为

国际标准中提供了两种或两种以上的可能性,但对在任何情况下选择哪种可能性不做进一步要求的行为

例:未指明行为的一个例子是,函数参量的求值顺序。

执行环境中的数据存储单元,其大小足以容纳可能具有两个值之一的对象

注:不需要表达对象的每个单独位的地址。

字节

可寻址的数据存储单元,其大小足以容纳执行环境中基本字符集的任何成员

注1:可以唯一地表示对象的每个单独字节的地址。
注2:一个字节由连续的比特序列组成,比特的数量是由实现定义的。最低有效位被称为低阶位,最高有效位被称为高阶位。

字符

<概要>用于组织、控制或表示数据的一组元素的成员

字符

单字节字符

<C语言>适合于一个字节的位表示

多字节字符

一个或多个字符的序列,代表源或执行环境的扩展字符集的成员

注:扩展字符集是基本字符集的超集。

宽字符

适合于一个wchar_t类型对象的位表示,能够表示当前语言中的任何字符

约束

在语法或语义上对解释语言要素的阐述进行的限制

正确舍入的结果

根据有效的舍入模式,取结果格式中最接近无限范围和精度下结果值的表示形式

诊断信息

属于实现的消息输出的一个由实现定义的子集的消息

前向引用

引用在国际标准中此内容的后续子条款,该子条款包含与该子条款相关的附加信息

实现


实现的限制


对象


参数


推荐做法

强烈建议采用符合标准意图的规范,但对某些实现方案来说可能不切实际


由实现定义的值


不确定的值


未指明的值

[math]\displaystyle{ \left \lceil x \right \rceil }[/math]

[math]\displaystyle{ x }[/math]的上限值:最小的大于等于[math]\displaystyle{ x }[/math]的整数

例:[math]\displaystyle{  \left \lceil 2.4 \right \rceil }[/math][math]\displaystyle{  3 }[/math][math]\displaystyle{  \left \lceil -2.4 \right \rceil }[/math][math]\displaystyle{  -2 }[/math]

[math]\displaystyle{ \left \lfloor x \right \rfloor }[/math]

[math]\displaystyle{ x }[/math]的下限值:最大的小于等于[math]\displaystyle{ x }[/math]的整数

例:[math]\displaystyle{  \left \lfloor 2.4 \right \rfloor }[/math][math]\displaystyle{  2 }[/math][math]\displaystyle{  \left \lfloor -2.4 \right \rfloor }[/math][math]\displaystyle{  \left \lfloor -3 \right \rfloor }[/math]