有以下语句 int a[]={0,1,2,3,4},*p; p=&a[2]; 则语句p++; 执行后,指针p指向的元素值是 .
第1题:
语句int*p=&k;定义了指针p,与这个语句等效的语句序列是
A.int*p;p=&k;
B.int*p;p=k;
C.int*p;*p=&k;
D.int*p;*p=k;
第2题:
假定p所指对象的值为25,p+1所指对象的值为46,则执行“*p++;”语句后,p所指的对象的值为【 】。
第3题:
在下列叙述中,正确的一条是( )
A.语句int *pt中的*pt是指针变量名
B.语句"int *p=a;"等价于"int *p;p=&a[0];”
C.运算符*和&都是取变量地址的运算符
D.已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值
第4题:
有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。
A.语句int*p=a;定义不正确
B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素
C.语句int*p=a;是把a[0]的值赋给变量p
D.语句iht*p=a;是把a[l]的值赋给变量p
第5题:
若有以下定义和语句: int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是______。
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
第6题:
若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确语句是( )
A.p=2 *(int *)malloc(sizeof(int));
B.p=(int*)calloc(2*sizeof(int));
C.p=(int*)malloc(2* sizeof(int));
D.p=2 *(int*)calloc(sizeof(int));
第7题:
指针变量p的基类型为int,并已指向一连续存储区,若p中当前的地址值为1234,则执行p++后,p中的值为 ( )
A.1234
B.1235
C.1236
D.1237
第8题:
若有定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是
A.*p+=1;
B.(*p)++;
C.++(*p);
D.*p++;
第9题:
下列程序的功能是输出数组中的最大值,其中用指针q指向该元素,在if语句中判断表达式应该是 ______。 #include<iostream.h> void main(){ int a[10]={6,7,2,9,1,10,5,8,4,3); int *p=a,*q=a; while(p-a<10){ if(_____)q=p; { p++; } cout<<”max=”<<*q; }
A.ap>Aq
B.*p>*q
C.p>q
D.p-a>p-q
第10题:
已知指针p的指向如下图所示,则执行语句“--p;”后p的值是______。
A.30
B.20
C.19
D.29
第11题:
有以下说明语句:struct Student{int num;double score;};Student stu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;则下面引用形式错误的是()
第12题:
语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量
语句①和②中的*p含义相同,都表示给指针变量赋值
语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p
语句①和②的执行结果都是把变量x的地址赋给指针变量p
第13题:
设有语句:“int a=1,b=2,*p1=&a,*p2=&b;”,则使指针p1指向变量b的赋值语句是______。
A.p1=*p2
B.*p1=p2
C.p1=p2
D.*p1=*p2
第14题:
以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。
include<stdio.h>
main( )
{int a[10],*p,*S;
for(p=a;p-a<10;p++)scanf(”%d”,p);
for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;
printf(”max=%d\n”,________);
}
第15题:
语句int*p=&k;定义了指针p,与这个语句等效的语句序列是
A.int*p;p=&k;
B.int*p;k=k;
C.int*p;*p=&k;
D.int*p;*p=k;
第16题:
有如下定义语句:int a[]={1,2,3,4,5);,则对语句int *p=a;正确的描述是( )。
A.语句int *p=a;定义不正确
B.语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素
C.语句int *p=a;是把a[0]的值赋给变量p
D.语句int *p=a;是把a[1]的值赋给变量p
第17题:
在下面语句中,其含义为“p为指向含n个元素的一维数组的指针变量”的定义语句是 ( )
A.int p [n]
B.int * p( );
C.int * p(n);
D.int( * p)[n]
第18题:
若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为( )。
A.两个语句都是将变量a的值赋予变量p
B.*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针p
C.*p=a是将变量a的值赋予变量b,而&;a是使P指向变量a
D.两个语句都是使p指向变量a
第19题:
在下列叙述中,错误的一条是______。
A.有下列语句组,则c=(*p)(a,b)与c=max(a,b)等价 int max();int(*p)();int c;p=max;
B.执行下列语句后,则*p的值为1 int a=1,*p;*p=&a;
C.已知指针变量p1指向数组元素a[1],p2指向数组元素a[4],则p2-p1=4-1=3
D.2个指针变量指向同一数组时可以进行比较,其值为1或0
第20题:
设int x[ ]={2,4,6,8},y,*p=&x[1];则执行语句y=(*--p)++;后数组元素x[0]的值为 ______。
A.2
B.3
C.4
D.5
第21题:
若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确的语句是( )。
A.p=2*(int*)malloc (sixeof(int))
B.p=(int*)calloc (2*sixeof(int))
C.p=(int*)malloc (2*sizeof(int))
D.p=2*(int*)calloc (sizeof(int))
第22题:
设有C语句int a[3][4];, 则每次移动过a数组一行元素的指针变量定义形式是()
第23题:
若已定义inta=5;下面对(1)int*p=&a;(2)*p=a;两个语句的正确解释是()
第24题:
*p+=1
(*p)++;
++(*p);
*p++;