云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 计算机二级考试复习资料答案1

计算机二级考试复习资料答案1

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 8:14:39

参考答案及解析

一、选择题

1. 答案:C

【解析】*s+2 相当于(*s)+2即先取出s所指的数据然后对其加2,s是字符串的首地址,所以*s即s[0]就是字符\,所以在它的ASCII码上加上数字2就变成了字母\的ASCII码,所以以%c格式输出,即为选项C)。

2. 答案:B

【解析】 p->x初始时为1,因为\->\的优先级大于\++\,所以先计算p->x的值加1等于2并输出,再计算p->y的值加1等于3并输出。因此,本题答案为B)。

3. 答案:C

【解析】题目中声明的p表示的是有4个整数指针元素的数组。A选项表示有四个整数元素的数组。B选项表示一个指向整数指针的指针。D选项声明了一个指针变量,它指向的是含4个元素一维数组。所以本题答案为C)。

4. 答案:B

【解析】 m和n的值不变,输出结果为1,2。指针*p和*q交换了指向的位置,即*p=&n,*q=&m,输出结果分别为2,1。

5. 答案:A

【解析】在本题中,p和q同为指向字符类型数据的指针。*q 和p[0]同为字符型数据。选项B)、C)和D)都符合题目的要求;选项A)计算得出的是指针类型数据所占的内存字节数。

6. 答案:C 【解析】本题的选项A)和B)犯了同样的错误,即指针变量在定义后并没有指向具体的变量。也就是说,指针变量中没有确定的地址值,它的值是不可预见的,所指的单元也是不可预见的,因此不能进行赋值操作。另外,在选项D)中,s是int型指针变量,p是char型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量p的值赋给整型指针变量s。

7. 答案:C

【解析】本题考查字符的输入函数getchar和利用scanf函数输入一个字符。用scanf输入字符时,格式说明字符应该为%c。本题选项C)因为指针p没有赋初值,所以是一个不定值,不能直接将getchar读入的字符赋给指针p所指向的字符,所以选项C)错误。

8. 答案:D

【解析】该程序的执行过程是:首先声明整型指针变量p和整型变量i,字符型指针变量q和字符型变量ch,将i的地址赋给指针变量p,将ch的地址赋给指针变量q,将40赋给*p,此时,q已经指向了一个具体的存储单元,但ch的值不确定,即*p没有确定的值,所以不能执行*p=*q语句。

9. 答案:B

【解析】本题主要考查了一维数组指针的赋值和用指针引用数组元素进行运算。选项B)中p2为指向int型变量的指针,而k为int型变量,不能将int型变量直接赋值给指向int型变量的指针,所以选项B)错误。

10. 答案:C

【解析】本题综合考查一维数组和多维数组指针变量的表示方法。在C语言中,引用数组元素的方法有两种,即下标法和指针法。下标法如a[i]形式;指针法如*(a+i)或*(p+1)。其中,a是数组名,p是指向数组的指针变量,其初值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意语句中指针型数组的书写格式,不能写成\数组名)[长度]\,因为这是定义指向含有\长度\个元素的一维数组的指针变量。例如有定义语句\,*p[3]={&a,&b,&c};\,它定义了一个名为p的指针型数组,其3个元素p[0]、p[1]、p[2]分别指向3个整型变量a,b,c。

11. 答案:D 【解析】通过赋值,指针p和q都指向了数组a的首地址,*(p++)先引用数组元素,然后p++,所以输出结果为2,**q指向的数组元素为4。

12. 答案:D

【解析】选项A)、B)、C)的指针赋值表达方式都不正确,*p=5表达整数5放到指针p所指向的存储单元中。

13. 答案:C

【解析】 本题考查scanf函数,其格式为:scanf(\控制格式\,地址表列)。其中地址表列中应为要赋值变量的地址。本题要为变量x和y赋值,并定义了两个指针分别指向x和y,因此取得变量x和y的地址的方法有两种,一种是使用取地址符号\,即&x和&y,另一种是使用指针变量,即px和py。选项A)和D)中地址表列表示错误;选项B)中控制格式与地址表列之间应用逗号分开。因此,本题正确答案为C)。

