惠民大叔-积分入学免费咨询公益平台
首 页资讯中心微信关注网站地图
  • 信息学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
    (非官方微信免费提供积分入学问题咨询。)

    惠民大叔家长社群开放报名:
    1、一整年的升学政策同步更新,
    2、一整年的插班生信息更新,
    3、一整年升学政策的独家解读,
    4、一整年几千条的家长咨询回复,
    5、一整年无限次的升学咨询,
    6、以及不公开的信息分享等等。
    继续指导大家的做好升学规划,带领大家探索孩子上学的更多可能性,我们相信,这将是你最值得加入的一个社群!
    了解更多关于上学报名的事,扫一扫二维码:

    • 好的评价 如果您觉得此资讯好,就请您
        0%(0)
    • 差的评价 如果您觉得此资讯差,就请您
        0%(0)

    资讯评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

      快速交流可加微信:ixm008

      惠民大叔家长社群开放报名:
      1、一整年的升学政策同步更新,
      2、一整年的插班生信息更新,
      3、一整年升学政策的独家解读,
      4、一整年几千条的家长咨询回复,
      5、一整年无限次的升学咨询,
      6、以及不公开的信息分享等等。
      继续指导大家的做好升学规划,带领大家探索孩子上学的更多可能性,我们相信,这将是你最值得加入的一个社群!
    关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图
      快速交流可加微信:ixm009(ixm惠民大叔)
    厦门积分入学资讯_i厦门技能落户政策_厦门惠民大叔网站
    Copyright © 2015-2025 惠民大叔 文章内容版权归原作者所有 有问题请沟通。
    [网站备案号: 闽ICP备06000384号] 版权所有:厦门可心可亲电子商务有限公司 页面执行时间:29,734.38000 毫秒