爱问知识人 爱问共享资料 医院库

C语言有什么特殊的命名规则吗

首页

C语言有什么特殊的命名规则吗

Description 

输入一个字符串,判断其是否是C的合法标识符。
你可以参考以下命名规则:
1.由英文字母、数字、下划线组成;
2.用英文字母、下划线打头。

Input

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。

Output

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。

Sample Input

3
12ajf
fi8x_a
ff ai_2

Sample Output

no
yes
no

我自己编的程序:(帮忙看下漏洞出在哪里)

#include
#include
#include

int main (void)
{
char s[80];
int n=0;
while (scanf("%d",&n)!=EOF)
{
getchar();
while (n--){
gets(s);
//printf("%s ",s);
int i=0,l=strlen(s),flag=0,sign=0;
for (i=0;s[i]==' ';i );
sign=i;
for (i=sign;i<l;i )
if (s[i]==' '){
flag=1;break;
}
if (isalnum(s[sign])||(s[sign]=='_'))
{
if (isalpha(s[sign])||s[sign]=='_')
{
if (flag==0) printf("yes ");
else printf("no ");
}
else printf("no ");
}
else printf("no ");
}
}
return 0;
}

提交回答

全部答案

    2018-07-28 01:37:34
  •   您好,我也是学C语言的,根据你的问题我总结了一些,不知可否好用。
    根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。
    1 数据类型关键字
    A基本数据类型(5个)
    void :声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果
    char :字符型类型数据,属于整型数据的一种
    int :整型数据,通常为编译器指定的机器字长
    float :单精度浮点型数据,属于浮点数据的一种
    double :双精度浮点型数据,属于浮点数据的一种
    B 类型修饰关键字(4个)
    short :修饰int,短整型数据,可省略被修饰的int。
      
    long :修饰int,长整形数据,可省略被修饰的int。
    signed :修饰整型数据,有符号数据类型
    unsigned :修饰整型数据,无符号数据类型
    C 复杂类型关键字(5个)
    struct :结构体声明
    union :共用体声明
    enum :枚举声明
    typedef :声明类型别名
    sizeof :得到特定类型或特定类型变量的大小
    D 存储级别关键字(6个)
    auto :指定为自动变量,由编译器自动分配及释放。
      通常在栈上分配
    static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
    register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
    extern :指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定由另外文件声明的对象的一个“引用”
    const :与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)
    volatile :与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值
    2 流程控制关键字
    A 跳转结构(4个)
    return :用在函数体中,返回特定值(或者是void值,即不返回值)
    continue :结束当前循环,开始下一轮循环
    break :跳出当前循环或switch结构
    goto :无条件跳转语句
    B 分支结构(5个)
    if :条件语句
    else :条件语句否定分支(与if连用)
    switch :开关语句(多重分支语句)
    case :开关语句中的分支标记
    default :开关语句中的“其他”分治,可选。
      
    C 循环结构(3个)
    for :for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2。。。循环,其中2为循环条件
    do :do循环结构,do 1 while(2); 的执行顺序是 1->2->1。
      。。循环,2为循环条件
    while :while循环结构,while(1) 2; 的执行顺序是1->2->1。。。循环,1为循环条件
    以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。

    那***

    2018-07-28 01:37:34

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈
关注
爱问

关注爱问微信公众号,开启知识之旅,随时随地了解最新资讯。

确定举报此问题

举报原因(必选):