ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:32.12KB ,
资源ID:18224040      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18224040.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第五章指针文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第五章指针文档格式.docx

1、 C. int *pn;10. 具有相同类型的指针类型变量p与数组 a ,不能进行的操作是_。 A. p=a; B. *p=a0;a0;a;11. 以下正确的定义和语句是_。 A. int a10,*p; char *s; p=a; s=a; B. double a53,b53,*s; b=a; C. float a53,*p3; p0=a0; p2=a4; D. int a53,(*pb) 5,(*pp) 3; pb=a; pp=a; 12. 若有下列定义,则对a数组元素地址的正确引用是_。 int a5,*p=a; A. &a5 B. p+2 C. a+ D. &a 13. 若有下列定义和

2、语句,则对a数组元素的非法引用是_。 int a23 (*pt) 3; pt=a; A. pt00 B. *(pt+1) 2 C. *(pt1+2) D. *(a0+2) 14. 若有下列定义,则对a数组元素的正确引用是_。 A. *(p+5) B. *p+2 C. *(a+2) D. *&a5 15. 若有下列定义和语句,则对a数组元素的非法引用是_。 int a23,*prt2,i; for(i=0;i2;i+) prti=ai; A. ptr00 B. *(a+1) 2 C. *(ptr1+2) D. *(&a00+2) 16. 以下程序段: char *alp=ABC,DEFGHI;

3、int i; puts(alp1); 的输出结果是_。 A.A B. ADG C.ABC D. DEF 17. 下面各语句行中,能正确进行赋字符串操作的是_。 A. char s5=a,b,c,d,e B. char *s; gets(s); C. char *s; s=NOPQRS D. char s5; scanf(%s,&s); 18. 设有以下语句: char str412=aaabbbcccddd, *strp4;4;i+) strpi=stri; 若0kb B. p-a C. +p-a D. (p+)-21. 若有以下的说明、定义和语句,则值为31的表达式是_。 struct wc

4、 int a; *p;b B. (+p)-a C. *(p+)-b D. *(+p)-b 22. typedef long int BIGGY;的作用是_。 A. 建立了一种新的数据类型 B. 定义了一个整型变量 C. 定义了一个长整型变量 D. 说明了一个新的数据类型标识符 23. 设有以下语句: struct stint n;struct st *next; static struct st a3=5,&a1,7,&a2,9,0,*p; p=& 则值为6的表达式是_。 A. p+-n B. p-n+ C. (*p).n+ D. +p-n 24. 若有定义:char *p1,*p2,*p3,

5、*p4,ch;则不能正确赋值的程序语句为_。 A. p1=&ch;scanf(%c,p1); B. p2=(char *)malloc(1);,p2); C. *p3=getchar(); D. p4=&*p4=getchar(); 25. 若有以下定义和语句,且0i10,则对数组元素地址的正确表示是_。 int a=1,2,3,4,5,6,7,8,9,0,*p,i;(a+1) B. a+ C. &p D. &pi 26. 已知职工记录描述为: struct workers int no; char name20; char sex; struct int day; int month; in

6、t year; birth; ; struct workers w; 设变量w中的“生日”是“1993年10月25日”,下列对“生日”的正确赋值方式是_。 A. day=25; B. w.day=25; month=10; w.month=10; year=1993; w.year=1993; C. w.birth.day=25; D. birth.day=25; w.birth.month=10; birth.month=10; w.birth.year=1993; birth.year=1993;27. 当定义一个结构体变量时,系统分配给它的内存是_。 A. 各成员所需内存量的总和 B.

7、成员中占内存量最大者所需的容量 C. 结构中第一个成员所需内存量 D. 结构中最后一个成员所需内存量 29. 设有如下定义: struct sk int a; float b; data,*p; 若要使p指向data中的a域,正确的赋值语句是_。 A. p=(struct sk*) &data.a; B. p=(struct sk*) data.a; D. *p=data.a; 30. 以下对枚举类型名的定义中正确的是_。 A. enum a=sum,mon,tue; B. enum a sum=9,mon=-1,tue; C. enum a=summontue D. enum a 31. 以

