首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知C源程序如下: /**************************************************/ /* 功能:检查输入的标识符是否符合C语言规则 */ /**************************
已知C源程序如下: /**************************************************/ /* 功能:检查输入的标识符是否符合C语言规则 */ /**************************
admin
2011-01-12
49
问题
已知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://www.kaotiyun.com/show/dwNZ777K
本试题收录于:
四级软件测试工程师题库NCRE全国计算机四级分类
0
四级软件测试工程师
NCRE全国计算机四级
相关试题推荐
请根据[说明]和图3-19的显示结果,从以下备选答案中为程序(1)~(7)空缺处选择正确的答案。[备选答案]A.filFile.pathB.dirFile.Path=drvFile.DriveC.
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【函数2.1】voidsort(char*s,intnum){inti,j--num;chart;while(j-->1)for(i=
阅读以下说明及VisualBasic程序代码,将应填入(n)处的字句写在对应栏内。[说明]某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分(0到100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【说明】函数DelA_InsB(LinkedListLa,LinkedListLb,intkey1,intkey2,intlen)的功能是:将线性表A中关键码为key1的结点
阅读以下算法说明和C程序,根据要求回答问题1和问题2。【说明】【算法4-1】的功能是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号而没有对应的左括号或者右括号,则给出相应的提示信息,如图1-18所示。在【算法4-1】中,slac
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1和问题2。【说明】传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、StayOpen(保持打开)和Cl
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。【函数】#include<sldio.h>#incl
阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。【说明】以下【C程序】能将自然数1,2,…,N2按蛇形方式逐个存入N阶矩阵。换言之,程序从anO开始到aOn。为止(n=N-1)顺序填入自然数,交替地对每一斜
字符串是程序中常见的一种处理对象,在字符串中进行子串的定位、插入和删除是常见的运算。设存储字符串时不设置结束标志,而是另行说明串的长度,因此串类型定义如下:typedefstruct{char*str;//字
随机试题
A.皮内注射B.肌内注射C.静脉注射D.腹腔注射E.淋巴结注射颗粒性抗原一般选择
下列不是丹毒的临床特点是()
下列哪一项不是类风湿关节炎的关节外表现
A、金黄色葡萄球菌B、溶血性链球菌C、大肠埃希菌D、铜绿假单胞菌E、变形杆菌常伴有转移性脓肿
某工程采用实际费用法计算承包商的索赔金额,由于主体结构施工受到干扰的索赔事件发生后,承包商应得的索赔金额中除可索赔的直接费外,还应包括( )。
W公司主要从事小型电子消费品的生产和销售,产品销售以W公司仓库为交货地点。W公司日常交易采用自动化信息系统(以下简称系统)和手工控制相结合的方式。B注册会计师负责审计W公司20×4年度财务报表。资料一:B注册会计师在审计工作底稿中记录了所了解的W
下列()行为,依法不能给予治安管理处罚。
一辆机场大巴载有25名乘客途经9个站,每位乘客都等可能在这9站中任意一站下车(且不受其他乘客下车与否的影响),大巴车只在有乘客下车时才停车,求大巴车的停车次数的数学期望.
执行完下列语句inta,b,c=&a;int*&p=c;p=&b;后c指向
Susan:I’msogladtoseeyou,David.【K1】______hasbeensuchalongtime.Howareyou?David:I’mfine,andyou?Susan:I’mjus
最新回复
(
0
)