首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于C语言编程方面的说明和程序,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中: 程序1是关于文件操作的一段程序。 程序2是某信息管理系统的系
阅读以下关于C语言编程方面的说明和程序,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中: 程序1是关于文件操作的一段程序。 程序2是某信息管理系统的系
admin
2016-11-11
35
问题
阅读以下关于C语言编程方面的说明和程序,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:
程序1是关于文件操作的一段程序。
程序2是某信息管理系统的系统登录和密码验证程序,规定密码最长为20个字符。首先,打开密码文件sys_code,如果成功,则将文件中的密码信息与用户输入的密码进行比较,若相等,则身份验证通过并进入信息管理系统,否则输出错误信息并退出登录系统。如果打开文件sys_code失败,则由用户输入密码并保存到密码文件sys_code。
【程序1】
#include
#include
Void main{}
{
FILE*fp;
char c,fname[20];
printf("输入文件名:");
scanf("%s",fname);
if((fp=fopen(fname,"r“))==__________(1)
{
printf("不能打开文件:%s\n", fname);
exit(0);
}
while(__________(2)) /*检测文件是否结束*/
{
C=fgetc(fp); ’
if(___________(3)) /*检测文件是否出错*/
{
printf("文件读错误\n");
break;
}
putchar(c);
}
}
【程序2】
void password()
{
int sign=0;
sign=checkcode();
if(__________(1))
{
printf("\a\n\n\n\n\n\n\n\n\n\t\t密码错误,请重新登录!");
getch();
system("cls");
exit(1);
}
system("cls");
printf("\a\n\n\n\n\n\n\n\n\n\t\t");
printf("欢迎登录信息管理系统!\n");
getch();
return;
}
int checkcode()
{
FILE*fp;
char ch,syspwd[21]="\0";
char usrpwd[21]="\0";
int i;
/*身份验证*/
if((fp=fopen("sys code","r"))==NULL)
{
system("cls");
printf("please set your identify\n");
printf("password(<=20):");
for(i=0;i<20;i++){
ch=getchar();
if (ch==’\r’ ||ch==’\n’) break;
__________(2)=ch;
}
fp=fopen("sys code","W");
fputs(syspwd,fp);
fclose(fp);
return 0;
}
else{
system("cls");
fgetS(Syspwd,21,fp);
fclose(fp);
printf("please enter your password:");
for(i=0;i<20;i++){
ch=getchar();
if(ch==’\r’||ch==’\n’)break;
usrpwd
=ch;
}
if(strcmp(__________(3))!=0)
{
return 1;
}
return 0;
}
}
【问题2】
王工在编写某嵌入式程序时,用到对文件系统的操作,由于要保证系统的安全性,要求必须使用文件检测函数feof()和ferron(),完成【程序1】中的空(1)~(3),将答案写到答题纸相应的位置。
选项
答案
(1)NULL或者0 (2)lfeof(fp) (3)ferror(fp)
解析
王工在编写某嵌入式程序时,用到对文件系统的操作,由于要保证系统的安全性,要求必须使用文件检测函数feof()和ferror(),完成【程序1】中的空(1)~(3),将答案写到答题纸相应的位置。
feof()函数用于检测文件当前读写位置是否处于文件尾部。只有当当前位置不在文件尾部时,才能从文件读数据。
函数定义:int feof(FILE*fp)
返回值:0或非0
如果fp所指的文件的位置处于文件尾部,返回非0;否则返回0。在对文件进行读操作前,应用这个函数测试当前位置是否在文件尾部。
文件操作的每个函数在执行中都有可能出错,C语言提供了相应的标准函数ferror用于检测文件操作是否出现错误。
函数定义:int ferror(:FILE*fp)
返回值:0或非0
Ferror函数检查上次对文件fp所进行的操作是否成功,如果成功则返回0;否则返回非0。因此,应该及时调用ferror函数检测操作执行的情况,以免丢失信息。
【程序1】首先输入文件名,打开这个文件,如果不能打开,则输出“不能打开文件:XX”,程序退出。如果能正常打开该文件,则循环读这个文件,一次读一个字节,读取后,及时检测读操作是否出错,如果出错,报“文件读错误”,退出循环;否则输出该字符。在循环语句的判断条件中,检测文件是否结束,如果结束,则退出循环。【程序l】需要填空的三条完整语句为:
(1)if((fp=fopen(fname,"r"))==NULL)
(2)while(!feof(fp)) /*检测文件是否结束*/
(3)if(ferror(fp)) /*检测文件是否出错*/
转载请注明原文地址:https://kaotiyun.com/show/HQWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
计算机运行过程中,遇到突发事件,要求CPU暂时停止正在运行的程序,转去为突发事件服务,服务完毕,再自动返回原程序继续执行,这个过程称为(1)________________,其处理过程中保存现场的目的是(2)________________。
(68)________________不是分布式数据库管理系统应该遵循的准则。
(33)________________是按用户的观点对数据和信息建模,强调其语义表达功能,易于用户理解。
以下关于软件可靠性测试的叙述中,错误的是(26)________________。
某企业人事管理系统中有如下关系模式,员工表Emp(eno,ename,age,sal,dname),属性分别表示员工号、员工姓名、年龄、工资和部门名称;部门表Dept(dnatne,phone),属性分别表示部门名称和联系电话。需要查询其它部门比销
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(52)
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(53)
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()。
设备驱动程序是直接与()打交道的软件模块。
以下关于系统原型的叙述中,不正确的是()。
随机试题
药物的保管原则不正确的一项是
《张中丞传后叙》中,写张巡“就戮”时,“颜色不乱,阳阳如平常”,这种人物描写方法是()
下列叙述错误的是
李某2013年3月16日以价值100万元的专利权投资于A公司,取得公司20%的股权,2013年10月20日以80万元转让给其儿子李小某,以下说法正确的有()。(2014年)
C公司生产中使用的甲标准件,全年共需耗用9000件,该标准件通过自制方式取得。其日产量50件,单位生产成本50元;每次生产准备成本200元,固定生产准备成本每年10000元:储存变动成本每件5元,固定储存成本每年20000元。假设一年按360天计算,
脑科学家研究发现,将年龄因素考虑在内,女性的大脑皮层往往比男性要厚得多,皮层下区域中,男性的脑容量都大于女性。一般而言,大脑皮层越厚,皮层下脑容量越大,人在认知和一般智力测试中有更好的表现。在研究员观察这些皮层下区域相对于整个脑部的大小时,这些差异就比较接
“徒法不足以自行”。在目前公车管理还不甚规范的大环境下,单一的公车尾号限行政策值得_________。真要实行的话,要_________其负面作用。至少,要_________拿出措施防止公车因此而增加。依次填入画横线部分最恰当的一项是()。
A、 B、 C、 D、 D
设函数f(x)在闭区间[a,b]上有定义,在开区间(a,b)内可导,则()
Whichsportisbetterfortheoldtodo?
最新回复
(
0
)