8、下程序找出数组中最大值和此元素的下标,数组元素的值由键盘输入,请从对应的一组选择项中,选择正确的填入。 #include stdio.h main() int a10,*p,*s,i;10;i+) scanf(%d,_(1)_); for(p=a,s=a;_(2)_*s)s=_(3)_; printf(max=%d,index=%dn,_(4)_,_(5)_); (1) A. *(a+i) B. p+i C. a+i D. ai (2) A. p-a B. s-a C. a-p D. a-s (3) A. p B. ap C. as D. a-p (4) A. ap-a B. ap C. *s

9、 D. as (5) A. p-a B. p C. s-a D. a-s 32. 以下程序输出结果是_。#include main() int a=1,2,3,4,5,6,*p;*(p+3)+=2;%d,%dn,*p,*(p+3); A. 0,5 B. 1,5 C. 0,6 D. 1,6 33. 以下程序输出两个整数中大的那个数,两个整数由键盘输入。请从对应的一组选择项中,选择正确的填入_。 main() int a,b,*p1,*p2; p1=_(1)_malloc(sizeof(int);p2=_(1)_malloc(sizeof(int);%d%d,_(2)_); if(*p2*p1)*

10、p1=*p2; free(p2);max=%dn,_(3)_); (1) A. int B. int * C. (int) D. (int *) (2) A. *p1,*p2 B. p1,p2 C. &p1,&p2 D. &a,&b (3) A. *p1 B. *p2 C. p1 D. p2 34. 在以下定义中: int (*prt)3; 标识符prt_。 A. 定义不合法 B. 是一个指针数组名,每个元素是一个指向整数变量的指针 C. 是一个指针,它指向一个具有三个元素的一维数组 D. 是一个指向整型变量的指针 35. 与以下定义等价的是_。 int *p4; A. int p4; B.

11、int *p; C. int *(p4); D. int (*p)4; 36. 若有如下定义,且0i4,则错误的赋值是_。 int a410,*p,*q4;A. p=a; B. qi=ai; C. p=ai; D. qi=&a20; 37. 若有定义:int a410;则以下选项中对数组元素aij的错误引用是_。(此处0i4,0j10) A. *(&a00+10*i+j) B. *(a+i)j C. *(*(a+i)+j) D. *(ai+j) 38. 若有定义:int a43,b34,(*prt)3;且0i3,则正确的赋值语句是_。 A. prt=a; B. prt=b; C. prt=bi

12、; D. prt=ai; 39. 以下程序建立一个如下所示的二维数组,并按以下格式输出。 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 #include main() int a55=0,*p5,i,j;5;i+) pi=_(1)_;i+) *(pi+_(2)_)=1; *(pi+5-_(3)_)=1; for(i=0;i+) for(j=0;jj+)printf(%2d,pij); _(4)_; (1) A. &ai0 B. &ai1 C. &pi D. &a0i (2) A. 0 B. 1 C. i D. (i+1) (3) A. 0

13、B. 1 C. i D. (i+1) (4) A. putchar(n) B. putchar(n) C. putchar(0) D. printf(n) 40. 以下程序的输出结果是_。 main() int a12=1,2,3,4,5,6,7,8,9,10,11,12,*p4,i;i+)pi=&ai*3;%dn,p32); A. 输出项不合法,输出结果不定 B. 6 C. 8 D. 12 41. 以下程序输出结果是_。 main() int a20,*p4,i,k=0;20;i+)ai=i;ai*(i+1);i+)k+=pii;,k); A. 数组元素引用不合法,输出结果不定 B. 26

14、C. 10 D. 6 42. 若在C程序中有以下定义和语句,则以下各组中的表达式都是对a数组元素正确引用的是_。(其中0i3) main() int a43=0,(*ptr)3,i,j; ptr=a; A. aij, ai+j, *(*(a+i)+j) B. *(ptr+i)j, prti+j, *(*(prt+i)+j) C. *(ptr+i)j, *(a+i)j, *(ptr+i) D. ptrij, *(ptri+j), *(ai+j) 43. 若有以下定义和语句,则对a数组元素错误引用的是_。 int a12=0,*p3,*pp,i;3;ai*4; pp=p; A. a12 B. p2

