首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 模拟试题 > 软件设计师 > 正文

2010软考软件设计师考前练习试题及答案解析(2)

来源:考试吧Exam8.com) 2010-10-21 11:18:26 考试吧:中国教育培训第一门户 模拟考场
为帮助考生备考,考试吧整理了2010软考软件设计师考前练习试题及答案解析。

  106.若有以下定义,则数值为4的表达式是(125)

  intw[3][4]={{0,1},{2,4},{5,8}},(*p)[4]=W;

  (125)A. *w[1]+l

  B. p++,*(p+1)

  C. w[2][2]

  D. p[1][1]

  参考答案:(125)D。

  解析:二维数组定义有多种赋初值的办法,问题给出的代码是按行给数组的部分元素赋初值。它们分别是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的第一行。A的代码,*w[1]+1中的W[l]是指向w[l][0]的指针,*w[1]就是w[1][0],其值是2,*w[1]+l的值是3。B的代码是逗号表达式,“p++,*(p+1)”先使p指向数组w的第二行,*(p+l)中的p+l是指向数组w的第三行,*(p+1)是指针值,指向数组w的第三行的第一个元素,即&w[2][0].C的代码w[2][2]引用数组W第三行的第三列元素,其值是0。D的代码p[1][l]引用数组W第二行的第二列元素w[1][1],其值是4。所以解答是D。

  107. 若有下面的程序片段,则对数组元素的错误的引用是(126)

  inta[12]={0},*p[3],**pp,i;

  for(i=0;i<3;i++)p[i]=&a[i+4];

  pp=P;

  126)A. pp[0][1]

  B. a[10]

  C. p[3][l]

  D. *(*(p+2)+2)

  参考答案:(126)C。

  解析:上述代码定义变量a是有12个整型元素的数组,它的初值全是0。p是有三个元素的指针数组,每个指针能指向整型变量。哪是指针的指针,它能指向一个指向整型变量的指针,i是一个整型变量。执行代码for(i=0;i<3;i++)P[i]=&a[i+4]使指针数组p的元素p[0]指向a[4],p[l]指向a[5],p[2]指向a[6]。代码pp=p使指针变量pp指向p[0]。A代码pp[0][l]用指针表达可等价地写成*(*pp+l)。其中*pp就是p[0],p[0]的值是&a[4],*pp+1的值是&a[4]+1=&a[5],*(*pp+1)就是a[5]。B代码a[l0]当然是引用数组a的元素。C代码p[3][1]数组p只有三个元素,没有p[3],所以是错误的。D代码*(*(p+2)+2)中的(p+2)是&p[2],*(p+2)是p[2],其值是&a[6],*(p+2)+2的值是&a[8],*(*(p+2)+2)引用的是a[8]。所以解答是C。

  108.若有如下定义和语句,则输出结果是(127)

  int**pp,*p,a=10,b=20;

  PP=&p;P=&a;P=&b;printf("%d%d ",*p,**PP);

  (127)A.10,20

  B. 10,10

  C. 20,10

  D. 20,20

  参考答案:(127)D。

  解析:上述代码定义变量pp是指针的指针,它能指向一个指向整型变量的指针。定义变量p是指针,它能指向一个整型变量。a是一个整型变量,它有初值10。b也是一个整型变量,它有初值20。代码pp=&p使pp指向p,p=&a使p指向a,p=&b又使p指向b,不再指向a。所以。p是引用b,其值为20。**pp是通过pp间接引用p,再通过p间接引用b,所以也是20。所以解答是D。

  109.若有以下定义和语句,则对w数组元素的非法引用是(128)

  intw[2][3],(*pw)[3];pw=w;

  (128)A. *(w[0]+2)

  B. *pw[2]

  C. pw[0][0]

  D. *(pw[l]+2)

  参考答案:(128)B。

  解析:上述代码定义2行3列的二维数组w,定义能指向有3个整型元素一维数组的指针pw,并让pw指向数组w的第一行。A代码*(w[0]+2)中的w[0]是&w[0][0],w[0]+2是&w[0][2],所以*(w[0]+2)就是w[0][2]。B代码*pw[2]中的pw[2]是&w[2][0],该数组w只有2行,没有w[2][0],所以代码*pw[2]是对数组W元素的非法引用。C代码pw[0][0]就是w[0][0]。D代码*(pw[l]+2)中的pw[1]就是*(pw+l),即&w[l][0],pw[l]+2就是&w[l][2],所以*(pw[1]+2)就是w[1][2]。所以解答是B。

上一页  1 2 3 4 5 6 下一页
  相关推荐:考试吧策划:2010年软件水平考试完全指南
       2010年11月计算机软件水平考试备考宝典汇总
文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。