a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 86|回复: 1

[软件设计师] 2012年软件水平考试软件设计师课后练习题(4)

[复制链接]
发表于 2012-8-2 09:08:23 | 显示全部楼层 |阅读模式
1.设有代码"int(*ptr)[10];”,其中的ptr是( )' a/ Q0 I$ q$ x( D7 Z$ B
  ①10个指向整型变量的指针
. e( R4 c+ H3 G: J4 |) w  ②指向10个整型变量的函数指针0 K1 }1 k! m/ K+ |1 z
  ③一个指向具有10个元素的一维数组的指针
$ V7 R8 D( l8 p( X+ Z  ④具有10个指针元素的一维数组
; P( }5 I6 C1 d5 d  2.若有以下界说,则数值为4的表达式是( )
6 l1 U! G' Y+ b. _3 ^* F4 i9 R  int w[3][4]={{0,1},{2,4},{5,8}},(* p)[4]= W;
0 G/ N- D/ [' C) C# \& B  f1 [) B  ①*w[1]+l  ②p++,*(p+1)  ③w[2][2]  ④p[1][1]
. ^7 N& e. x# l' q2 I, y. I  【解】代码“int(*ptr)[10];”的剖析过程是,因圆括号,括号内的ptr先与字符*连系,字符*润色标识符ptr是一种指针;接着与后面的一对方括号连系,暗示是这样的一种指针,是指向一维数组的;再有方括号中的10,声名这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,暗示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是 ③。此外,若是①,10个指向整型变量的指针,就是一个指针数组,上述代码应写成“int *ptr[10];”,即ptr是一个有10个指向整型变量的数组。若是②,返回值是指向10个整型变量的函数的指针,上述代码应写成“int(* (*ptr)())[10];”,即ptr是指针,指向一种函数,函数的返回值又是一种指针,指向10个元素的数组,数组的元素是整型的。下面的代码是这样的函数指针和函数的例子:
' Z. d% Q( K- L2 ^  # include
9 c2 U0 q& T: _8 f7 S  int a[][10]={{1,2,3,4,5,6,7,8,9,0} ,{0,1,2,3,4,5,6,7,8,9} };9 j" [4 d8 w; [/ {% X
  int(*(*ptr)(int))[10];- a6 R- z" O2 k1 y+ e* A
  int(*f( int n))[10]
' }3 ]: J+ P6 x# u  {return a+n;
* l# @- D* S6 b  }
# X- u7 B: b: A  void main()" E; z2 l) h, i; X2 t5 `) v7 R* W) o
  { int(*p)[10],*q;
1 w7 m) R: U6 S9 F! c+ j8 ?  ptr=f;/*让ptr指向函数f*/
$ z. M# t' S) u) }  P=(*ptr)(0);
, S% D* W7 O5 t7 N% _9 o$ o) T1 ~  q=*p;
& v9 }& b$ k6 ^  printf("%d\n", *p);' q! Z& d3 q1 v9 q% G% ~
  P=(*ptr)(l);7 [0 U  R5 U: m2 w/ E$ }$ T
  q=*p;
& I/ n" K8 k. n7 F  printf("%d\n", *q);. a) V) q1 c  g, t9 a/ y6 u2 Z

/ Q  ?9 t+ s$ C* v3 W. [  }
回复

使用道具 举报

 楼主| 发表于 2012-8-2 09:08:24 | 显示全部楼层

2012年软件水平考试软件设计师课后练习题(4)

</p>  在上述代滤鱿脯函数有一个int型的形参。若是④,其意义与①不异,上述代码应写成“int* ptr[10];”,即 ptr是一个有10个元素的数组,数组元素是指向整型变量的指针。
" \/ h8 K/ E3 U! R, ^  【解】二维数组界说有多种赋初值的法子,问题给出的代码是按行给数组的部门元素赋初值。它们分袂是w[0][0]=0.w[0][1]=1、w[1] [1]=2.w[1][1]=4,w[2][0]=5,w[2][1]=8。按照商定,未指定初值的元素自动置全0值。指针变量p是一个指向具有四个 int型元素的一维数组的指针,界说时的初值使它指向数组W的第一行。①的代码,*w[1]+1中的W[l]是指向 w[l][0]的指针,*w[1] 就是w[1][0],其值是2,*w[1]+l的值是3。②的代码是逗号表达式,“p++,*(p+1)”先使p指向数组w的第二行,*(p+l)中的 p+l是指向数组w的第三行,*(p+1)是指针值,指向数组w的第三行的第一个元素,即&w[2][0]. ③的代码w[2][2]引用数组W第三行的第三列元素,其值是0。④的代码p[1][l]引用数组W第二行的第二列元素w[1][1],其值是 4。所以解答是@。
' H7 P+ K2 `% S4 LNetworks can be interconnected by different devices in the physical layer networks can be connected by _(1)_ or hubs .which just move the bits from one network to an identical network. One layer up we find bridges and switches which operate at data link layer. They can accept _(2)_ examine the MAC address and forward the frames to a different network while doing minor protocol translation in the process in me network layer ,we have routers that can connect two networks, If two networks have _(3)_ network layer, the router may be able to translate between the packer formats. In the transport layer we find transport gateway, which can interface between two transport connections Finally, in the application layer, application gateways translate message _(4)_ .As an example, gateways between Internet e-mail and X.400 e-mail must _(5)_ the e-mail message and change various header fields.
6 ]& o/ v" g! Y7 k8 w4 Z  (1)A.reapers  B.relays  C.packages  D.modems
- w- {( }) Y+ t/ R$ P% ^4 G  (2)A.frimes  B.packets  C.packages  D.cells
; Q( B; v  A+ c: K5 \1 _. J  (3)A.special  B.dependent  C.similar  D.dissimilar
' F: I' M% r" o" C+ s+ h7 B* o, a; e  (4)A.syntax  B.semantics  C.language  D.format
9 Q3 x! N$ O' g, B$ g1 R( p4 R7 q) \  (5)A.analyze  B.parse  C.delete  D.create3 Z: X' d# ~8 ~% x
  参考谜底:A A D B B
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-19 23:14 , Processed in 0.220375 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表