首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知C源程序如下: /**************************************************/ /* 功能:检查输入的标识符是否符合C语言规则 */ /**************************
已知C源程序如下: /**************************************************/ /* 功能:检查输入的标识符是否符合C语言规则 */ /**************************
admin
2011-01-12
57
问题
已知C源程序如下:
/**************************************************/
/* 功能:检查输入的标识符是否符合C语言规则 */
/**************************************************/
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<conio.h>
#include<malloc.h>
char*IsLegal(char*CheckWorD) ;
const int MaxWordLen=32;
char*ErrorMessages[]={ /*错误信息列表*/
"合法!",
"首字符只能是字母或下划线!",
"常、变量只能由字母、下划线和数字构成!",
"常、变量标识不能用C语言关键字!"。
"常、变量标识不能用C语言预定义函数名!",
"内存不够!"
};
int main()
{
char*Prompt="C语言标识符的命名要遵守以下原则:";
char*TestWord;
int i;
TestWord=(char*)malloc(sizeof(char)*MaxWordLen);
/*TestWord存放用户输入*/
if(!TestWorD)
return 1;
/*显示部分提示信息*/
puts(Prompt);
for(i=1;i<=4;i++){
puts(ErrorMessages
);
}
while(1){
printf("\n\n请输入一个标识符(大写的Q退出):");/*提示*/
scanf("%s",TestWorD) ; /*得到用户输入*/
if(toupper)(TestWord[0]))==’0’)
break; /*循环出口*/
prind("\n%s %s",TestWord,IsLegal(TestWorD) );/*判定标识符的合法性*/
}
free(TesfWorD) ;
return 0;
}
/*此函数检验标识符命名的合法性*/
char*IsLegal(ehar*CheckWorD)
{
char*KeyWords[]={"auto","break","case","char","continue","const","default",
"do","double","else","enum",extern","float","for","goto",
"if","int","long","noalias","register","return","short",
"signed","sizeof","static","struct","switch","typedef",
"union","unsigned","void","volatile","while","defined",
"define","undef","include","ifdef","ifndef","endif","line",
"error","elif","pragma"}; /*C关键字列表*/
char*Functions[]={"close","crest","eof","fclose","fcloseall","feof","fopen",
"ferror","fgetchar","fgets","fprintf","fputc","fputchar",
"fseek","get","putch","putc","printf","open","putchar",
"puts","read","scanf","abs","acos","asin","math","atan",
"atan2","atof","atoi","atol","ceil","dos","cosh",ecvt",
"exp","fabs","floor","fmod","frexp","itoa","labs","ldexp",
"log","log10","modf","pow","rand","sin","sqrt","srand",
"strtod","strlol","tan","tanh","ultoa","memset","strcpy",
"strcat","strchr","strcrap","calloc","isalnum","isalpha",
"toascii","tolower","tollpper","exit"); /*C主要预定义函数列表*/
char*Others="_"; /*’_’也可以用于关键字,但我们不推荐您使用!*/
int WordLength,i;
char*WordTemp;
WordLength=strlen(CheckWorD) ;
/*检查标识符命名原则1*/
if((isalpha(CheckWord[0])==0)&&(CheckWord[0]!=Others[0]))
return ErrorMessages[1];
/*检查标识符命名原则2*/
for(i=0;i<WordLength;i++)
if((isalnum(CheekWord
==0)&&(CheckWord
!=Others[0]))
return ErrorMessages[2];
/*检查标识符命名原则3*/
for(i=0;i<44;i++)
{
if(!strcmp(CheckWord,KeyWords
))
return ErrorMessages[3];
}
/*检查标识符命名原则4 */
for(i=0;i<69;i++)
{
if(!stremp(CheckWord,Functions
))
return ErrorMessages[4];
}
return ErrorMessages[0];
}
参照QESAT/C软件分析与测试工具的规定,画出程序中所有函数的控制流程图;
选项
答案
[*]
解析
转载请注明原文地址:https://kaotiyun.com/show/dwNZ777K
本试题收录于:
四级软件测试工程师题库NCRE全国计算机四级分类
0
四级软件测试工程师
NCRE全国计算机四级
相关试题推荐
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkListhead)的功能是删除表中所有数值相同的多余元素,并释放结点空间。例如:链表初始
阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。[说明]若矩阵Am×n中存在某个元素aij满足:aij…是第i行中最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。下面程序的功能是输出A中所有鞍点,其中参数A使用二维数组表示,m
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】函数print(BinTreeNode*t;DateType&x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此
阅读以下说明和Java代码,将解答写入对应栏内。【说明】下面程序的功能是显示已定义的一个3行3列的二维数组每行的元素,并求所有元素的和并输出。请在程序的每条横线处填写一个适当的语句,使程序的功能完整。publicclassArr
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】设计一个评选优秀教师和学生的程序,其类结构如图6所示。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。【程序】#include<iostrea
阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。【说明】下面的程序用DoleRob算法生成N阶(N为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止。a.在第一行的
阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。【说明】设有3n+2个球互连,将自然数1~3n+2分别为这些球编号,使相连的两球编号之差的绝对值正好是数列1,2,…,3n+1中的各数,如下图所示:其中填自然数
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]这是一个模拟渡口管理的算法。某汽车轮渡口,过江渡船每次能载10辆车过江。过江车辆分为客车类和火车类,上船有如下规定:同类车先到先上船,客车先于货车上渡船,且每上4
[说明]某公司为保护内网安全,采用防火墙接入Internet,网络结构如图4-1所示。为了支持NAT,防火墙采用混杂模式(E2与E1之间,E2与E3之间采用路由模式,E3与E1之间采用透明网桥模式,请为防火墙的接口E1、E2、E3配置合适的I
随机试题
隐睾的病理形态中,以下哪项是错误的?
张某与李某为邻居。一日张某回家路过李某家,见李妻独自一人在家收拾衣服,遂起歹念,便破门而入,将其推倒在院内柴堆上欲行强奸,李妻大声呼救。刚好民警王某下班路过听到,王某表明身份后,喝令张某住手。张某掏出随身携带的匕首袭击王某,刺伤王某胸部,王某倒地。张某仍持
教师在一次活动中提出的通过活动计划或教案体现的目标是()
下列哪一个不是异烟肼的不良反应
下丘脑属于
(2011年单项选择第39题)在工商谈判的收局阶段,为促成成交,可以采用结果比较法。下列做法中,属于结果比较法的是()。
刑法第267条规定:“抢夺公私财物;数额较大的,处3年以下有期徒刑、拘役或者管制,并处或者单处罚金…”甲抢夺数额较大的财物构成犯罪,对甲适用上述规定处罚,可能正确的处罚是:
下列四条地形起伏曲线中,()曲线与下图中的Ⅰ-l剖面最为对应。
设{an},{bn},{cn}均为非负数列,且cn=∞,则().
Thecomprehensionpassagesonthiscoursearedesignedtohelpyouincreaseyourspeed.Ahigherreadingrate,withnolossofc
最新回复
(
0
)