指针练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
编程题
1用指向数组的指针变量输出数组的全部元素
2 使用函数调用,形参为指针,实参为数组,把一个数组逆序存放在输出
练习题:
一判断题
1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。
2.指针的类型是它所指向的变量或对象的类型。
3.定义指针时不可以赋初值。
4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。5.指针可以加上或减去一个int型数,也可以加上一个指针。6.两个指针在任何情况下相减都是有意义的。
7.数组元素可以用下标表示,也可以用指针表示。
8.指向数组元素的指针只可指向数组的首元素。
9.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。
10.引用是一种变量,它也有值和地址值。
11.引用是某个变量的别名,引用是被绑定在被引用的变量上。
12.创建引用时要用一个同类型的变量进行初始化。
13.指针是变量,它可以有引用,而引用不能有引用。
;.
.
二单选题
1.下列关于定义一个指向double型变量的指针,正确的是()。A.int a(5);double *pd=a; B.double d(2.5),*pd=&d;C.double d(2.5),*pd=d; D.double a(2.5),pd=d;。).下列关于创建一个int型变量的引用,正确的是(2A.int a(3),&ra=a; B int
. a(3),&ra=&a;ra=a;D.int a(3), C.double d(3.1);int &rd=d;.下列关于指针概念的描述中,错误的是()。3 A.指针中存放的
是某变量或对象的地址值.指针的类型是它所存放的数值的类型
B .指针是变量,它也具有一个内存地址值
C .指针的值是可以改
变的D 。.下列关于引用概念的描述中,错误的是()4 A.引
用是变量,它具有值和地址值 B.引用不可以作数组元素 C.引用是变量的别名 D.创建引用时必须进行初始化。++*p相同的是()*p=a5.已知:int a[5],;则与a[0] . B.*++p A++a[0] .C*p++ D.;.
.
6.已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表
示中,正确的是()。
A.&(a+1) B.&(p+1)
C.&p[2] D.*p++
7.已知:int a(5),&ra=a;下列描述中,错误的是()。
A.ra是变量a的引用,即为变量的别名 B.ra的值为5
C.ra的地址值为&a D.改变ra的值为10,变量a值仍为5
8若有以下定义,则说法错误的是( )。
int a=100,*p=&a ;
A.声明变量p,其中*表示p是一个指针变量
B.变量p经初始化,获得变量a的地址
C.变量p只可以指向一个整形变量
D.变量p的值为100
9若有以下定义,则赋值正确的是( )。
int a ,b , *p;
float c, *q;
A.p=&c B.q=p C.p=NULL D.q=new int
10如果x是整型变量,则合法的形式是( )。
A.&(x+5) B.*x C.&*x D.*&x
11若要建立如下关系,错误的语句组是( )。
p x 10
A. B. C. D.
int *p=&x, x; int x, *p=&x; int *p, x=10; int *p,
x;
*p=10; *p=10; p=&x; p=&x ;
x=10;
12若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i<10)。
A.p[i] B.*(*(a+i)) C.a[p-a]
D.*(&a[i])
13以下程序的输出结果是( )。
#include
;.
.
void main()
{ int a[3]={10,15,20};
int *p1=a,*p2=&a[1];
*p1=*(p2-1)+5;
*(p1+1)=*p1-5;