c语言指针练习+问题详解+讲解

c语言指针练习+问题详解+讲解

ID:30323335

大小:98.00 KB

页数:21页

时间:2018-12-29

c语言指针练习+问题详解+讲解_第1页
c语言指针练习+问题详解+讲解_第2页
c语言指针练习+问题详解+讲解_第3页
c语言指针练习+问题详解+讲解_第4页
c语言指针练习+问题详解+讲解_第5页
资源描述:

《c语言指针练习+问题详解+讲解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案第七章指针7.1选择题1.若有说明:inta=2,*p=&a,*q=p;,则以下非法的赋值语句是(D)。A.p=q;B.*p=*q;C.a=*q;D.q=a;a是整型数,int*p,*q定义了指针,p,q是指向整型的指针。p取得a的地址,而q取得p的地址p,q是指针(也就是一个地址),而*p和*q是这个指针指向的整型数值(存放在这个地址的值)。A)把q的地址赋给p,则p和q完全一样了,都指向一个数2B)把q中数据个pC)把q中数据给aD)a中数据是2,不能够给一个地址。除非*q=a2.若定义:inta=511,*b=&a;,则printf("%d

2、",*b);的输出结果为:DA.无确定值B.a的地址C.512D.511inta=511,*b=&a;a是整形变量b是整形指针变量,指向aprintf("%d",*b);就是输出指针变量b,所指变量的值输出结果5113.已有定义 inta=2,*p1=&a,*p2=&a;下面不能正确执行的赋值语句是(B)。A.a=*p1+*p2;B.p1=a;C.p1=p2;D.a=*p1*(*p2);47、已知在程序中定义了如下的语句:int*P1,*P2;int精彩文档实用标准文案k;p1=&k;p2=&k;则下列语句中不能正确执行是(B)A、k=*P1+*P2;B、p

3、2=k;C、P1=P2;D、K=*P1*(*P2);P1P2是指针,K是整型变量,变量怎么可以赋值给指针呢?A其实是执行了K=K+K(P1和P2都指向K,所以*P1*P2其实都是指K)C是赋值语句D其实执行了K=K*K4.变量的指针,其含义是指该变量的(B)。A.值B.地址C.名D.一个标志5.若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是(A)。A.scanf("%d%d%d",&a,&b,d);B.scanf("%d%d%d",a,b,d);C.scanf("%d%d%d",&a,&b,&d);D.sc

4、anf("%d%d%d",a,b,*d);对于intc,*d=&c;,c是一整型数据,d是一指针,它指向变量c(即d=&c,*是指针类型的说明符),所以,输入c的值可以用scanf("%d",&c);也可以用scanf("%d",d);6.若已定义inta=5;下面对(1)、(2)两个语句的正确解释是(D)。(1)int*p=&a;(2)*p=a;A.语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值。B.(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p。C.(1)在对p进行说明的同时进行初始化,使p指向a;(2)变量a的值赋给指针变量p

5、。D.(1)在对p进行说明的同时进行初始化,使p指向a;(2)将变量a的值赋予*p。A:(1):*p,定义p为int类型指针(2):*p,表示p所指向的变量B(1)把变量a的地址赋给指针变量p(2)把变量a的值,赋值给P所指向的变量精彩文档实用标准文案C前半句正确,后半句错误,(2)是把变量a的值赋值给P所指的变量。7.若有语句int*p,a=10;p=&a;下面均代表地址的一组选项是(D)。A.a,p,*&aB.&*a,&a,*pC.*&p,*p,&aD.&a,&*p,pint*p是定义一个指针,p=&a,p指向a的地址,*p=a,*指针名是指取该指针所指地址

6、中的内容,&a为a的地址,&*p=&a,p中放的为a的地址0.2345px8.若需要建立如图所示的存储结构,且已有说明double*p,x=0.2345;则正确的赋值语句是()。BA.p=x;B.p=&x;C.*p=x;D.*p=&x;9.若有说明:int*p,a=1,b;以下正确的程序段是(B)。A.p=&b;B.scanf("%d",&b);scanf("%d",&p);*p=b;C.p=&b;D.p=&b;scanf("%d",*p);*p=a;A,B中p是b的地址那么如果要输入b应该是scanf("%d",p);C中p还没定义给*p赋值就是给一个没有开辟

7、的地址赋值了D是正确的意思是p为b的地址,将p地址上的数变成a,等价于b=a10.有如下语句:intm=6,n=9,*p,*q;p=&m;q=&n;如图1所示,若要实现下图所示的存储结构,可选用的赋值语句是(C)。mpnqpmqnA.*p=*q;B.p=*q;C.p=q;D.*p=q;11.精彩文档实用标准文案以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是(B)。#includemain(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);…}A.*p表示的是指针变

8、量p的地址B.*p表示的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。