C++语言合法标识符

题目描述
输入一个字符串,判断其是否是C++的合法标识符。
输入
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。输入保证不为C++的关键字(保留字)。
输出
对于每组输入数据,输出一行。如果输入数据是C++的合法标识符,则输出"yes",否则,输出“no”。
样例输入

3
12ajf
fi8x_a
ff ai_2
样例输出

no
yes
no
用C++写,加上注释!

C语言标识符是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义,标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写

扩展资料

在汇编语言里,标识符由字母、数字、下划线组成。标识符的命名规则是:由字母(大、小写皆可)、数字及下划线组成,且第一个字符必须是字母或者下划线,不能用具有意义的指令符号或者寄存器。在汇编语言中,一般用大写字母。

在python里,标识符有字母、数字、下划线组成。所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。

以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入,以双下划线开头的(__foo)代表类的私有成员。

参考资料 标识符_百度百科



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2021-01-15
#include<iostream.h>
main()
{
char a[10];
int f=1,i=0;
cin>>a;
if(!(a[0]>='a'&&a[0]<='z'||a[0]>='A'&&a[0]<='Z'||a[0]=='_'))
f=0;
for(i=1;a[i];i++)
{
if(!(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'||a[i]=='_'||a[i]>='0'&&a[i]<='9'))
f=0;
}
if(f)
cout<<"YES";
else
cout<<"NO";
}

这是判一次的 多次你自己能搞定吧。。

追问

你给写全吧,新手!而且你第3个示例就错了!而且没有判断关键字!

本回答被网友采纳
第2个回答  2017-07-19
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
for(int r=1;r<=t;r++)

{
string a;
cin>>a;
if(a[0]>='0'&&a[0]<='9')
{
printf("no");
return 0;
}
for(int i=0;i<a.length();i++)
{
if(!((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||(a[i]>='0'&&a[i]<='9')||a[i]=='_'))
{
printf("no\n");
return 0;
}
}
printf("yes\n");
}

return 0;
}
相似回答