首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
admin
2009-05-15
31
问题
阅读以下说明和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;
}
选项
答案
(4)&img或img→myObs[loop]
解析
逐个更新ImageView结构变量。
转载请注明原文地址:https://kaotiyun.com/show/PujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
在Linux下安装sendmail服务,sendmail服务程序需要读取一些配置文件,以下是sendmail的几个配置文件的主要内容。[/etc/sendmail.cf文件片断]CwlocalhostFw/etc/mail/loca
连接交换机与工作站的传输介质是什么?介质需要做成直通线还是交叉线?最大长度限制为多少?从以下备选答案中选择两种能够充当网关的网络设备。A.路由器B.集线器C.代理服务器D.网桥
(72)is a clickable string or graphic that points to another Web page or document.
若用8位机器码表示十进制数-101,则原码表示的形式为(8);补码表示的形式为(9)。
Windows系统安装时生成的Documents and Settings、Winnt和System32文件夹是不能随意更改的,因为它们是(16)。在Windows文件系统中,(17)是一个合法的文件名;(18)不是合法的可执行文件的扩展名。
某计算机字长16位,若采用定点补码整数表示数值,最高1位为符号位,其他15位为数值部分,则所能表示的最小整数为(8),最大负数为(9)。
在Excel表处理软件中,(16)是当公式在复制或移动时会根据移动的位置自动调节公式中引用单元格的地址。假设单元格A1、A2、B1和B2内容如下图所示,并在 C1中输入公式“=$A$1+$B$1”,并将公式复制到C2,那么C2的内容为(17)。
由6个字符的7位ASCⅡ编码排列,再加上水平垂直奇偶校验位构成下列矩阵(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位)。字符: 3 0 X1 X2 0 0 1 1 0 I 1 0 0 1 0 0 X3 1 + X4 1 0 1
IEEE-754标准规定:单精度浮点数的最高位为符号位,后面跟8位经偏移的阶码(移码),偏移量为+127,尾数用原码表示,且把尾数规格化为1.xxx.…x(x为0或1),并将1去掉,尾数用23位表示。根据该标准,十进制数+178。125的规格化表示形式为(
商业秘密是我国(62)保护的一项重要内容,包括技术秘密和经营秘密两项基本内容。
随机试题
以下选项中正确的语句组是()。
A.肝脏内有铜沉积B.线粒体抗体阳性C.铁沉积于肝脏D.肝纤维化E.乙型肝炎原发性胆汁性肝硬化特征性标志
超声评价胎儿-胎盘循环最常检测的血管是:
百日咳鲍特菌检出率最高的病期是
关于子宫内膜异位症下列表述哪项是错误的
女性患者,35岁。下肢出现紫癜1年,诊断为特发性血小板减少性紫癜。特发性血小板减少性紫癜的诊断依据不包括
关于子宫脱垂的临床特点下列哪项除外( )
企业战略联盟是两个或两个以上的经济实体(一般指企业,如果企业间的某些部门达成联盟关系,也适用此定义)为了实现特定的战略目标而采取的共担风险、共享利益的长期联合与合作协议。根据上述定义,下列属于企业战略联盟的是()。
一种最早用于科学计算的程序设计语言是(15);一种提供指针和指针操作且不存在布尔类型的、应用广泛的系统程序设计语言是(16);一种适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是(17);一种在解决人工智能问题上使用最多的、有较强的表处理功
软件调试的目的是______。
最新回复
(
0
)