15、3 C. a10 D. pp01 44. 若在C程序中有以下定义和语句,则以下各组中的表达式全部都是a数组元素的地址的是_。3) A. &aij, pi+j, paij B. *(pa+i)+j, pi, *(p+i)+j C. &aj, &pi, *(*(pa+i)+j) D. *pa, a, p main() int a43=0,*p4,*pa,i,j;i+)pi=ai; pa=p; 45. 以下程序的输出结果为_。 main( ) int a2=10,20; int *pa=&a0,*pb=&a1; *pa=*(pb-1)+5; *(pa+1)=*pa-5;,a0,a1); A. 2,5

16、 B. 2,0 C. 5,0 D. 1,0 46. 在下列程序段中,枚举变量 c1,c2 的值依次是_,_。enum color red,yellow,blue=4,green,white c1,c2; c1=yellow; c2=white;,c1,c2); A. 1,6 B. 2,5 C. 1,4 D. 2,6 47. 下列语句执行后的结果是_。 y=5;y; x=*p+; A. x=5,y=5 B. x=5,y=6 C. x=6,y=5 D. x=6,y=6 48. 变量p为指针变量,若p=&a,下列说法不正确的有_。*p=&a B. *&a=a C. (*p)+=a+ D. *(p+)

17、=a+ 49. 有以下程序: main() int a,*p; a=100;a=%d *p=%d *&a=%d &*p=%u ,a,*p,*&*p); a+;a+=%d ,a); (*p)+;(*p)+=%d ,*p); *p+;*p+=%dn 该程序运行结果为_。 A. a=100 *p=100 *&a=100 &*p=65498 a+=101 (*p)+=102 *p+=-24 B. a=100 *p=100 *&*p=65498 a+=101 (*p)+=102 *p+=102 C. a=100 *p=100 *&a=65498 &*p=65498 a+=101 (*p)+=102 *p

18、+=-24 D. a=100 *p=100 *&*p=65498 a+=101 (*p)+=101 *p+=-24 50. 以下程序执行的结果是_。 point(char *pt); main() char b4=a,c,s,f,*pt=b; point(pt);%cn,*pt); point(char *p) p+=3; A. s B. c C. f D. a 51. 以下程序的运行结果为_。 char *c=ENTERNEWPOINTFIRST char *cp=c+3,c+2,c+1,c; char *cpp=cp; main() printf(%sn,*+cpp); A. ENTER

19、B. NEW C. POINT D. FIRST 52. 以下程序的输出结果为_。 #include main() char s=123,*p; p=s;%c%c%cn,*p+,*p+,*p+); A. 123 B. 321 C. 213 D. 312 53. 以下程序的执行结果为_。 struct s1 char *s; struct s1 *sip; main() static struct s1 a=,1,a+1,efgh,2,a+2,ijkl,3,a; struct s1 *p=a; int i=0;%s%s%s,a0.s,p-s,a2.sip-,i+2,-ai.i);,+ai.s3)

20、; A. abcd abcd abcd 2 0 e B. abcd efgh ijkl 2 0 e C. abcd abcd ijkl 2 1 e D. abcd abcd abcd 2 1 e 54. 执行下面的语句组后,*a、*p、* *p、*pp、* *pp的值分别为_。 int a=0,1,2,3,4; int *p=a,a+1,a+2,a+3,a+4; int *pp=p; A. 0,0,0,0,0 B. 0,数组a的首地址,0,数组a的首地址,0 C. 0,1,2,3,4 D. 0,数组a的首地址,0,数组p的首地址,0 选择题答案 1. C 2. D 3. A 4. A 5. C

21、 6. D 7. C 8. A 9. C 10. D 11. C 12. B 13. B 14. C 15. B 16. D 17. C 18. A 19. B 20. C 21. D 22. D 23. D 24. C 25. D 26. C 27. A 28. C 29. A 30. B 31. (1) C (2) A (3) A (4) C (5) C 32. D 33. (1) D (2) B (3) A 34. C 35. C 36. A 37. B 38. A 39. (1) A (2) C (3) D (4) B 40. D 41. B 42. D 43. A 44. B 45. C 46. A 47. A 48. D 49. A 50. D 51. C 52. B 53. A 54. B 5.2 写出程序运行结果 1. 以下语句段的输出结果是_。 main() char *alp =i+) puts(alpi); 2. 若有以下的说明和语句,已知int类型占两个字节,则以下的输出结果为_。main() struct st char a10; int b; double c; printf

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1