a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 112|回复: 1

[软件设计师] 2012年软件水平考试软件设计师基础习题(7)

[复制链接]
发表于 2012-8-2 09:08:23 | 显示全部楼层 |阅读模式
7.1  单项选择题
/ m8 ^5 `1 ~/ J8 t6 [6 }  1.设有定义"struct {int x;int y;} d[2]={{1,3},{2, 7}};",则: Q1 L' {# S: c9 C$ w2 u7 N  b
  printf("%d\n", d[0].y/d[0].x*d[l].x);的输出是(   )$ S2 {% m! e; d" B2 z! U1 q
  ①O            ②l7 a* N& M0 Y. R& J
  ③3            ④6
. W: L! W4 N  r8 Q7 L9 p0 x  【解】结构数组d有两个结构元素,每个结构又由两个整型成分组成,初始化后,d[0].x=1,d[0].y=3,d[1].x=2。所以表达式d[0].y/d[0].x* d[l].x的值是 6。所以正确解答是④。
6 o* i* ]! A& o  2.设有定义"enum term { my, your=4, his, her=his+10};",则! O' v/ o% _4 l6 Q5 i8 d  D
  printf("%d,%d,%d,%d\n",my, your, his, her);3 l/ ^. ]: {% q+ i5 s4 z
  的输出是(   )
4 n: C7 d. t5 I9 i1 G* n  ^  ①0,l,2,3             ②0,4,0,10% f6 h) |; }4 Q2 D0 l5 K
  ③0,4,5,15            ④1,4,5,15
0 A/ W' z& l3 T& }  【解】按枚举类型定义的规定,枚举类型team的枚举常量对应的整数分别是my=0、your=4、his=5、her=15。所以语句输出0,4,5,15。正确解答是③。
. q7 P- X, V  h, P  3.以下对枚举类型名的定义中,正确的是()
! b$ E! I) b( W. L2 N  ①enum a ={one,two,three};0 `7 E7 M$ j5 k& l9 T* l8 f
  ② enum a{a1, a2,a3};8 `* ]; o$ M: L) q! e
  ③enum a ={’1’,’2’,’3’};
; q. s# e% S6 ~* [- [) w  ④ enum a {"one","two","three" };
' C4 @. u' v9 f# P. V* h) f  【解】枚举类型定义的句法是:
; E; O( _# Y; d" S8 O" ~5 Q. X  enum   枚举类型名 {枚举类型常量1,枚举类型常量2,……};
' |' P0 ?1 M" }, K  其中枚举类型常量都是互不相同的标识符。所以定义enum a {a1,a2,a3 };
7 o% V' F: _, x9 U; ~  是一个正确的定义。任何在枚举类型名之后接上 =,或用字符常量,或用字符串常量作为枚举类型常量都是不正确的定义。解答应是②。+ j% @8 p) `3 s1 n( `! i. `' Q
  4.若有如下定义,则 printf("%d\n", sizeof(them));的输出是(  )* K  M; k9 O4 Q
  typedef union { lOng x[2];int y[4];char z[8];} MYTYPE;MYTYPE them;/ s2 y$ C, K/ h0 m2 k2 e* q
  ①32            ②16            ③8             ④24
$ W; f* E5 z; @2 `  【解】共用型变量的成分是覆盖存储,为共用型变量分配存储时,以其中需要最多存储字节的成分进行分配。设long型数据占4个字节、int型数据占2个字节。共用型MYTYPE有三个成分,第一个成分是有两个long型元素的数组,它需要8个字节;第二个成分是有4个int型元素的数组,它也需要8个字节;第三个成分是有8个字符元素的数组,也是8个字节。所以MYTYPE类型的共用型变量只需要8个字节。正确解答是③。
8 X0 y$ u# j- \3 {1 y  5.设有以下说明和定义:3 m! T0 `5 P0 M, Z5 u* s( }
  typedef union {long i;int k[5]; char c;} DATE;
# _* X- Z! ^+ a8 M& F  struct date {int cat; DATE cow; double dog;} too;7 X0 j; S. a1 v- z4 v
  DATE max;1 k& {# E) Y: d" ~  |
  则下列语句的执行结果是(  )
- k! S1 L  ]6 J5 c; V1 Z  printh("%d",sizeof(struct date)+sizeof(max));- d7 l" m0 X6 z: Y1 G
  ① 26                 ② 30! v0 D! \6 l+ z  G; N% U4 Q' ~0 M
  ③ 18                  ④ 8 6 Z: v5 D4 ~+ \. k% H6 L  N! R
  【解】设long型数据占4个字节、int型数据占2个字节,double数据占8个字节。共用型DATE有三个成分:long型成分i,有五个int型元素的数组k,char型成分 c。所以 DATE类型的变量需要10个字节。结构类型date有三个成分:int型成分cat,DATE共用类型cow, double型成分dog。所以结构类型 date需要20个字节。所以表达式 sizeof(struct date)+sizeof max的值是30。正确解答是②。
/ {5 h* f. z8 C/ O  6.根据下面的定义,能打印出字母M的语句是(  )
3 C* k- X. r7 U& Z2 j+ y! f  struct person {char name[9]; int age; };
  I1 B: Q$ o! W4 Q5 {# P; A  struct person c[1O] = {{"John",17 },{"Paul",19 },{"Mary",18 },{"Adam",16 }};& Y2 o, x6 o3 E' h, x# B! H
  ① printf("%c", c[3].name);      ② printf("%c", c[3].name[1] );+ {  K" O0 h" H" p* j
  ③printf("%c",c[2].name[1]);      ④printf("%c",c[2].name[0] );
1 }( Q0 {, K/ W1 T& ?$ G- I  【解】结构类型struct person有两个成分:九个元素的字符数组name和一个基本整型age。元素类型为 struct person的数组c有10个元素,其中前四个元素被设定了初值。在已设定初值的元素中,只有c[2].mame[0]的值是字符M。其余元素及元素的成分都不是字符比正确解答是④。+ J- j( x9 `" M
  7.设有如下定义,则对data中的a成员的正确引用是(  )! a+ X# |4 c9 }: k, i+ R
  struct sk{int a;float b;} data,*p= & data;
* ]& I8 J5 z( I& ?2 ]7 c6 @' n1 q8 D  ①(*p).data.a      ②(*p).a      ③ p -> data.a       ④ p.data.a5 F2 d( I9 e: D& t1 m* x
  【解】结构变量data有两个成分a和b。结构指针变量p指向结构变量data。引用结构变量data的成分a有两种方法:一是直接由变量data引用其自己的成分a,写成data.a;二是通过指针变量p引用它所指的结构的成分a,这又有两种写法,分别是p -> a和(*p).a。正确解答是②。
回复

使用道具 举报

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

2012年软件水平考试软件设计师基础习题(7)

</p>
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 22:47 , Processed in 0.183655 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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