c语言基础指针练习题

c语言基础指针练习题

ID:21643887

大小:38.50 KB

页数:21页

时间:2018-10-23

c语言基础指针练习题_第1页
c语言基础指针练习题_第2页
c语言基础指针练习题_第3页
c语言基础指针练习题_第4页
c语言基础指针练习题_第5页
资源描述:

《c语言基础指针练习题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、精品文档c语言基础指针练习题1.掌握指针、地址、指针类型、空指针等概念;2.掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算、指针变量比较运算和指针表达式;3.掌握指针与数组、函数、字符串等的联系;4.掌握动态空间操作;5.掌握引用参数的使用。二、例题分析与解答例题1:若有以下定义,则说法错误的是。inta=100,*p=&a;A.声明变量p,其中*表示p是一个指针变量B.变量p经初始化,获得变量a的地址C.变量p只可以指向一个整形变量D.变量p的值为100答案:D分析:有指针变量定义可知A、C说法是正确的,故不能选。在语句中&p=a,表示指针变量取得变量a地址,B说法也正确

2、,也不能选择。D中不能说变量p的值为100,应该*p的值为100,所以选择D。例题2:若有以下定义,则赋值正确的是。inta,b,*p;floatc,2016全新精品资料-全新公文范文-全程指导写作–独家原创21/21精品文档*q;A.p=&cB.q=pC.p=NULLD.q=newint答案:C分析:指针变量使用规定,不同类型的指针变量不能赋值,也不能取得普通变量地址,故A、B不正确,不能选择。因为q是float类型指针变量,不能申请int类型地址,D不正确,也不能选择。因为任何类型的指针变量都能取得NULL指针,所以C正确。例题3:如果x是整型变量,则合法的形式是。A.&答案:D分

3、析:因为C++语言表达式没有地址,A不正确。C++语言普通变量不能用*运算,因此B和C也不正确。&x表示变量x的地址,*&x是x地址的值,所以D正确。B.*xC.&*xD.*&x例题4:若要建立如下关系,错误的语句组是。spanstyle=‘mso-ignore:vglayout;;z-index:1;left:0px;margin-left:144px;margin-top:1px;width:256px;height:38px’A.B.C.D.int*p=&x,x;intx,p=&x;int*p,x=10;int2016全新精品资料-全新公文范文-全程指导写作–独家原创21/21精

4、品文档*p,x;*p=10;*p=10;*p=&x;p=&x;x=10;答案:A分析:在变量类型说明语句中*表示变量是指针变量,在其他语句中,*称为指针运算,用于访问指针所指向的对象的值,&称为取地址运算,用来得到一个对象的地址。故B、C、D都是正确的,不能选择。A中指针变量p取不到x地址,因为x还没有定义,所以选择A。例题5:若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则不是对a数组元素的正确引用。A.p[i]B.*)答案:B分析:指针就变量p取得数组a的首地址,由指针与数组关系知,p[i]表示数组元素第i+1元素值,p[i]=a[i]正确,故A不

5、能选。*表示一维数组a第i+1元素值,*表示对第i+1元素值再取值是错误操作,所以选B。a[p-a]=a[0]正确,故不能选择C。*也正确,也不能选D。例题6:写出下列程序运行结果是。#includevoidmain{charch[3][4]={“AAA”,”BB”,”CCC”},[4]=ch,2016全新精品资料-全新公文范文-全程指导写作–独家原创21/21精品文档*p;//ch是二维数组,q是指向一维数组指针,并且一维数组每行只有4个字符//q并取得二维数组ch首地址C.a[p-a]D.*inti;p=newchar;//申请地址*p=‘b’;//装入字符b*=*p;forcou

6、t}A.B.C.D.AAAbBBAAAbAAAAAABBBBbBBBBCCCCCCCCCCCC答案:A分析:二维字符数组初始化后值如下表:执行语句*=*p后二维字符数组值:在输出语句中q[0]输出是AAAbBB,q[1]输出是BB,q[2]输出CCC,只能选择A。例题7:写出下列程序运行结果:#includevoidmain{int*pn,2016全新精品资料-全新公文范文-全程指导写作–独家原创21/21精品文档n=10,m=20;float*pf,px=3.14159,py=2.71828;pn=&n;*pn+=m;coutpf=&px;py+=5*;cout}运行结果是:n现在的

7、值是:0pf现在的值是:18.4262分析:指针是通过在变量前加一个“*”来定义,使用用“*”加变量名存取指针所指的值,用运算“&”取变量的地址,但是不能存取无指向的指针所指向内容,这样会导致系统故障。例题8:写出下列程序运行结果:#includevoidmain{intI,*p,a[]={10,20,30,40,50,60};p=a;for2016全新精品资料-全新公文范文-全程指导写作–独家原创21/21精品文档cout}运行结果:a[0]

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

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

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