国家工信部网站备案实名:湖北自考网 为考生提供湖北自考信息服务,仅供学习交流使用,官方信息以湖北教育考试院为准。

湖北自考网

网站首页 自考专业 自考院校 考场查询 成绩查询 网上报名 考生平台
专题:
自考报名时间 考试时间 自考培训 模拟考试 教材大纲 免考办理 转考办理 实践考核 毕业申请 学位英语培训 学位申请 专升本 成人高考 招生老师
湖北自考在线 湖北学位英语培训班 湖北成人高考报名 湖北自考视频免费领取
当前位置:湖北自考网 > 自考“高级语言程序设计”习题答案详解(27) -自考串讲笔记

自考“高级语言程序设计”习题答案详解(27) -自考串讲笔记

湖北自考网 来源: 时间:2008-11-08 15:43:17

  11.若有下面的程序片段,则对数组元素的错误弓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)

  「解」上述代码定义变量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].所以解答是@。

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

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

  PP=&p; P=&a; P=&b; printf(“%d%d\n”,*p,* *PP);

  ①10, 20 ② 10, 10

  ③ 20, 10 ④ 20, 20

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

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

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

  ① *(w[0]+2) ②*pw[2]

  ③pw[0][0] ④*(pw[l]+2)

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

  5.2 填充题

  1.“* ”称为___________运算符,“&”称为_________运算符。

  「解」单目运算符“*”称为取内容运算符,单目运算符“&”称为取地址运算符。

  2.若两个指针变量指向同一个数组的不同元素,可以进行减法运算和___________运算。

  「解」若两个指针变量指向同一个数组的不同元素,可以进行减法运算求它们所指元素相差多少元素。进行关系运算,判定它们所指元素的前后,或是否指向同一个元素等。

  3.设 int a[10] ,*p=a;则对a[3]的引用可以是p[______________] 和*(p_________)。

  「解」若指针p指向数组a的首元素,则引用a[3]用指针p可以写成p[3]和*(p+3)。

  4.若d是已定义的双精度变量,再定义一个指向d的指针变量p的代码是___________.

  「解」若d是一个双精度变量,定义能指向它的指针变量p可以用以下代码double *p=&d.

  5.&后跟变量名,表示该变量的_________;*后跟指针变量名,表示该指针变量_______.&后跟的是指针变量名,表示该指针变量的_____________.

  「解」单目运算符&是取地址运算符,&后跟变量名,就表示该变量的地址。单目运算符*是取内容运算符,*后跟指针变量名,表示该指针变量所指变量的内容。若&后跟的是指针变量名,就表示该指针变量的地址。若知道指针变量的地址,欲通过指针变量的地址引用指针变量所指变量的内容,需要连续两次取内容运算。

  6.设有char *a=“ABCD”,则printf(“%s”,a)的输出是_______;而printf(“%c”,*a)的输出是______.

  「解」若给字符指针变量a赋一个字符串常量“ABCD”,实际上是给a赋指向字符串常量首字符‘A’的指针。程序通过它访问字符串中的各字符。如用代码printf(“%s”,a) 输出这个字符串常量“ABCD”的字符列ABCD,用代码printf(“%c”,*a)输出a所指的字符 A.

结束
本文标签
特别声明:1.凡本网注明稿件来源为“湖北自考网”的,转载必须注明“稿件来源:湖北自考网(www.hbzkw.com)”,违者将依法追究责任;
2.部分稿件来源于网络,如有不实或侵权,请联系我们沟通解决。最新官方信息请以湖北省教育考试院及各教育官网为准!
限时,免费获取学历提升方案

已帮助10w万+意向学历提升用户成功上岸

  • 毛泽东思想概论

    毛泽东思想概论

    培训优势:课时考点精讲+刷题+冲刺,熟练应对考试题型。全程督促学习,安排好学习计划。 毛泽东思想概论...自考培训
  • 英语二

    英语二

    本课程既是一门语言实践课程,也是拓宽知识、了解世界文化的重要素质课程,它以培养学习者的综合语言应用能力为目标,使他们在学习、工作和社会交往中能够使用英语进行有效的交流。 英语二...自考培训
  • 马克思主义基本原理概论

    马克思主义基本原理概论

    本书包括两个部分:自学考试大纲和基本原理。主要内容有,马克思主义是关于工人阶级和人类解放的科学,物质世界及其发展规律,认识的本质及其规律,人类社会及其发展规律,资本主义的形成及其发展,资本主义发展的历史进程,社会主义社会及其进程,共产主义社会及其进程等。 马克思主义基本原理概论...自考培训
  • 思想道德修养与法律基础

    思想道德修养与法律基础

    《思想道德修养与法律基础》课具有鲜明的政治性、思想性、理论性、针对性、科学性、知识性以及实践性和修养性。它包罗政治、思想、道德、心理本质、学习成才和法律本质等内容,指导和回答大学生在人生、抱负、信念等方面遍及关心和迫切需要解决的问题。 思想道德修养与法律基础...自考培训
  • 中国近代史纲要

    中国近代史纲要

    “中国近现代史纲要”全国高等教育自学考试指定教材,依据中央审定的普通高等学校“中国近现代史纲要”编写大纲以及马克思主义理论研究和建设工程重点教材《中国近现代史纲要》,结合自学考试的特点设计了十章,集中讲述1840年鸦片战争爆发一直到2007年中国共产党第十七次全国代表大会召开的160多年的中国近现代历史。 中国近代史纲要...自考培训
微信公众号 考试交流群
湖北自考网微信公众号

扫一扫关注微信公众号

随时获取湖北省自考政策、通知、公告以及各类学习资料、学习方法、课程。