不合法的标识符有哪些(不合法字符有哪些)
选出下列标识符中不是合法的标识符的是 A.hot_do B.cat1 C._pri D.2ab
D不是合法的.
所谓标识符,就是你起的一个名字.c/c++中,是你用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等的.(就好像你父母有了你以后给你起的名字)~~ c/c++有效标识符的构成规则如下
(1)第一个字符必须是字母(不分大小写)或下划线(_);
(2)后跟字母(不分大小写)、下划线(_)或数字组成;
(3)标识符中的大小写字母有区别.如,变量sum,sum,sum代表三个不同的变量;
(4)不能与c编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名.比如,不能将标识符命名为float,auto,break,case,this,try,for,while,int,char,short, unsigned,等等;
D项显然不符合(1)规则
以下各项中不合法的用户标识符是?为什么
正确答案为:A
原因:
C语言标识符规则:
1、由字母,数字,下划线组成
2、首字符必须是字母或下划线
3、区分大小写
4、用户标识符不能和保留关键字相同
所以A中的"."不符合要求。
扩展资料:
用户标识符的作用:
用户根据需要自己定义的标识符。一般用来给变量、函数、数组等命名。
用户标识符如果与关键字相同,则编译时会出错;如果与预定义标识符相同,编译时不会出错,但预定义标识符的原意失去了,或会导致结果出错,因此预定义标识符一般不用来作为用户标识符。
每个进程都有一个实际用户标识符和一个实际组标识符,它们永远是启动该进程之用户的用户标识符和组标识符。
进程的有效用户标识符和有效组标识符也许更重要些,它们被用来确定一个用户能否访问某个确定的文件。
在通常情况下,它们与实际用户标识符和实际组标识符是一致的。
但是,一个进程或其祖先进程可以设置程序文件的置用户标识符权限或置组标识符权限。
这样,当通过exec调用执行该程序时,其进程的有效用户标识符就取自该文件的文件主的有效用户标识符,而不是启动该进程的用户的有效用户标识符。
参考资料:百度百科——用户标识符
在C语言中什么是合法标识符,什么又不是合法标识符?
那你首先得知道什么是标识符
和其他高级语言一样,在C语言中用来表示对变量,符号常量,函数,数组,类型等数据对象命名的有效字符序列统称为标识符.简单地说,标识符就是一个名字.
在C语言中,规定标识符只能由
字母
,
数字
,
下划线组成,
且第一个字符必须为字母或下划线.
合法的标识符如下:
sum,average,_total,Class,day,month,Student,Student_name,tan,louts_1_2_3,BASIC,li_ling等
非法的标识符如下:
M.D.John,#123,3D45,ab等
补充:
(1).标识符只能由字母、数字和下划线三类字符组成
(2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符)
(3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符
(4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成的,而不是C语言本身的局限性
(5).标识符不能是C的关键字
c语言中,不能做为合法标识符的有哪几类?可用作变量名的有哪几类?求解答
1,变量名必须由字母、数字、下划线组成
2,首字符不能是数字
3,不能太长,具体长度限制由编译器设定,太长会被编译器截取前面的,如果定义的两个变量,在编译器可识别的范围相同,而后面的不同,编译器将视为同一个变量。
4,不能是C的保留字,如if,for,main,break不能作为变量名