全部科目 > 软件评测师 >
2017年下半年 上午试卷 综合知识
第 38 题
知识点 结构体   耦合  
关键词 结构体   模块   耦合  
章/节 软件开发方法及过程  
 
 
模块A将其中的学生信息,即学生姓名、学号、手机号等放到一个结构体中,传递给模块B,则模块A和B之间的耦合类型为( )耦合
 
  A.  数据
 
  B.  标记
 
  C.  控制
 
  D.  内容
 
 




 
 
相关试题     结构化开发方法 

  第43题    2014年下半年  
在进行软件设计时,以下结构设计原则中,不正确的是 ( ) 。

  第26题    2010年下半年  
结构化分析(Structured Analysis, SA)是面向数据流的需求分析方法,(26)不属于SA工具。

  第46题    2011年下半年  
A模块通过简单数据类型(如整型)参数访问B模块,该参数在B模块内用于数据计算,则A、B模块之间存在(46)。

 
知识点讲解
· 结构体
· 耦合
 
        结构体
        利用结构体类型可以把一个数据元素的各个不同的数据项聚合为一个整体。结构体类型的声明格式为:
        
        例如,一个复数z=x+yi包含了实部x和虚部y两部分(x和y为实数),可以定义一个表示复数的结构体类型,并用typedef为结构体类型命名为Complex:
        
        在该定义中,Complex是这个结构体类型的名字,re和im是结构的成员。一般情况下,对结构体变量的运算必须通过对其成员进行运算来完成,成员运算符“.”用来访问结构体变量的成员,方式为:
        
        例如,定义结构体变量z,将-4和5分别赋值给一个复数z的实部成员变量和虚部成员变量:
        
        z.re和z.im相当于普通的double型变量。结构体外的变量名和结构体中的成员名相同时不会发生冲突。一个结构体变量的存储空间长度不少于其所有成员所占空间长度之和。
        结构体数据的空间中可能产生填充信息,因为对大多数处理器而言,访问按字或者半字对齐的数据速度更快,当定义结构体时,编译器为了性能优化,可能会将它们按照半字或字对齐。
        例如,下面两个结构体变量structA和structB的成员相同但排列顺序不同,用sizeof计算其所占用存储空间的字节数,sizeof(structA)的值为8,sizeof(structB)的值为12。其存储空间中的填充处理如下图所示。
        
        结构体变量的存储空间
 
        耦合
        耦合性是指模块之间联系的紧密程度。耦合性越高,则模块的独立性越差。模块间耦合的高低取决于模块间接口的复杂性、调用的方式及传递的信息。模块的耦合有以下几种类型:
        (1)无直接耦合:指两个模块间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。因此,模块间耦合性最弱,模块独立性最高。
        (2)数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。这种耦合程度较低,模块的独立性较高。
        (3)标记耦合:指两个模块之间传递的是数据结构,如高级语言中的数据组名、记录名、文件名等这些名字即为标记,其实传递的是这个数据结构的地址。
        (4)控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调模块通过该控制变量的值有选择地执行块内的某一功能。
        (5)公共耦合:指通过一个公共数据环境相互作用的那些模块之间的耦合。
        (6)内容耦合:这是程度最高的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部,这种模块之间的耦合为内容耦合,这种情况往往出现在汇编程序设计中。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有