首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知C源程序如下: /**************************************************/ /* 功能:检查输入的标识符是否符合C语言规则 */ /**************************
已知C源程序如下: /**************************************************/ /* 功能:检查输入的标识符是否符合C语言规则 */ /**************************
admin
2011-01-12
44
问题
已知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)处的字句写在对应栏内。【说明】该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行
阅读以下应用说明、属性设置及VisualBasic程序代码,将应填入(n)处的字句写在对应栏内。【说明】本应用程序的运行窗口如图2所示。只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复进行闪烁;单击“停止”按
什么是临界资源(criticalresource)?请用100字以内的文字简要说明。【C代码1】所示的方法(1)实现共享资源的互斥访问。(1)A.能够B.不能
阅读以下两个说明、c函数和问题,将解答写入答题纸的对应栏内。【说明1】函数main()的功能旨在对输入的一个正整数n,计算12+22+32+…+n2,但是对该函数进行测试后没有得到期望的结果。【c函数】1.输入5测试上述main函数时,显示结果如
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】对20个数进行排序,可以利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依次类推,即用第二个元素与后18个进行比较,并进行交换。【函数】
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】编写程序,利用带参数的主函数main(),实现二进制文件的复制。比如,若该程序已生成可执行文件filebin.exe,在DOS操作系统命令状态下键入如下命令行:
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edlt_string,派生
阅读以下说明,回答问题1至问题5。[说明]客户机TUser连接终端服务器TServer的网络拓扑示意图如图2-1所示。关于终端服务器的安装,说法正确的是______。A.在安装Windows2003操作系统时已默认安装终端服务
随机试题
A.远志皂苷元AB.远志水浸膏C.远志皂苷3DD.远志皂苷HE.远志皂苷3C远志具有镇咳作用的成分是
A、DNA聚合酶B、核酶(ribozyme)C、RNA聚合酶D、限制性内切核酸酶E、DNA连接酶参与DNA转录的酶是
甲因病住进A医院,由医生乙实施了手术。但手术后,甲腹部一直疼痛不止。到B医院检查发现体内有异物,再次开刀手术。取出了上次手术遗留的针头。甲向A医院请求赔偿,A医院以手术前甲已在手术书上签字,同意“任何责任事故,医院均不承担责任”为由拒绝赔偿。问:甲应向谁要
土方开挖后,工程质量检验的内容有()。
根据《民法典》规定,适用无过错责任归责原则的侵权类型有()。
在足球比赛中,当裁判员两臂斜下伸,掌心向前,做连续前摆动作时,判罚的是()。
具体形象思维是依靠______,即依靠事物在头脑中的具体形象的联想进行的。
Judgingfromthecontext,"tokeepyourheadabovewater"(Paragraph1)probablymeans______.ColecoIndustries’casesuggests
有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为
(79)Extensivenewstudiessuggestthattheworldhasmadeextraordinaryprogressinreducingpovertyinrecentdecades.Theres
最新回复
(
0
)