网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。

【说明】

在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用4个不同设备驱动程序,但没有用到函数指针变量。

【C语言代码】

/*变量与类型说明*/

include "stdio.h"

include "stdlib.h"

extern int sys_status;

extern int Dev_drv1(int arg1, int arg2);

extern int Dev_drv2(int arg1, int arg2);

extern int Dev_drv3(int arg1, int arg2);

extern int Dev_drv4(int arg1, iht arg2);

define NOERROR 0

type struct {

int _fd;

} TYP_DEV_TAB;

TYP DEV_TAB dev_tab[50]= {101,99, 80, 120,};

/*程序代码*/

void manage_device(int devid, int arg1, int arg2)

{ int place ;

int ret;

for(place=0 ; place<50 ; place++)

if dev_tab [place]. fd == devid) break;

if(place>=50)

printf(" NO DEVICE fd = %d\n ",devid);

switch(dev_tab [place]._fd) {

case 80:

ret = Dev_drv3(int arg1,int arg2);

break;

case 99:

ret = Dev_drv2(int arg1,int arg2);

break;

case 101:

ret = Dev_drv1(int arg1,int arg2);

break;

case 120:

ret = Dev_drv4(int arg1,int arg2);

break;

}

if (ret!=NOERROR)

printf(" DEVICE %d error!\n ", devid);

}

int Dev_drv1(int arg1,int arg2)

{

/*局部变量声明,略*/

/*驱动程序代码,略*/

}

int Dev_drv2(int arg1,int arg2)

{

/*局部变量声明,略*/

/*驱动程序代码,略*/

}

int Dev_drv3(int arg1,int arg2)

{

/*局部变量声明,略*/

/*驱动程序代码,略*/

}

int Dev_drv4(int arg1,int arg2)

