C++语言用户标识符的合法规则

C++语言用户标识符的合法规则
C++语言用户标识符的合法规则

C++语言标识符的合法规则

标识符是一个字符序列,用来标识变量、函数、数据类型等。任何程序都离不开标识符,也就是说,不可能有没有标识符的C++程序。

标识符可以由大写字母、小写字母、下划线(_)和数字0~9组成,但必须是以大写字母、小写字母或下划线(_)开头。在C++语言程序中,大写字母和小写字母不能混用,比如Name和name就代表两个不同的标识符。在表2-1中,我们给出了几个正确和不正确的标识符实例。

表2-1:正确和不正确的标识符实例

标识符的命名规则:

1. 所有标识符必须由一个字母(a~z或A~Z)或下划线(_)开头;

2. 标识符的其它部分可以用字母、下划线或数字(0~9)组成;

3. 大小写字母表示不同意义, 即代表不同的标识符,如前面的cout和Cout;

在定义标识符时,虽然语法上允许用下划线开头,但是,我们最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。

C++没有限制一个标识符中字符的个数,但是,大多数的编译器都会有限制。不过,我们在定义标识符时,通常并不用担心标识符中字符数会不会超过编译器的限制,因为编译器限制的数字很大(例如255)。

一个写得好的程序,标识符应该尽量有意义。比如表示年可以用year,表示长度可以用length,表示累加和可以用sum等,这样的标识符本身就增加了程序的可读性,使程序更加清晰易懂。

C++语言的标识符经常用在以下情况中:

1. 标识对象或变量的名字

2. 类、结构和联合的成员

3. 函数或类的成员函数

4. 自定义类型名

5. 标识宏的名字

6. 宏的参数

C语言的标识符和关键字

1、标识符 标识符使用来标识源程序中的某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、常量、数组等。 C语言规定:一个标识符由字母、数字和下划线组成,第一个字符必须是字母或下划线,通常以下划线开头的标识符是编译系统专用的,所以在编写C语言程序时,最好不要使用以下划线开头的标识符。但是下划线可以用在第一个字符以后的任何位置。 标识符的长度不要超过32个字符,尽管C语言规定标识符的长度最大可达255个字符,但是在实际编译时,只有前面32个字符能够被正确识别。对于一般的应用程序来说,32个字符的标示符长度足够用了。 C语言对大小写字符敏感,所以在编写程序时要注意大小写字符的区分。例如:对于sec和SEC这两个标识符来说,C语言会认为这是两个完全不同的标识符。 C语言程序中的标识符命名应做到简洁明了、含义清晰。这样便于程序的阅读和维护。例如在比较最大值时,最好使用max来定义该标识符。 2、关键字 在c语言编程中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字。 关键字已被编译系统本身使用,所以用户编写程序时不能够使用这些关键字来作为标识符。C语言中关键字主要有以下三类: ?类型说明符:用来定义变量、函数或其他数据结构的类型,如unsigned char,int,long等 ?语句定义符:用来标示一个语句的功能,如if,for等 ?预处理命令字:用来表示预处理命令的关键字,如include,define等

标准C语言有32个关键字,c51编译器又扩充了一些关键字,这些关键字在编程时需要注意,绝对不能使用这些关键字来定义标识符。

标识符的含义

标识符的含义 标识符也称为名字,可以指代多种实体:函数、结构标记、联合标记和枚举标记;结构 成员或联合成员;枚举常量;类型定义名;标号以及对象等。对象有时也称为变量,它是一个存储位置。对它的解释依赖于两个主要属性:存储类和类型。存储类决定了与该标识对象相关联的存储区域的生存期,类型决定了标识对象中值的含义。名字还具有一个作用域和一个连接。作用域即程序中可以访问此名字的区域,连接决定另一作用域中的同一个名字是否指向同一个对象或函数。作用域和连接将在A.11 节中讨论。 A.4.1 存储类 存储类分为两类:自动存储类(automatic)和静态存储类(static)。声明对象时使用的一些关键字和声明的上下文共同决定了对象的存储类。自动存储类对象对于一个程序块(参见A.9.3 节)来说是局部的,在退出程序块时该对象将消失。如果没有使用存储类说明符,或者 如果使用了auto限定符,则程序块中的声明生成的都是自动存储类对象。声明为register 的对象也是自动存储类对象,并且将被存储在机器的快速寄存器中(如果可能的话)。 静态对象可以是某个程序块的局部对象,也可以是所有程序块的外部对象。无论是哪一 种情况,在退出和再进入函数或程序块时其值将保持不变。在一个程序块(包括提供函数代码的程序块)内,静态对象用关键字static 声明。在所有程序块外部声明且与函数定义在 同一级的对象总是静态的。可以通过static 关键字将对象声明为某个特定翻译单元的局部 对象,这种类型的对象将具有内部连接。当省略显式的存储类或通过关键字extern 进行声 明时,对象对整个程序来说是全局可访问的,并且具有外部连接。 A.4.2 基本类型 基本类型包括多种。附录B 中描述的标准头文件中定义了本地实现中每种 类型的最大值和最小值。附录B给出的数值表示最小的可接受限度。 声明为字符(char)的对象要大到足以存储执行字符集中的任何字符。如果字符集中的 某个字符存储在一个char类型的对象中,则该对象的值等于字符的整型编码值,并且是非负 值。其它类型的对象也可以存储在char类型的变量中,但其取值范围,特别是其值是否带符 号,同具体的实现有关。 以unsigned char 声明的无符号字符与普通字符占用同样大小的空间,但其值总是非 负的。以signed char显式声明的带符号字符与普通字符也占用同样大小的空间。 说明:本书的第1 版中没有unsigned char 类型,但这种用法很常见。signed char 是新 增加的。 除char 类型外,还有3 种不同大小的整型类型:short int、int 和long int。普 通int 对象的长度与由宿主机器的体系结构决定的自然长度相同。其它类型的整型可以满足 各种特殊的用途。较长的整数至少要占有与较短整数一样的存储空间;但是具体的实现可以使得一般整型(int)与短整型(short int)或长整型(long int)具有同样的大小。