14. 答案:B 【解析】s指向数组首元素,s+3表示指针s向后移动3个位置,即数组的第4个元素a[3],

故选B。

15. 答案:B

【解析】 引用数组元素可以有两种方法,一种是使用下标值法,如x[i]表示引用数组下标为i的元素,另一种方法是使用指针引用数组元素,如*(pt+i)表示引用指针pt当前所指元素后的第i个元素。这两种方法的前提条件是所引元素的位置包含在数组范围以内,即不发生溢出,否则会出现错误。因此,本题的答案为B)。

16. 答案:B

【解析】x[5]={1.0,2.0,3.0,4.0,5.0},说明数组x有 5个元素。下标范围为0到4,选项B)中x[5]超过了下标范围,故引用错误。

17. 答案:D

【解析】通常,引用一个数组元素可以用下标法,如a[p-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意:数组的下标是从0开始的。

18. 答案:D

【解析】在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

19. 答案:C

【解析】p=&a[3]将指针指向数组a的第4个元素,p[5]指向数组a的第9个元素,而a[8]=9,所以b=9。

20. 答案:C

【解析】此题考查了指针引用一维数组元素的方法。*p+9因为运算符\的优先级高于\所以输出结果为p指向的元素1,然后加9,值为10。

21. 答案:D

【解析】本题考查数组指针的应用。选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。

22. 答案:A

【解析】在16位编译系统下,一个int 型变量是用16位来存储的,其占用两个字节,当执

行p++之后,相当于p向高位移动了一个存储单元,也就是两个字节。因此,本题的答案为选项A)。

23. 答案:B 【解析】本题考查了通过指针来引用一维数组元素的方法。题中*p=a;这一赋值语句是指针p指向了数组a的首地址,p+5是指针p向后移动了5个int类型的存储单元,所以p+5指向了数组元素a[5]。

24. 答案:D

【解析】选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。

25. 答案:C

【解析】根据定义语句可知,s是二维字符数组,s[0]表示一个含有10个元素的一维数组,所以选项C)为正确答案。

26. 答案:D

【解析】定义了一个指向一维数组的指针,该一维数组具有三个int型元素,按照C语言中二维数组的定义知,二维数组先按照行排列,再按照列排列,故选D。

27. 答案:A

【解析】 直接将二维数组a赋给p不合法,两者类型不匹配。

28. 答案:C

【解析】本题考查的是整型指针的数组。p的每个元素都是指向整型数据的指针,而a和&a都不是整型数据的地址。选项A)、B)和D)错误。选项C)中,p[0]是指向整型数据的指针,&a[1][2]是整型变量的地址,可以进行赋值运算。故本题答案为C)。

29. 答案:C

【解析】通过行指针p来实现数组元素的引用。

30. 答案:A 【解析】 选项B)、D)中,没有为字符串分配空间,因此不能用c指向字符串。选项C)中getchar()函数返回一个字符,不能将字符赋给字符指针c。选项A)中首先定义了字符数组str,然后将str的首地址赋给指针c,这样就使指针c指向了字符串\。

搜索更多关于: 计算机二级考试复习资料答案1 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

参考答案及解析 一、选择题 1. 答案:C 【解析】*s+2 相当于(*s)+2即先取出s所指的数据然后对其加2,s是字符串的首地址,所以*s即s[0]就是字符\,所以在它的ASCII码上加上数字2就变成了字母\的ASCII码,所以以%c格式输出,即为选项C)。 2. 答案:B 【解析】 p->x初始时为1,因为\->\的优先级大于\++\,所以先计算p->x的值加1等于2并输出,再计算p->y的值加1等于3并输出。因此,本题答案为B)。 3. 答案:C 【解析】题目中声明的p表示的是有4个整数指针元素的数组。A选项表示有四个整数元素的数组。B选项表示一个指向整数指针的指针。D选项声明了一个指针

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com