{

/*局部变量声明,略*/

/*驱动程序代码,略*/

请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。

【C语言代码】

/*变量与类型说明*/

include "stdio.h"

include "stdlib.h"

extern int sys_status;

extern int Dev_drv1(int arg1, int arg2);

extern int Dev_drv2(int arg1, iht arg2);

extern int Dev_drv3(int arg1, int arg2);

extern int Dev_drv4(int arg1, int arg2);

define NOERROR 0

typedef struct {

int _fd;

(1) 函数指针变量说明;/* 变量名用process */

} TYP_DEV_TAB;

TYP_DEV_TAB dev_tab[50]= {{101, Dev_drv1},{99, Dev_drv2},

{80, Dev_drv3},{120, Dev_dry4},};

/* 程序 */

void manage_device(int devid, int arg1, int arg2)

{ iht place ;

int ret;

(2) 函数指针变量说明;/*局部变量,变量名用ProcAction */

for(place=0 ; place<50 ; place++) {

if(dev_tab [place]._fd == devid) {

(3) 语句1;/* 变量名胜ProcAction, 得到具体函数的入口地址 */

break;

}

}

if(place>=50)

printf("NO DEVICE fd = %d\n",devid);

(4) 语句2;

if(ret!=NOERROR)

printf("DEVICE %d error!", devid);

}


参考答案

更多 “ 阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。【说明】在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用4个不同设备驱动程序,但没有用到函数指针变量。【C语言代码】/*变量与类型说明*/include "stdio.h"include "stdlib.h"extern int sys_status;extern int Dev_drv1(int arg1, int arg2);extern int Dev_drv2(int arg1, int arg2);extern int Dev_drv3(int arg1, int arg2);extern int Dev_drv4(int arg1, iht arg2);define NOERROR 0type struct {int _fd;} TYP_DEV_TAB;TYP DEV_TAB dev_tab[50]= {101,99, 80, 120,};/*程序代码*/void manage_device(int devid, int arg1, int arg2){ int place ;int ret;for(place=0 ; place<50 ; place++)if dev_tab [place]. fd == devid) break;if(place>=50)printf(" NO DEVICE fd = %d\n ",devid);switch(dev_tab [place]._fd) {case 80:ret = Dev_drv3(int arg1,int arg2);break;case 99:ret = Dev_drv2(int arg1,int arg2);break;case 101:ret = Dev_drv1(int arg1,int arg2);break;case 120:ret = Dev_drv4(int arg1,int arg2);break;}if (ret!=NOERROR)printf(" DEVICE %d error!\n ", devid);}int Dev_drv1(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/}int Dev_drv2(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/}int Dev_drv3(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/}int Dev_drv4(int arg1,int arg2){/*局部变量声明,略*//*驱动程序代码,略*/请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。【C语言代码】/*变量与类型说明*/include "stdio.h"include "stdlib.h"extern int sys_status;extern int Dev_drv1(int arg1, int arg2);extern int Dev_drv2(int arg1, iht arg2);extern int Dev_drv3(int arg1, int arg2);extern int Dev_drv4(int arg1, int arg2);define NOERROR 0typedef struct {int _fd;(1) 函数指针变量说明;/* 变量名用process */} TYP_DEV_TAB;TYP_DEV_TAB dev_tab[50]= {{101, Dev_drv1},{99, Dev_drv2},{80, Dev_drv3},{120, Dev_dry4},};/* 程序 */void manage_device(int devid, int arg1, int arg2){ iht place ;int ret;(2) 函数指针变量说明;/*局部变量,变量名用ProcAction */for(place=0 ; place<50 ; place++) {if(dev_tab [place]._fd == devid) {(3) 语句1;/* 变量名胜ProcAction, 得到具体函数的入口地址 */break;}}if(place>=50)printf("NO DEVICE fd = %d\n",devid);(4) 语句2;if(ret!=NOERROR)printf("DEVICE %d error!", devid);} ” 相关考题
考题 阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。[说明] 现有如下关系模式:R(A,B,C,DE),其中,A,B为组合键,R上存在的函数依赖有(A ,B) →E,B→C,C→D该关系模式满足2NF吗?为什么?

考题 阅读下列说明,回答问题1至问题4,将解答填入对应栏内。【说明】提高操作系统的安全性是保障计算机和网络安全的重要内容之一,回答与Windows Server 2008安全管理相关的问题。刚刚安装完成的Windows Server 2008存在安全漏洞,应该如何解决?

考题 阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。[说明] 输入1个长整型,求各位数字的平方和。例如:输入-123,输出14。include <stdio. h>void main( ){ int digit;long in , s;seanf(" % Id", in );(1);(2);while(in >0) {(3);s = s + digit* digit;(4);}pfinff( "sum = % 1dn", s );}

考题 阅读下列说明,回答问题1至问题2,将解答填入对应栏内。【说明】利用Windows Server 2008架设邮件服务器,回答相应问题。邮件服务器通常提供POP3和SMTP两种服务,它们各有什么作用?

考题 阅读下列说明,回答问题1至问题4,将解答填入对应栏内。【说明】Windows Server 2008是基于Windows NT的技术,支持完善的NTFS分区格式。请简要说出NTFS的特点。

考题 阅读以下说明和C语言代码,回答问题1至问题5,将解答填入答题纸的对应栏内。[说明]在实模式存储管理方案下,嵌入式系统的内存地址空间的布局一般可以分为五个段:代码段(text)、数据段(data)、bss段(bss)、堆(heap)和栈(stack)。图16-4为一段例程。1: include2: unsigned char gvCh;3: unsigned short gvShort;4: unsigned int gvInt = 0x12345678;5: unsigned long gvLong = 0x87654321;6: void main(void)7: {8: unsigned char array[lO],*p;9: p = malloc(lO*sizeof(char));10: while (1);代码段、数据段和bss段的大小是在什么时候确定的?

考题 阅读以下说明,回答问题1和问题2,将解答填入对应栏内。【说明】在信息系统工程监理中,由于各方面的原因,对于监理单位而言,也是存在风险的。监理工作的风险有哪些?

考题 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]下面是用小王用Dreamweaver MX编写的一个网页,如图12-2所示。从这个图片上,我们可以看出小王使用了Dreamweaver MX的哪些功能?

考题 阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】在Windows的网络配置中,对网络协议进行IP地址配置,出现图5-1所示的对话框。什么场合下,可选择自动获取IP?什么场合下,选择人工配置IP?

考题 阅读下列说明,回答问题1至问题4,将解答填入对应栏内。【说明】希赛IT教育研发中心要建立一个22台微机组成的局域网,请你从目前所掌握的技术,回答如下问题。从目前所流行的成熟技术角度,宜采用哪种技术组建该网络?还有什么其他技术可以考虑。

考题 阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。[说明]阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。(1)

考题 阅读以下说明,回答问题1~3,将解答填入对应栏内。Windows组网是指把Windows终端和服务器连接起来。如图3所示给出了在Windows操作系统中的典型LAN配置。在OSI参考模型有哪几层?

考题 阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】结构化布线成为网络设计和管理的首先考虑的问题,当实施结构化布线时,需要进行详细的规划设计。综合布线系统设计时,应遵循哪些原则?

考题 阅读以下说明,回答问题1至问题4,将解答填入对应的解答栏内。【说明】IE浏览器支持HTTP、HTTPS和FTP等多种协议。如果在IE地址栏中输入192.168.0.1,如图4-1所示,则默认的通信协议是(1);如果要访问FTP服务器(地址为192.168.0.2),应该在地址栏中输入(2)。

考题 阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]如图10-4所示是电子商务系统平台结构示意图。请把空缺的地方填写完整。

