资料中心

自考“高级语言程序设计”习题答案详解(25)

来源:  点击数:  录入时间:07-09-13 16:43:33

4.若有说明语句“int a[10],*p=a;”,对数组元素的正确引用是( )

  ①a[p] ②P[a]

  ③*(P+2) ④P+2

  「解」在 C语言中,约定数组名单独出现在表达式中时,它表示数组首元素的指针。有int a[10] ,则a可以作为&a[0]使用。另有整型指针变

量p,代码p=a实现p指向数组a的首元素。则表达式*(p+2)是引用数组元素a[2].表达式a[p]和p[a]都是不正确的,下标必须是整型表达式,不可以是指针表达式。表达式p+2是指针表达式,它的值是&p[2].所以只有表达式*(p+2)引用数组a的元素a[2].所以解答是③。

  5.下面各语句中,能正确进行赋字符串操作的语句是( )

  ①char s[5] ={“ABCDE”}; ②char s[5] ={‘A’,‘B’,‘C’,‘D’,‘E’};

  ③ char *s;s=“ABCDE”; ④ char *s;scanf(“%”, s);

  「解」字符串最终存储于字符数组中,存储字符串的字符数组可以是程序主动引入的(定义或动态分配),也可以是字符串常量,由系统分配。其中字符数组用字符串初始化就是字符串存储于由程序引入的字符数组的例子。给字符指针赋字符串则是系统自动分配字符率存储空间的例子。给字符指针赋字符串并不是将一个长长的字符串存于字符指针变量中,而是将字符串常量存储于常量区,并将存储这个字符串的首字节地址赋给指针变量,让指针变量指向字符率常量的首字符。对于以字符串作为字符数组初值的情况,要求字符数组足够的大,能存得下字符串常量。这里有一个特别的规定,若数组的大小少于存储字符串有效字符的字节个数,系统将报告错误;当字符数组的大小只能存储字符串的有效字符,而不能存储字符率结束标记符时,则存储于字符数组中的内容是字符序列,因没有存储字符率结束标记符,存储的内容就不是字符串。

  如代码char a[5]=“ABCDE”。另外,给字符数组元素逐一赋字符初值,并在字符初值中没有字符串结束标记符,则存于字符数组中的内容也不是字符率。如代码 char s[5]={‘A’,‘B’,‘C’,‘D’,‘E’}.特别要注意当字符指针还未指向某个字符数组的元素时,不可以通过字符指针输入字符串。如代码char *s;scanf(“%s”,s)。若写成char *str;scanf(“%s”,&str)更是错误的了。由于C语言规定数组不能相互赋值,所以只能将字符串常量赋给某字符指针。如代码char *s;s=“ABCDE”是正确的。实际上,字符率“ABCDE” 被存储于常量区中,向指针变量赋的是字符指针,让s指向其中的字符‘A’。所以解答是③。

  6.若有以下定义,则不能表示a数组元素的表达式是()

  int a[10]={1,2,3,4,5,6,7,8,9,1o},*p=a;

  ①*p ② a[10] ③*a ④ a[p-a]

  「解」上述代码定义了有10个元素的整型数组。,和定义指针变量p,并让p指向数组元素a[0].所以代码*p是引用 a[0].由于数组a只有10个元素,最后一个元素是a[9],表达式a[10]是错误的。数组名a可以作为a的首元素的指针,表达式*a就是a[0] ,是对数组a的首元素a[0]的引用。指针p的值是a,表达式p-a.的值是0,所以a[p-a]就是a[0].所以解答是②。

  7.若有以下定义,则值为3的表达式是()

  int a[]= {1,2,3,4,5,6,7,8,9,10},*p=a;

  ①p+=2,*(p++) ③p+=2,* ++p

  ③p+=3,*p++ ④ p+=2,++ *p

  「解」数组a有10个元素,分别有值1至10,指针变量p指向a[0] ①逗号表达式 p+=2,*(P++),先是P+=2使P指向a[2],接着是*(P++),以当时P所指变量a[2]取内容3为表达式的值,同时使p指向a[3].②返号表达式p+=2,* ++p,先是p+=2使p指向a[2],以后是* ++p,又使 p增1,让它指向a[3],并取指针p所指变量a[3]的内

9 7 3 1 2 4 8 :
 上一篇文章: 自考“高级语言程序设计”习题答案详解(26)
 下一篇文章: 自考“高级语言程序设计”习题答案详解(24)
自考在线课堂
【 北京联合大学广告学院高教自考招 】
【 新加坡华夏管理学院2008年自主招 】
【 北大英语自考部招生日语英语专业 】
【 一年半获取国家承认自学考试证书 】
【 北京联合大学广告学院2008年自考 】
【 2008年首都联合职工大学招生简介 】
自考必读 新手入门 | 报考指南 | 免考加考 | 毕业申请 | 自考常识
自考BLOG
【 陈瑞华再次将自考生推向悬崖愤怒 】
【 让你电脑右下角显示你(爱人)名字 】
【 分享一下 一个自考生的成功经验 】
【 自考这两年半经验之谈,新手必读 】
自考专题
【 自考专题第三期:就业,我们也行 】
【 自考专题二期:晒晒我们的自考情 】
【 自考专题一期:呐喊,我们也考研 】
自考推荐
自考招生
自考知道:有问必答!
全国各省市自考办电话
各地区官方网地址大全
寻找同城异性自考朋友
欢迎您订阅北京考试报
各地10月自考报名时间
中国自考网俱乐部成立
08年10月自考成绩查询
2009年自考时间及课程
09上半年自考报名时间
08年7月自考成绩查询
新手入门

法律本科公司法还是考04版的教材吗
我错过的自学考试的报考时间怎么办
法律事务与律师自考有什么不一样?
问谁知道高教自考非教育类的专科生
我想参加自考 请问需要什么条件吗
请教关于自考新旧计划课程顶替问题
自己所在的省没有想学的专业怎么办
高等数学(一)免考 问题急盼回复

自考时间
专业课程
转考免考
学位实践
学科系别
违纪处罚
疑难杂症
自考推荐
自考论坛
资格考试·串讲资料
今日推荐
[四川] 武侯区08年下半年高教自考毕业证办理须知
[福建] 09自考轮机工程技术专业(专科)考试计划
[重庆] 2008年10月有6万余人参加高等教育自学考试
[福建] 2009年高教自学考试4门统考课考试安排确定
[安徽] 09年4月高等教育自学考试考生报名时间公布
[江西] 08年高教自考体育教育(本科)课程的设置
[广东] 08广州某防空旅高教自学考试开设野外考场
[内蒙古] 08年高等教育自学考试课程免考相关规定
[广东] 有关汕头09年1月高等教育自学考试报考通知
[贵州] 09年高等教育自学考试课程安排有关的通知