首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于C语言编程方面的说明和程序,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中: 程序1是关于文件操作的一段程序。 程序2是某信息管理系统的系
阅读以下关于C语言编程方面的说明和程序,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中: 程序1是关于文件操作的一段程序。 程序2是某信息管理系统的系
admin
2016-11-11
65
问题
阅读以下关于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;
}
}
【问题1】
变量存储类型是指数据在内存中存储的方法,即确定所定义的变量在内存中的存储位置,也确定了变量的作用域和生存期,内部变量有3种存储类型。假设有一个内部整型变量aa,请按不同存储类型给出相应的变量声明。
选项
答案
自动内部变量:int aa;或auto int aa; 寄存器内部变量:register int aa;或register aa; 静态内部变量:static int aa;
解析
本题考查C语言的基本概念和编程方面的基本知识。
【问题1】
变量存储类型是指数据在内存中存储的方法,即确定所定义的变量在内存中的存储位置,也确定了变量的作用域和生存期,内部变量:存储类型有3种,分别是:自动内部变量、寄存器内部变量、静态内部变量。
自动(auto)存储型变量又称自动变量,它是最常用的一种变量的存储类型,在函数内部或复合语句内部定义的局部变量(或称为内部变量)。只要存储类型是缺省的,均为自动变量。它的特点是其生命期域定义它的函数或复合语句的执行期同长,且有效范围仅在定义它的函数或复合语句内。
寄存器(register)存储型变量一般存储在计算机CPU的通用寄存器中,因而定义的这种类型变量存取速度快,适合于频繁使用的变量,可加快程序的运行速度,由于CPU中通用寄存器的数目有限,且每次可供C语言使用的通用寄存器数更有限,因而在程序中不宜大量使用这种存储类型的变量,以二三个为宜,当然超过可用的寄存器数,也不会出错,编译程序将会将超过可用寄存器数的寄存器型变量当作auto变量处理。一般将最频繁使用的变量定义成寄存器型变量。
静态(static)存储型变量是分配在存储器中C程序占据的数据段内,对运行的C程序而言,这是一个程序所用的固定内存区域,因而静态变量的存储地址在整个程序的运行执行期间均保留,不会被别的变量占据。静态变量可以定义成全局变量或局部变量,当定义成全局变量时,它在定义它的整个程序执行期间均存在,其原来的存储位置不会变化。当定义成局部变量时,虽然在定义它的函数内或复合语句中有效,但在执行完该函数或复合语句后,静态变量最后取得的值仍然保存,不会消失,因为它所占的存储地址不会被别的变量占用,这样,当程序再次调用该函数或执行该复合语句时,该静态变量当前值就是再次进入该函数或执行该复合语句的初始值。
假设有一个内部整型变量aa,按不同存储类型的变量声明如下:
a)自动内部变量:int aa;或auto int aa;
b)寄存器内部变量:register int aa;或register aa;
c)静态内部变量:static int aa;
转载请注明原文地址:https://www.kaotiyun.com/show/XQWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
下列网络互连设备中,属于物理层的是(29)________________。
在网络安全管理中,加强内防内控可采取的策略有(14)________________。①控制终端接入数量②终端访问授权,防止合法终端越权访问③加强终端的安全检查与策略管理④加强员工上网行为管理与违规审计
(16)是构成我国保护计算机软件著作权的两个基本法律文件。单个自然人的软件著作权保护期为(17)。(17)
某本科髙校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据,新增进修学
某企业人事管理系统中有如下关系模式,员工表Emp(eno,ename,age,sal,dname),属性分别表示员工号、员工姓名、年龄、工资和部门名称;部门表Dept(dnatne,phone),属性分别表示部门名称和联系电话。需要查询其它部门比销
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(53)
在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表查询或建立(65);用带(66)的条件子句等价替换OR子句;只检索需要的属性列等。(66)
某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是()。
某文件系统采用位示图(bitmap)记录磁盘的使用情况。若计算机系统的字长为64位,磁盘的容量为1024GB,物理块的大小为4MB,那么位示图的大小需要()个字。
随机试题
具有行气血作用的气是()
火力发电厂最大容量的电动机正常启动时,厂用母线的电压应不低于额定电压的()。
下列关于市销率的说法中,错误的是()。
下列各项中,不属于增量预算基本假定的是( )。
如图3,油画作品《宫娥》的作者是()。
某班级进行班委会选举,有7名候选人(3男4女),求在下列不同的要求下,可能的选法数.选择正、副班长各一人,要一男一女.
从所给的四个选项中,选择最符合左侧图形规律的一项:
若(1+x)+(1+x)2+…+(1+x)n=a1(x-1)+2a2(x-1)2+…+nan(x-1)n,则a1+2a2+3a3+…+nan=().
Modernliberalopinionissensitivetoproblemsofrestrictionoffreedomandabuseofpower.(1)_____,manyholdthatamancan
如果要验证程序某模块能否与其他模块按照规定方式正确工作,需要进行()。
最新回复
(
0
)