计算机软考软件设计师2019试题,软考试题及答案【2018计算机软考软件设计师考前练习试题及答案】...

软考网权威发布2016计算机软考软件设计师考前练习试题及答案,更多2016计算机软考软件设计师考前练习试题及答案相关信息请访问计算机软件水平考试网。

101. 廉价磁盘冗余阵列(RAID)是利用一台磁盘阵列控制器来管理和控制一组磁盘驱动器,组成一个高度可靠的、快速的大容量磁盘系统。以下关于RAID的叙述中,不正确的是 (106) 。

(106) A.RAID采用交叉存取技术,提高了访问速度

B.RAID0使用磁盘镜像技术,提高了可靠性

C.RAID3利用一个奇偶校验盘完成容错功能,减少了冗余磁盘数量

D.RAID6设置了一个专用的、可快速访问的异步校验盘

参考答案:(106)B。

102. Because Web Servers are platform and application (107) they can send or request data from legacy or external applications including databases. All replies, once converted into (108) mark-up language, can then be transmitted to a (109) .Used in this way, Intranets can (120) lower desktop support costs, easy links with legacy applications and databases and, (121) all, ease of use.

【供选择的答案】

(107) A.related B.dependent C.coupled D.independent

(108) A.supertext B.plaintext C.hypertext D.ciphertext

(109) A.client B.browser C.server D.router

(120) A.get B.ignore C.require D.offer

(121) A.above B.around C.about D.abort

参考答案:(68)~(72)D、C、B、D、A。

参考译文:由于Web服务是基于独立的平台和应用程序,因此它能够从包含数据库的现有的(或外部的)应用软件发送和接收数据。所有返回的结果一旦转换成超文本标记语言,就能传送给浏览器。使用这种方式,企业内部网(Intranet)可以提供更低的桌面支持成本,容易将现有的应用软件和数据库简单地连接起来,此外,它更容易使用。

103.设函数的功能是交换X和y的值,且通过正确调用返回交换结果。不能正确执行此功能的函数是(122)

(122)A. funa(int*x,int*y)

{int*p;

*p=*x;*x=*y;*y=*p;

}B. funb(intx,inty)

{intt;

t=x;x=y;y=t;

}

C. func(int*x,int*y)

{intp;

p=*x;*x=*y;*y=p;

}

D. fund(int*x,int*y)

{

*x=*x+*y;*y=*x-*y;*x=*x-*y;

}

参考答案:(122)A,B。

解析:设计实现交换两个变量值的函数。希望函数调用能改变调用环境中的变量,方法之一是让函数设置指针类型的形参,实参传送给形参的是希望交换值的两个变量的指针。函数的两个形参得到这两个变量的指针后,函数就能通过形参间接引用要交换值的变量,或引用它们的值,或改变它们的值。从而实现从函数传回信息存于调用环境的变量中。以上所述是设计交换变量值函数的一般原则,具体编写函数时还需注意对上述原则的正确应用。

对于函数funa,该函数的定义满足设置指针形参,并通过指针形参间接引用环境变量的要求。但是在函数体中定义了指针变量p,并在p宋明确设定它所指向的变量下,代码*p=*x企图将值存入它所指的变量中,这是初学者经常出现的一种严重的错误。该函数因有错,不能实现交换变量值的功能。

对于函数funb,该函数不定义指针形参,函数体也没有可用的指针间接引用调用环境中的变量,所以该函数也不能实现交换变量值的功能。

对于函数func,该函数正确定义了指针形参,函数体也正确通过指针形参间接引用环境中的变量,并正确定义了自己的局部变量。该函数能实现交换变量值的功能。

对于函数fund,该函数也正确定义指针形参和函数体通过形参间接引用环境变量。特别要指出的是,该函数是利用*x和*y的;日值与新值之间的关系实现问题要求的。其中第一个赋值使。x存有原来未交换之前的*x与*y之和;第二个赋值从这个和中减去原来的*y,并将差赋给*y,使*y的值是交换之前的*x的值;第三个赋值再次从和中减去新的*y,即减去交换之前的*x,这个差就是交换之前的*y,并将差赋给*x。经以上三个赋值,实现两变量之间的值交换。所以不能正确执行交换变量值的函数是funa和funb,即正确选择是A,B。

104.设有定义“chara[10]={"abcd"},*p=a;",则*(p+4)的值是(123)

(123) A. "abCd"

B. ’d’

C. ’\0’

D. 不能确定

参考答案:(123)C。

解析:若有chara[10]="abcd",*p=a,则指针变量p指向a[0]。在表达式*(p+4)中,p+4指向a[4],*(p+4)就是a[4]。由于用字符"abcd"给字符数组a赋初值,a[4]的值是字符串结束标记符’\0’。所以解答是C。

105.设有代码"int(*ptr)[10];”,其中的ptr是(124)

(124)A. 10个指向整型变量的指针

B. 指向10个整型变量的函数指针

C. 一个指向具有10个元素的一维数组的指针

D.具有10个指针元素的一维数组

参考答案:(124)C。

解析:代码“int(*ptr)[10];”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C。另外,要是A,10个指向整型变量的指针,就是一个指针数组,上述代码应写成“int*ptr[10];”,即ptr是一个有10个指向整型变量的数组。要是B,返回值是指向10个整型变量的函数的指针,上述代码应写成“int(*(*ptr)())[10];”,即ptr是指针,指向一种函数,函数的返回值又是一种指针,指向10个元素的数组,数组的元素是整型的。下面的代码是这样的函数指针和函数的例子:

#include

inta[][10]={{1,2,3,4,5,6,7,8,9,0},{0,1,2,3,4,5,6,7,8,9}};

int(*(*ptr)(int))[10];

int(*f(intn))[10]

{returna+n;

}

voidmain()

{int(*p)[10],*q;

ptr=f;/*让ptr指向函数f*/

P=(*ptr)(0);

q=*p;

printf("%d ",*p);

P=(*ptr)(l);

q=*p;

printf("%d ",*q);

}

在上述代码中,函数有一个int型的形参。要是D,其意义与A相同,上述代码应写成“int*ptr[10];”,即ptr是一个有10个元素的数组,数组元素是指向整型变量的指针。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值