标识符

标识符(考试重点) 在C语言中用于标识名字的有效字符序列称为标识符。标识符可以用作常量名、变量名、符号名、函数名和后面要学到的指针名、数组名等。C语言中标识符的命名规则如下: 1)标识符只能由字母、数字和下划线组成; 2)标识符的第一个字符必须是字母或下划线。 3)标识符区分大小写字母。如int与Int是两个完全不同的标识符。 合法的标识符: a x sum spels program ab1 _to file_5 a1b2c3 _2 B3 非法的标识符: ab12# (含有不合法的字符“#”) a1-c (含有不合法的字符“-”) ab c (空格不是合法标识符) πr (“π”不是字母,为不合法标识符字符) 23ab (第一个字符不能为数字) C语言的标识符分为如下三类: 1)关键字 关键字是具有特定含义的、专门用来说明C语言特定成分的一类标识符。关键字均由小写字母构成。Int 就不是关键字。 2)预定义标识符 预定义标识符(如printf,scanf,sin,isalum等)和编译预处理命令名(如define,include 等)。注意,预定义标识符可以作为“用户标识符”使用。 3)用户标识符(考试重点) 不能是关键字;只能由字母、数字和下划线组成;第一个字符必须是字母或下划线。 Int可以作为用户标识符,int就不可以作为用户标识符。 考点:1. 识别哪些是(或不是)标识符 2. 识别哪些是(或不是)用户标识符 例2:以下不能定义为用户标识符的是 A)scanf B)V oid C)_3com_ D)int 分析:本题答案选D。因为int是关键字,关键字不能作为用户标识符。答案(A)的scanf虽然是预定义标识符,但是预定义标识符可以作为用户标识符使用。(B)中V oid 的第一个字符V大写,它与关键字void是两个不同的标识符,故它可以作为用户标识符。(C)中的_3com_符合标识符的命名规则,且不是关键字,故可以定义为用户标识符。 例3:以下不合法的用户标识符是 A)j2_KEY B)Double C)4d D)_8_ 分析:本题答案选C。答案(A)是一个用户标识符,符合标识符的命名规则。答案(B)也是用户标识符,需要注意的是,它与关键字double是两个不同的标识符。答案(D)是用户标识符,由数字和下划线组成,且第一个字符为下划线。只有答案(C)是不合法的用户标识符,因为它的第一个字符是数字,不符合标识符的命名规则。 标识符的常见错误: 1. 数字开头

C语言常见命名规则

C语言常见命名规则 一、概述 比较著名的命名规则首推匈牙利命名法,这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi)提出的。其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。 [例如]lpszStr,表示指向一个以'\0'结尾的字符串(sz)的长指针(lp)变量。 骆驼(Camel)命名法近年来越来越流行,在许多新的函数库和Java这样的平台下使用得当相多。骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。 [例如]printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。 帕斯卡(Pascal)命名法与骆驼命名法类似。只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。 [例如]DisplayInfo()和UserName都是采用了帕斯卡命名法。 在C#中,以帕斯卡命名法和骆驼命名法居多。 事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。 另一种流行的命名规则称为下划线命名法。 下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU 代码中使用非常普遍。 1、常量名用大写,太长时用下划线隔开: 1.#define MAX 2.#define INCREMENT_SIZE 2、变量名采用小驼峰形式书写: 1.int first 2.float newElem 3、函数名、结构名和联合名采用大驼峰形式书写: 1.void ClearList(List*L) 2.{ 3.…. 4.} 5.int PutElem(int elem) 6.{ 7.…. 8.} 9.typedef struct LinkNode 10.{ 11.int data;

