欢迎来到天天文库
浏览记录
ID:10534679
大小:80.50 KB
页数:11页
时间:2018-07-07
《指针练习题与答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编程题1用指向数组的指针变量输出数组的全部元素#includevoidmain(){inta[10],i;int*p;for(i=0;i<10;i++)cin>>a[i];for(p=a;pvoidmain(){inta[10],i;int*p=a;for(i=0;i<10;i++)cin>>a[i];for(i=0;i<10;i++)cout<<*p++<<‘t’;}2使用函数调用,形参为指针,实参为数组,把一个数组逆序存放在输出#include2、am.h>voidinv(int*x,intn);voidmain(){inti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);for(i=0;i<10;i++)cout<3、x[j];x[j]=t;}}一判断题×1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。√2.指针的类型是它所指向的变量或对象的类型。×3.定义指针时不可以赋初值。√4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。×5.指针可以加上或减去一个int型数,也可以加上一个指针。√6.两个指针在任何情况下相减都是有意义的。√7.数组元素可以用下标表示,也可以用指针表示。×8.指向数组元素的指针只可指向数组的首元素。√9.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。×10.引用是一种变量,它也有值和地址值。√11.引用4、是某个变量的别名,引用是被绑定在被引用的变量上。√12.创建引用时要用一个同类型的变量进行初始化。√13.指针是变量,它可以有引用,而引用不能有引用。二单选题1.下列关于定义一个指向double型变量的指针,正确的是(B)。A.inta(5);double*pd=a;B.doubled(2.5),*pd=&d;C.doubled(2.5),*pd=d;D.doublea(2.5),pd=d;2.下列关于创建一个int型变量的引用,正确的是(A)。A.inta(3),&ra=a;B.inta(3),&ra=&a;C.doubled(3.1);int&rd=d;D.inta(3),5、ra=a;3.下列关于指针概念的描述中,错误的是(B)。A.指针中存放的是某变量或对象的地址值B.指针的类型是它所存放的数值的类型C.指针是变量,它也具有一个内存地址值D.指针的值是可以改变的4.下列关于引用概念的描述中,错误的是(A)。A.引用是变量,它具有值和地址值B.引用不可以作数组元素C.引用是变量的别名D.创建引用时必须进行初始化5.已知:inta[5],*p=a;则与++*p相同的是(D)。A.*++pB.a[0]C.*p++D.++a[0]6.已知:inta[]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是(C)。A.&(a+1)B.&(6、p+1)C.&p[2]D.*p++7.已知:inta(5),&ra=a;下列描述中,错误的是(D)。A.ra是变量a的引用,即为变量的别名B.ra的值为5C.ra的地址值为&aD.改变ra的值为10,变量a值仍为58若有以下定义,则说法错误的是(D)。inta=100,*p=&a;A.声明变量p,其中*表示p是一个指针变量B.变量p经初始化,获得变量a的地址C.变量p只可以指向一个整形变量D.变量p的值为1009若有以下定义,则赋值正确的是(C)。inta,b,*p;floatc,*q;A.p=&cB.q=pC.p=NULLD.q=newint10如果x是整型变量,则合法的形式7、是(D)。A.&(x+5)B.*x C.&*x D.*&x11若要建立如下关系,错误的语句组是(A)。10xp A.B.C.D.int*p=&x,x;intx,*p=&x;int*p,x=10;int*p,x;*p=10;*p=10;p=&x;p=&x;x=10;12若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则(B)不是对a数组元素的正确引用(其中0≤i<10)。A.p[i] B.*(*(a+i))C.a[p-a]D.*(&a[i])13以下
2、am.h>voidinv(int*x,intn);voidmain(){inti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);for(i=0;i<10;i++)cout<3、x[j];x[j]=t;}}一判断题×1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。√2.指针的类型是它所指向的变量或对象的类型。×3.定义指针时不可以赋初值。√4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。×5.指针可以加上或减去一个int型数,也可以加上一个指针。√6.两个指针在任何情况下相减都是有意义的。√7.数组元素可以用下标表示,也可以用指针表示。×8.指向数组元素的指针只可指向数组的首元素。√9.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。×10.引用是一种变量,它也有值和地址值。√11.引用4、是某个变量的别名,引用是被绑定在被引用的变量上。√12.创建引用时要用一个同类型的变量进行初始化。√13.指针是变量,它可以有引用,而引用不能有引用。二单选题1.下列关于定义一个指向double型变量的指针,正确的是(B)。A.inta(5);double*pd=a;B.doubled(2.5),*pd=&d;C.doubled(2.5),*pd=d;D.doublea(2.5),pd=d;2.下列关于创建一个int型变量的引用,正确的是(A)。A.inta(3),&ra=a;B.inta(3),&ra=&a;C.doubled(3.1);int&rd=d;D.inta(3),5、ra=a;3.下列关于指针概念的描述中,错误的是(B)。A.指针中存放的是某变量或对象的地址值B.指针的类型是它所存放的数值的类型C.指针是变量,它也具有一个内存地址值D.指针的值是可以改变的4.下列关于引用概念的描述中,错误的是(A)。A.引用是变量,它具有值和地址值B.引用不可以作数组元素C.引用是变量的别名D.创建引用时必须进行初始化5.已知:inta[5],*p=a;则与++*p相同的是(D)。A.*++pB.a[0]C.*p++D.++a[0]6.已知:inta[]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是(C)。A.&(a+1)B.&(6、p+1)C.&p[2]D.*p++7.已知:inta(5),&ra=a;下列描述中,错误的是(D)。A.ra是变量a的引用,即为变量的别名B.ra的值为5C.ra的地址值为&aD.改变ra的值为10,变量a值仍为58若有以下定义,则说法错误的是(D)。inta=100,*p=&a;A.声明变量p,其中*表示p是一个指针变量B.变量p经初始化,获得变量a的地址C.变量p只可以指向一个整形变量D.变量p的值为1009若有以下定义,则赋值正确的是(C)。inta,b,*p;floatc,*q;A.p=&cB.q=pC.p=NULLD.q=newint10如果x是整型变量,则合法的形式7、是(D)。A.&(x+5)B.*x C.&*x D.*&x11若要建立如下关系,错误的语句组是(A)。10xp A.B.C.D.int*p=&x,x;intx,*p=&x;int*p,x=10;int*p,x;*p=10;*p=10;p=&x;p=&x;x=10;12若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则(B)不是对a数组元素的正确引用(其中0≤i<10)。A.p[i] B.*(*(a+i))C.a[p-a]D.*(&a[i])13以下
3、x[j];x[j]=t;}}一判断题×1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。√2.指针的类型是它所指向的变量或对象的类型。×3.定义指针时不可以赋初值。√4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。×5.指针可以加上或减去一个int型数,也可以加上一个指针。√6.两个指针在任何情况下相减都是有意义的。√7.数组元素可以用下标表示,也可以用指针表示。×8.指向数组元素的指针只可指向数组的首元素。√9.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。×10.引用是一种变量,它也有值和地址值。√11.引用
4、是某个变量的别名,引用是被绑定在被引用的变量上。√12.创建引用时要用一个同类型的变量进行初始化。√13.指针是变量,它可以有引用,而引用不能有引用。二单选题1.下列关于定义一个指向double型变量的指针,正确的是(B)。A.inta(5);double*pd=a;B.doubled(2.5),*pd=&d;C.doubled(2.5),*pd=d;D.doublea(2.5),pd=d;2.下列关于创建一个int型变量的引用,正确的是(A)。A.inta(3),&ra=a;B.inta(3),&ra=&a;C.doubled(3.1);int&rd=d;D.inta(3),
5、ra=a;3.下列关于指针概念的描述中,错误的是(B)。A.指针中存放的是某变量或对象的地址值B.指针的类型是它所存放的数值的类型C.指针是变量,它也具有一个内存地址值D.指针的值是可以改变的4.下列关于引用概念的描述中,错误的是(A)。A.引用是变量,它具有值和地址值B.引用不可以作数组元素C.引用是变量的别名D.创建引用时必须进行初始化5.已知:inta[5],*p=a;则与++*p相同的是(D)。A.*++pB.a[0]C.*p++D.++a[0]6.已知:inta[]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是(C)。A.&(a+1)B.&(
6、p+1)C.&p[2]D.*p++7.已知:inta(5),&ra=a;下列描述中,错误的是(D)。A.ra是变量a的引用,即为变量的别名B.ra的值为5C.ra的地址值为&aD.改变ra的值为10,变量a值仍为58若有以下定义,则说法错误的是(D)。inta=100,*p=&a;A.声明变量p,其中*表示p是一个指针变量B.变量p经初始化,获得变量a的地址C.变量p只可以指向一个整形变量D.变量p的值为1009若有以下定义,则赋值正确的是(C)。inta,b,*p;floatc,*q;A.p=&cB.q=pC.p=NULLD.q=newint10如果x是整型变量,则合法的形式
7、是(D)。A.&(x+5)B.*x C.&*x D.*&x11若要建立如下关系,错误的语句组是(A)。10xp A.B.C.D.int*p=&x,x;intx,*p=&x;int*p,x=10;int*p,x;*p=10;*p=10;p=&x;p=&x;x=10;12若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则(B)不是对a数组元素的正确引用(其中0≤i<10)。A.p[i] B.*(*(a+i))C.a[p-a]D.*(&a[i])13以下
此文档下载收益归作者所有