首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
admin
2009-05-15
51
问题
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改变。一个ImageCon结构能够关联一组ImageView结构。当ImageCon结构的内容或状态发生变化时,所有与之相关联的ImageView结构都将被更新,这种应用被称为观察者模式。以下代码采用C语言实现,能够正确编译通过。
【C代码】
#include <stdio.h>
#define OBS_MAXNUM 20/*一个ImageCon变量最多能够关联的ImageView变量的个数*/
typedef void (1) (struc ImageCon *,struct ImageView *);
struct ImageView{
func update; /*ImageView结构采用的更新函数*/
/*其他的结构字段省略*/
};
struct ImageCon{
(2) myObs[OBS_MAXNUM];
/*存储所有与ImageCon相关联的ImageView结构指针*/
intindex; /*与ImageCon结构变量相关联的ImageView结构变量的个数*/
};
void attach(struct ImageCon *IMG,struct ImageView *ob){
/*关联Obersver结构ob与ImageCon结构IMG*/
int loop=0;
if(IMG→index>=OBS_MAXNUM||ob==NULL)return;
for(loop=0;loop<IMG→index;loop++)
if(IMG→myObs [loop]= =ob)return;
IMG→myObs[IMG→index]=ob;
IMG→index++;
}
void detach(struct ImageCon *IMG,struct ImageView *ob){
/*解除IMG结构与ob结构间的关系*/
int loop;
if(ob= =NULL)return;
for(loop=0;loop<IMG→index;loop++){
if(IMG→myObs[loop]= =ob){
if(loop<=IMG→index-2)
IMG→myObs[loop]=IMG→myObs[ (3) ];
IMG→myObs[IMG→index-1]=NULL;
IMG→index- -;
breack;
}
}
}
void updatel(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void update2(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void notifyObs(struct ImageCon *IMG){
/*当IMG结构的值发生变化时,通知与之关联的所有ImageView结构变量*/
int loop;
for(loop=0;loop<IMG→index;loop++){
(IMG→myObs[loop])→update (4);
}
}
void main(){
struct ImageCon IMG;/*定义一ImageCon变量*/
struct ImageView explorer1,explorer2;/*定义两个ImageView变量*/
/*初始化与ImageCon变量相关的ImageView变量个数为0*/
IMG.index=0;
explorer1.update=updatel;/*设置explorerl变量的更新函数*/
explorer2.update=update2;/*设置explorer2变量的更新函数*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
/*其他代码省略*/
(5);
return;
}
选项
答案
(3)index-1
解析
将index-1处的值赋给loop处的值。
转载请注明原文地址:https://kaotiyun.com/show/JujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
认真阅读以下网页制作和网页编程的内容,回答问题1~5,将解答填入对应的解答栏内。(1)网页制作[说明]某网络资源站点用JSP实现了一个简单的验证码登录控制,网页效果如右图所示。[login.jsp文档的内容]
连接交换机与工作站的传输介质是什么?介质需要做成直通线还是交叉线?最大长度限制为多少?从以下备选答案中选择两种能够充当网关的网络设备。A.路由器B.集线器C.代理服务器D.网桥
为了支持SNMP协议的管理功能,在基于WindowsServer2003操作系统的网络管理站中,需要进行哪些配置工作?在图6-7的系统输出信息中,变量sysServices值用于说明代理设备所提供的系统服务。IP地址为10.1.101.49的代理
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某单位网络结构如图1—1所示,其中楼B与楼A距离约1500米。在hostl中运行traeertwww.abc.eom命令后,显示结果如图1—2所示。依据
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某单位使用IIS建立了自己的FTP服务器,图2—1是IIS中“默认FTP站点属性”的配置界面。图2—1中FTP服务器默认的“TCP端口”是(1),
阅读以下说明,回答问题。【说明】某公司局域网拓扑图如图3一1所示,其中Sl为三层交换机,S2和S3为二层交换机。由于业务扩展,需在S2上创建vlan30,管理员在S2上使用了如下命令:S2(config)#vlan30V
在Windows操作系统中,“回收站”可以恢复(1)上使用<Del>键删除的文件或文件夹。在“我的电脑”窗口中,如果要整理磁盘上的碎片,应选择磁盘“属性”对话框的(2)选项卡。使用“资源管理器”时,(3),不能删除文件或文件夹。
数据库管理技术是在(20)的基础上发展起来的。数据模型的三要素是数据结构、数据操作和(21)。建立数据库系统的主要目标是减少数据的冗余,提高数据的独立性,并集中检查(22)。
(49)不属于计算机病毒防治策略。
随机试题
先天性巨结肠最常见的基因突变是
输血后为何会感染艾滋病病毒?
叶片呈披针形,基部耳形偏斜,不对称,孢子囊群在下表面侧脉间的药材是
巨大胎儿经阴道分娩可能对胎儿造成下列哪些损伤
高脂血症中,按病因分类的是
患者,女,40岁,缺失,金属烤瓷桥修复。作蜡型时采用同切开窗法制作基底冠蜡型同切的主要目的是
注册税务师在向委托人出具的执业文书中不包括()。
关于经济周期中的经营理财策略,下列说法正确的有()。
耶稣会士
阅读文章,完成下列5题。我是一只老狗,已到苟延残喘之年,即将离开这个世界。可是,在这个时刻,我想把我一生中悟出的道理讲出来,希望于狗和人的后代们有益。当然,这是狗的道理。我从很小的时候——也就是还不懂事的时候起,就跟随着主人。我曾经以为,他是大狗
最新回复
(
0
)