厦门惠民大叔公益平台
微信关注
  •   快速交流可加微信:ixm007(已有3万厦门家长关注我,非官方积分入学免费咨询公益平台)
    信息学C++:合法 C 标识符
    减小字体 增大字体 作者:惠民大叔  来源:公众号  
    发布时间:2021-03-07 20:58:49

    题目描述

    给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。 C语言标识符要求: 1. 非保留字,本题不用判断; 2. 只包含字母、数字及下划线(“_”)。 3. 不以数字开头。

    输入格式

    一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。

    输出格式

    一行,如果它是C语言的合法标识符,则输出yes,否则输出no。

    样例

    样例输入

    RKPEGX9R;TWyYcp

    样例输出

    no

    ======

    代码如下:

    #include <iostream>

    #include <cstdio>

    #include <cstring>

      

    using namespace std;  

      

    const int N = 21;  

    char S[N]; 

      

    int main()   

    {  

    gets(S); //小心字符串中包含空格,回车:ASCII码13,换行:ASCII码10,空格:ASCII码32 

    int n = strlen(S);

    bool flag = 1;

    if (!(S[0]=='_' || isalpha(S[0])))

    {

    flag = 0;

    }

    else

    {

    for (int i=1; i<n; i++)  

       {  

           if (!(S[i]=='_' || isalnum(S[i])))

           {

    flag = 0;

    break;

    }

       }  

    }

        if (flag)

        cout << "yes" << endl;

        else

        cout << "no" << endl;

        

        return 0;     

    }   

    ======

    include <iostream>

    #include <string>

    #include <cassert>

    using namespace std;

    bool checkValidIdentifierOfC(string s)

    {

        char c = s[0];  // first char

        if (c>='0' && c<='9')

        {

            return false;

        }

        for(int i=0; i<s.size(); i++)

        {

            c = s[i];

            if ((c>='0' && c<='9') || (c>='a' && c<='z') ||

                (c>='A' && c<='Z') || (c == '_'))

            {

                continue;

            }

            else

            {

                return false;

            }

        }

        return true;

    }

        

    int main()

    {

        string strText;

        cin >> strText;

        assert(strText.size() <= 20);

        if (true == checkValidIdentifierOfC(strText))

        {

            cout << "yes" << endl;

        }

        else

        {

            cout << "no" << endl;

        }

        return 0;

    }

    ========

    关键词:


    作者:惠民大叔

    [] [返回上一页] [打 印]
  • ·上一篇资讯:私立幼儿园是得自行联系吗?是否要提前预约之类的呢
  • ·下一篇资讯:今年二年级转学到厦门读书
  •   快速交流可加微信:ixm007

    (已有3万厦门家长关注我、非官方积分入学免费咨询公益平台,有问题咨询微信bicn003)
    评论中心
    栏目导航
  • 厦门少儿美术培训
  • 厦门少儿艺术培训
  • 厦门少儿英语培训
  • 厦门少儿编程培训
  •   非官方私人微信:ixm009

    厦门积分入学资讯_i厦门技能落户政策_厦门惠民大叔网站
    Copyright © 2015-2025 惠民大叔 文章内容版权归原作者所有 有问题请沟通。
    [网站备案号: 闽ICP备06000384号]
    页面执行时间:99,914.06000 毫秒

    版权所有:厦门可心可亲电子商务有限公司,闽ICP备07075584号