首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
admin
2009-05-15
38
问题
阅读以下说明和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;
}
选项
答案
(1)*func
解析
定义func类型。
转载请注明原文地址:https://jikaoti.com/ti/awW7FFFM
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
请根据图6-15网页的显示效果,解释该ASP程序中用下画线标出的语句的含义,即填写(1)、(3)、(4)、(6)、(10)空缺处的解释内容。请根据图6-15网页的显示效果,将ASP程序中(2)、(5)、(7)、(8)、(9)空缺处的代码补充完整。
在Linux下安装sendmail服务,sendmail服务程序需要读取一些配置文件,以下是sendmail的几个配置文件的主要内容。[/etc/sendmail.cf文件片断]CwlocalhostFw/etc/mail/loca
阅读以下说明,回答问题1至问题5。[说明]某公司内部网络的工作站采用100Bass-TX标准与交换机相连,并经由网关设备采用NAT技术共享同一公网IP地址接入互联网,如下图所示。
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某单位网络结构如图2—1所示,该公司设有DNS服务器和Web服务器。网站信息如表2—1所示,要求用户能够通过在浏览器地址栏中输入https://ww
试题二阅读以下说明,回答【问题1】至【问题4】,将解答填入对应的解答栏内。【说明】某单位网络结构及各接口IP地址如图2-1所示,路由器R1的路由表结构及外部网络访问内网的路由记录如表2-1所示。【问题2】填充表2-2,
假设用12个二进制位表示数据。它能表示的最大无符号整数为(8);若采用原码,它能表示的最小负整数为(9)。
某计算机字长16位,若采用定点补码整数表示数值,最高1位为符号位,其他15位为数值部分,则所能表示的最小整数为(8),最大负数为(9)。
(3)是Excel工作簿的最小组成单位。若用户需要对某个Excel工作表的A1: G1的区域快速填充星期一、星期二、……、星期日,可以采用的方法是在A1单元格填入“星期一”并(4)拖动填充柄至G1单元格。
在我国发明专利的保护期限为(33)年,实用新型专利和外观设计专利的期限为(34)年。中国专利局授予的专利权适用的范围为(35)。商业秘密受保护的期限是(36)。
随机试题
四环素牙目前最常用、最简便的治疗方法是无实质性缺损的氟牙症最佳治疗方法是
不计入房屋面积的有()。
【背景资料】某办公楼工程,建筑面积l53000平方米,地下2层,地上30层,建筑物总高度136.6m,地下钢筋混凝土结构、地上型钢混凝土组合结构,基础埋深8.4m。施工单位项目经理根据《建设工程项目管理规范》(GB/T50326),主持编制了
将金融市场划分为证券市场和非证券金融市场的标准是()。
根据政府职能的动态变化确定社会公共需要的基本范围,确定公共财政收支占国内生产总值的合理比例,属于财政实现()的手段。
个人培训计划根据部门的实际培训需求制定。()
心理咨询师的()对咨询关系的建立与维护有至关重要的影响。
培训评估意义的体现来自于对培训过程的()。
四岁的小琪认为八个皮球和八只小熊是不一样多的。这反映该年龄段幼儿()
2004年华东股份有限公司实现销售收入2000万元,该公司在其产品质量保证书中有如下规定:在产品售出一年内,如发生正常的质量问题,华东股份有限公司将负责免费修理,根据该公司过去的经验,如果出现较小的质量问题,则发生的修理费用为销售收入的2%,如果发生较大
最新回复
(
0
)