首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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;
}
选项
答案
(4)&img或img→myObs[loop]
解析
逐个更新ImageView结构变量。
转载请注明原文地址:https://kaotiyun.com/show/PujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
阅读下列说明,根据网页显示的效果图,回答问题1至问题3。[说明]某咨询公司对外提供行业研究报告,其客户分为银卡、金卡及VIP客户,行业研究报告级别分为A、B和C三类,分别对应VIP、金卡及银卡权限。行业研究报告访问权限定义如下:不同级别用户
阅读以下说明,回答下列问题,将解答填入答题纸对应的解答栏内。【说明】某公司有市场部和财务部两个部门,每个部门各有20台PC,全部接到一个48口交换机上,由一台安装Linux的服务器提供DHCP服务。网络拓扑结构图如图3—1所示。
试题一阅读以下说明,回答【问题1】至【问题5】,将解答填入答题纸对应的答题栏内。【说明】某网站拓扑结构如图1-1所示,用户由DHCP服务器分配IP地址,FTP服务器的操作系统为WindowsServer2003,个服务器的
阅读以下说明,回答问题。【说明】某单位网络拓扑结构如图2一1所示,FTP服务器的域名为xhftp.SoftwareExam.com。依据图2一2配置好FTP服务器后,其数据端口为(5)。若尚未配置域名记录,在浏览器中可输入URL(6)来访
阅读以下说明,回答问题1~问题5,将解答填入对应的答案栏内。【说明】图2.143是某小型公司网络拓扑结构,其中代理服务器的两块网卡的设置已在图中标出。该代理服务器使用基于Linux的Squid代理服务器,下面为该服务器中文件
(69)is permanently stored in the computer and provides a link between the hardware and other programs that run on the PC.
若用8位机器码表示十进制数-101,则原码表示的形式为(8);补码表示的形式为(9)。
在Excel表处理软件中,(16)是当公式在复制或移动时会根据移动的位置自动调节公式中引用单元格的地址。假设单元格A1、A2、B1和B2内容如下图所示,并在 C1中输入公式“=$A$1+$B$1”,并将公式复制到C2,那么C2的内容为(17)。
A user interface can be defined as the combination of hardware and software that helps people and computers(70)with each other.
某计算机字长为8位,它用补码、原码或反码来表示带符号的二进制整数(最高一位为符号位),则机器代码11111111所表示的十进制真值分别为(4)、(5)或(6)。
随机试题
结节型肺泡细胞癌的X线表现是
反甘草的药物是()
尿中白细胞增多常见于()。
五志化火属于
下列关于城市维护建设税纳税地点的说法中,正确的有()。
“应付债券”项目应该根据“应付债券”总账科目余额填列。()
简述消化系统的组成及如何吸收与消化。
Oneinsix.Believeitornot,that’sthenumberofAmericanswhostrugglewithhunger.Tomaketomorrowalittlebetter,Feedin
TheMostBeautifulCityinAmericaIthasbeencalledthemostbeautifulcityinAmerica.Italsoisthesubjectofaveryp
NextmonthBritonswillhaveyetmoresmartphonestochoosefrom,whendevicesfromWiko,atwo-year-oldFrenchcompany,goons
最新回复
(
0
)