当前位置:首页 > 全部子站 > IT > 水平考试

2010年软件水平考试软件设计笔试考前练习(12)

来源:长理培训发布时间:2017-12-08 20:58:30

 

1.若有下面的程序片段,则对数组元素的错误弓D用是( )

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

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

  pp= P;

  ①pp[0][1]  ②a[10]

  ③ p[3][l]  ④*(*(p+2)+2)

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

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

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

  ①10, 20  ② 10, 10  ③ 20, 10  ④ 20, 20

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

  【解】上述代码定义变量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。所以解答是④。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部