考题 阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]电子商务系统的外部社会环境如图10-5所示。请把空缺的地方填写完整。

考题 阅读以下说明,回答问题,将解答填入对应的解答栏内。. [说明] 请完成流程图以描述在数据A(1)至A(10)中求最大数和次大数的程序的算法。并将此改成PAD图。该算法的流程图如下图:

考题 阅读以下说明和关系表,回答问题1~5,将解答填入对应的解答栏内。[说明]试用SQL查询语句表达下列对教学数据库中的3个基本表STUDENT,COURSE,SC的查询[关系表]查询全体学生的姓名和年龄。

考题 阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应栏内。【说明】使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。以下是一段C语言代码,请仔细阅读并回答相关问题:【问题1】(6分)请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。将答案填写在答题纸的对应栏中。【问题2】(5分)画出以上代码的流程图,将答案填写在答题纸的对应栏中。【问题3】(4分)请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取值范围,将答案填写在答题纸的对应栏中.

考题 阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某公司网络的 Internet接入方式如图3-1 所示。【问题 1】(4分)查看路由器R1的状态信息如图3-2所示, 则可以确定R1的E0端口IP地址是 (1) ,E1端口的IP地址是 (2) 。

考题 阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明】某公司为保护内网安全,采用防火墙接入Internet,网络结构如图4-1所示。【问题 1】(2分)防火墙支持三种工作模式:透明网桥模式、路由模式和混杂模式。在 (1) 模式下,防火墙各个网口设备的IP地址都位于不同的网段。

考题 阅读以下C代码,回答问题1和问题2,将解答填入答题纸的对应栏内。【C代码1】 【问题2】写出【代码2】的运行时的输出结果。

考题 l阅读以下说明,回答问题l至问题4,将解答填入答题纸对应的解答栏内。 【说明】 某小公司网络拓扑结构如图1-l所示,租用了一条ADSL宽带来满足上网需求,为了便于管理,在Server2上安装DHCP服务提供IP地址动态配置。 【问题1】(4分) ADSL利用 (1) 网络,采用 (2) 复用技术来实现宽带接入。

考题 阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。 【说明】 某留言系统采用ASP+Access开发,其后台管理登录页面如图4-1所示。 【问题1】(9分) 以下是该后台管理登录页面login.asp的部分代码,请仔细阅读该段代码,根据图4-1 将(1)~(9)的空缺代码补齐。 【问题2】(6分) 1.在登录页面 login.asp 中通过导入了bbb.asp的代码,以下是bbb.asp的部分代码,请仔细阅读该段代码,将空缺代码补齐。

考题 阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。 【说明】 Windows 系统的用户管理配置中,有多项安全设置,如图2-1 所示。

考题 阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。 main( ){int i,n; //1for(i=1;i

考题 阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。 【说明】 某企业网络拓扑如图1-1所示,A~E是网络设备的编号。

考题 阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。 【说明】 某企业采用Windows Server 2003配置了DHCP、DNS和WEB服务。 【问题1】(每空1分,共4分) DHCP服务器地址池192.168.0.1~192.168.0.130,其中192.168.0.10分配给网关,192.168.0.11~192.168.0.15分配给服务器,192.168.0.20分配给网络管理员。