标示符命名规则

C语言标识符命名规则 转自:搜狐网 一)、变量类型和表示方法 1.什么是变量? 一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点数)、字符等等,那么对应的变量就有整型变量、浮点型变量、字符型变量。变量还有其他的具体分类。整型变量还可具体分为无符号型、长整型和短整型。浮点型也可分为单精度型、双精度型和长双精度型。此外还可以分为静态变量、外部变量、寄存器变量和自动存储变量。 那么变量我们总要给它取个名字吧,这个名字我们叫做标识符。标识符的命名有一定的规则: (1).标识符只能由字母、数字和下划线三类字符组成 (2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符) (3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符 (4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成

的,而不是C语言本身的局限性 (5).标识符不能是C的关键字 2.从上面的规则中,有个关键字的概念。那么什么叫关键字呢?从表面字意上也可以看出,关键字是C语言本身某些特性的一个表示,是唯一的代表某一个意思的。 下面列出ANSI标准定义的32个C语言的关键字,这些关键字在以后的学习中基本上都会用到,到时再说它们的各自用法。auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while C语言还包括一些不能用做标识符的扩展关键字。 asm cdecl _cs _ds _es far huge interrupt near pascal _ss 所以在以后的学习中,在给变量命名时要避开这些关键字。3. Turbo C2.0规定所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成。变量说明的形式如下: 类型<变量表>; 这里类型是指Turbo C2.0的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用,分隔。

标识符命名规则

【规则 3-1-1 】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。 标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue写成NowValue。 【规则 3-1-2 】标识符的长度应当符合“min-length&&max-information”原则。 几十年前老ANSI C规定名字不准超过6个字符,现今的C++/C不再有此限制。一般来说,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。那么名字

标识符编码规范

标识符编码规范: 【规则3-1-1】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。 标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue写成NowValue。 【规则3-1-2】标识符的长度应当符合“min-length && max-information”原则。 几十年前老ANSI C规定名字不准超过6个字符,现今的C++/C不再有此限制。一般来说,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。那么名字是否越长约好?不见得! 例如变量名maxval就比maxValueUntilOverflow好用。单字符的名字也是有用的,常见的如i,j,k,m,n,x,y,z等,它们通常可用作函数内的局部变量。 【规则3-1-3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。 例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix 应用程序的标识符通常采用“小写加下划线”的方式,如add_child。别把这两类风格混在一起用。 【规则3-1-4】程序中不要出现仅靠大小写区分的相似的标识符。 例如: int x, X; // 变量x 与 X 容易混淆 void foo(int x); // 函数foo 与FOO容易混淆 void FOO(float x); 【规则3-1-5】程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解。 【规则3-1-6】变量的名字应当使用“名词”或者“形容词+名词”。 例如: float value; float oldValue; float newValue; 【规则3-1-7】用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。 例如: int minValue; int maxValue; int SetValue(…); int GetValue(…);

java标识符命名规范

竭诚为您提供优质文档/双击可除java标识符命名规范 篇一:java标识符--命名规范 java标识符--命名规范 在java语言中,其标识符的命名规范 1>标识符由大小写字母,下划线,数字,$符号组成. 2>开头可以是大小写字母,下划线,和$符号.(数字不能开头) 3>标识符长度没有限制 4>标识符不能是关键子和保留字 *>标识符的命名最好能反映出其作用 *>java语言对字母的大小写有严格的要求. *>所有自定义标识符需全部遵循标识符的命名规范. 变量: 1>如果是单个单词,单词全部字母小写.如:intcount; 2>如果是由多个单词组成的复合单词,除第一个单词外,其后所有单词首字母 大写.如:intsumscore; 常量:

常量所有单词字母大写,如果是由多个单词组成,由下 划线连接.如:string peRson_name; 方法: 方法命名规范与变量相似,如count();getsum(); 类: 类名的所有单词首字母均大写.如 person{},datacenter{}; 包: 用小写的倒置域名来命名.格式:前缀+项目名+模块名+ 层如: org.itfuture.domain.sorts 篇二:题目8c4d1e6c1eb91a37f1115c0a 一、整体解读 试卷紧扣教材和考试说明,从考生熟悉的基础知识入手,多角度、多层次地考查了学生的数学理性思维能力及对数学本质的理解能力,立足基础,先易后难,难易适中,强调应用,不偏不怪,达到了“考基础、考能力、考素质”的目标。试卷所涉及的知识内容都在考试大纲的范围内,几乎覆盖了高中所学知识的全部重要内容,体现了“重点知识重点考查”的原则。 1.回归教材,注重基础

标识符的命名规则

标识符的命名规则 SQL Server 2005为对象标识符提供了一系列标准的命名规则,并为非标准的标识符提供了使用分隔符的方法。推荐使用标准的标识符来命名对象。(注意:以下说明的标识符都是在SQL Server 2005数据库管理系统中的规则,不同的数据库管理系统标识的命名规则不尽相同。) 1.标准标识符 标准标识符可以包含1~128个字符,包括字母、符号(_、@、或#)和数字。标准标识符中不允许嵌入空格。使用标识符的规则包括: 1)第一字符必须是字母a~z或A~Z; 2)第一个字符后,标识符可以包括字母、数字或符号(@、$、 #或_); 3)以符号开始的标识符名称具有特殊用途: a.以@符号开始的标识符标识局部变量或参数; b.以数字标记#开始的标识符表示临时表或过程; c.以双数字标记##开始的标识符表示全局临时对象。 2.分隔标识符 如果标识符遵从标识符格式的所有规则,则既可以使用分隔符,也可以不使用分隔符。如果标识符未遵从一条或者多条标识符格式规则,则必须加以分隔符。

在下列情况中使用分隔符标识: a.当名称包含嵌入空格时; b.当对象名称或对象名称的一部分使用保留字时。 当SQL语句中使用分隔标识符是,必须将他们放在括号内或双引号内。例如:使用中括号([])分隔标识符,select * from [blanks in table name];使用双引号(””)分隔被应用的标识符,select * from “blanks in table name”。 3.标识符的命名原则 给数据库对象命名时,应该遵循以下命令原则: a.保持名称简短; b.尽可能使用有意义的名称; c.使用清楚和简单的命名约定。确定最合适的表达方式而且能够保持一致。避免使用过于复杂的命名约定,因为它们可能会变得难于跟踪和理解。例如,如果一个对象名必须类似于一个关键字,则可以把元音字母去掉(如将一个备份的存储过程命名为bckup); d.使用能够区分出对象类型的标识符,尤其是视图和表的名称。系统管理员经常把视图误认为表,稍一疏忽就会有意想不到的问题发生;所以,表一般使用tbl_前缀(tbl_Student),视图一般使用vi_前缀(vi_Student)。 e.保持对象名称和用户名称的唯一。例如,避免在同一数据库中创建名为sales的表和名为sales的角色。

C语言标识符命名规则(变量名和函数名)

C语言标识符命名规则(变量名和函数名) C语言变量和函数命名规范 2010年08月05日星期四20:18C语言变量和函数命名规范: 关于C语言变量和函数命名规范据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要化太多精力试图发明世界上最好的命据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。 1.共性规则 本节论述的共性规则是被大多数程序员采纳的,我们应当在遵循这些共性规则的前提下,再扩充特定的规则,如3.2节。 【规则1-1】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。 标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue写成

NowValue。 【规则1-2】标识符的长度应当符合“min-length && max-information”原则。 几十年前老ANSI C规定名字不准超过6个字符,现今的C++/C不再有此限制。一般来说,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。那么名字是否越长约好?不见得! 例如变量名maxval 就比maxValueUntilOverflow好用。单字符的名字也是有用的,常见的如i,j,k,m,n,x,y,z等,它们通常可用作函数内的局部变量。 【规则1-3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。 例如Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。别把这两类风格混在一起用。 【规则1-4】程序中不要出现仅靠大小写区分的相似的标识符。 例如: int x,X;// 变量x 与X 容易混淆 void foo(int x);// 函数foo 与FOO容易混淆 void FOO(float x);

C语言第06讲 C语言标识符命名规则

第06讲C语言标识符命名规则标识符是指我们为变量variable、宏macro,函数function等等取的名字。 一、C语言变量的命名长度限制 二、C语言变量的命名可用字符和组合规则

三、C语言变量的命名规则都有哪些? 1、命名应当直观且可以拼读,可望文知意,便于记忆和阅读。 标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。 2、命名的长度应当符合“min-length && max-information”原则。 C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比 MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。 另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。 3、当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。比如:int CurrentVal;这样的名字看起来比较清晰,远比一长串字符好得多。 4、尽量避免名字中出现数字编号,如Value1,Value2 等,除非逻辑上的确需要编号。比如驱动开发时为管脚命名,非编号名字反而不好。 初学者总是喜欢用带编号的变量名或函数名,这样子看上去很简单方便,但其实是一颗颗定时炸弹。这个习惯初学者一定要改过来。 5、对在多个文件之间共同使用的全局变量或函数要加范围限定符(建议使用模块名(缩写)作为范围限定符)。(GUI_ ,etc)标识符的命名规则: 6、标识符名分为两部分:规范标识符前缀(后缀) + 含义标识。非全局变量可以不用使用范围限定符前缀。