龙空技术网

青少年编程等级考试C++二级真题详解——《合法C标识符》

一代钟师 51

前言:

此刻同学们对“c语言用户标识符for”大概比较讲究,姐妹们都想要剖析一些“c语言用户标识符for”的相关知识。那么小编也在网摘上网罗了一些对于“c语言用户标识符for””的相关内容,希望大家能喜欢,我们一起来学习一下吧!

青少年编程C++二级:《合法C标识符》。

本题:合法C标识符。这道题的主要意思是输入一个字符串,让你去判断是否符合C语言标识符的要求。

·第一条不能是保留字,不能是比如像int、float、double、if、for、while、switch等等。

·第二条只包含大小写字母、数字及下划线。

·第三条不以数字开头。

看输入的格式,一行只包含一个字符串,不包含任何空白字符,长度不大于20。输出:如果它是C的合法标识符,则输出yes,否则输出no。

在样例里边是RKPEGX9R;TWyYcp,小写y大写y cp,样例输出是no,因为其中含有了除了下划线以外的特殊的符号;分号,所以它不是合法的C标识符。

直接来看代码,这里有两个头文件,第一个iostream,第二个cstring。在主函数里面去定义了一个strings,用来保存输入的字符串。第6行cin从键盘输入s,第7行这里使用了字符串与字符数组之间的关系,可以通过下标去调用字符串里面的单个字符。

比如这里引用的就是s字符串里面的开头的字符s[0],它的下标是0,就进行判断。如果s[0]是在0-9这个范围内的字符,那么这种情况就不是合法标识符,这个时候就可以输出no,return 0,结束程序。

接下来用循环,循环变量初始值是0,用来表示字符形数组的下标。第二个表达式i小于等于s.length()-1,s.length)是字符串长度。由于下标从0开始,那么这里的s.length(必须要减1),i的最大值就到s.length()-1。

·第三个表达式是i++,每次i值-1。通过循环变量作为字符数值的下标,对每一个sl做一下判断,是否是大写字母、是否是小写字母、是否是数字、是否是下划线。

·如果这些条件任意满足一个,那么就continue,说明s[是在允许的范围当中执行下一次循环,取得下一个sli再来做判断,否则就输出no,因为它不是在合法标识符的范围里面,这个时候输出no就可以结束程序。

·在上面的循环11行到19行,循环做完了之后都没有出现其他的字符,那么就可以cout输出yes,说明这个字符串是合法的标识符。

·编译并执行这个代码,输入题目当中的示例,看到输入结果是no,这个结果符合题目的要求。

·考虑到数字不能作为开头的情况,再用一个数据来测试一下,9Days输出是no,说明它不是一个合法的标识符,这是正确的。

·考虑到测试了两个数据都是不合法的C标识符,那么再测试一下合法的C标识符,isThisok yes,说明这是一个合法的C标识符。

标签: #c语言用户标识符for #c语言用户标识符怎么判断合法