更多“有如下说明 int a[10]=[1,2,3,4,5,6,7,8,9,10},*p=a;则*(p+3)的值是______。”相关问题
  • 第1题:

    若有以下说明和语句 int c[4)[5],(*p)[5]; p=c; 能够正确引用c数组元素的是

    A.p+1

    B.*(p+3)

    C.*(P+1)+3

    D.*(p[0]+2)


    正确答案:D
    解析:本题中定义了一个二维数组c和一个指针数组p并初始化让它指向 c,显然此时p中的各元素为地址,选项A中p+1,此时其中的1代表的长度是整个二维数组c的长度,故p+1将让p指向c数组后面的元素,故不能引用c数组中的成员,选项D中p[0]指的是指针数组中的第一个元素的地址即c的首地址,此时的1的长度代表的是数组C中一行的长度,故p[0]+2代表的是第三行的首地址,而*(p[o]+2)将代表第三行的第一个元素的地址。

  • 第2题:

    若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为6的表达式是_______。

    A.*p+6

    B.*(p+6)

    C.*p+=5

    D.p+5


    正确答案:C
    解析:选项A,*p+6,其值等于1+6=7;选项B,*(p+6),其值等于a[6]=7;选项C,*p+=5,其值等于*p=*p+5=1+5=6;选项D,p+5是个地址值。

  • 第3题:

    设有定义:char a[10]="ABCD",*p=a;,则*(p+3)的值是( )。

    A."ABCD"

    B.'D'

    C.'\0'

    D.不确定


    参考答案:B

  • 第4题:

    若有以下定义和语句: 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


    正确答案:A
    解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式:(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

  • 第5题:

    如下程序的执行结果是 include void main( ) { static int a[ ]={ 1,7,3,9,5,11

    如下程序的执行结果是 #include<iostream.h> void main( ) { static int a[ ]={ 1,7,3,9,5,11 }; int * p=a; * (p+3)+=4; cout < < * p < <"," < < * (p+3);}

    A.1,13

    B.1,16

    C.3,13

    D.1,14


    正确答案:A
    解析:指针数组的定义、赋初值、数组元素的引用与赋值等操作和一般数组的处理方法基本相同。需要注意指针数组是指针类型的,对其元素所赋的值必须是地址值。其格式是“存储类型数据类型*指针数组名1[长度1]={初值1},功能是定义指向“数据类型”变量或数组的指针型数组,同时给指针数组元素赋初值。这些指针变量具有指定的“存储类型”。本题中指针*p指向数组a,表达式*(p+3)+=4的含义是*(P+3)=*(p+3)+4,而*(p+3)在数组中指向的值为9,最后输出的结果为9+4=13,注意:一个语句的结束要有分号。

  • 第6题:

    有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。 A.*P+9SXB

    有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。

    A.*P+9

    B.木(P+8)

    C.*P+=9

    D.P+8


    正确答案:B
    本题考查指向数组的指针,本题中指针变量P指向数组a,那么*P的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址,即P+8指向的是数组元素值为9,所以数值为9的表达式是*(P+8)。

  • 第7题:

    若有以下说明和语句: int c[4][5],(*p)[5]; p=c; 能够正确引用c数组元素的是( )。

    A.p+l

    B.*(p+3)

    C.*(p+1)+3

    D.*(p[0]+2)


    正确答案:D
    解析:本题中定义了一个二维数组c和一个指针数组p,并初始化让p指向c。显然此时p中的各元素为地址,选项A中p+1,此时其中的1代表的长度是整个二维数组c的长度,故p+l将让p指向c数组后面的元素,不能引用c数组中的成员,故选项A错误;同理选项B和选项C都不正确,选项D中p[0]指的是指针数组中的第一个元素的地址即c的首地址,此时的1的长度代表的是数组C中一行的长度,故p[0]+2代表的是第3行的首地址,而*(p[0]+2)将代表第3行的第一个元素的地址,所以,4个选项中选项D符合题意。

  • 第8题:

    如下程序的执行结果是()。includemain(){staticinta[]={1,2,3,4,5,6};int*p;p=a;*(p+3)+=2;printf(“%d,%d\n”,*p,*(p+3));}

    A.1,3

    B.1,6

    C.3,6

    D.1,4


    正确答案:B

  • 第9题:

    有说明语句int *p=new int[10];访问动态数组元素的正确语句是()

    • A、int a=p;
    • B、int a=*p;
    • C、delete int[]p
    • D、delete p int[10]

    正确答案:C

  • 第10题:

    若有以下定义      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

    正确答案:A

  • 第11题:

    单选题
    有如下说明int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为9的表达式是(  )。
    A

    *p+9

    B

    *(p+8)

    C

    *p+=9

    D

    p+8


    正确答案: B
    解析:
    A项,*p = a[0] = 1;表达式*p + 9 = 1 + 9 = 10;B项,*(p+8) = a[8] = 9;C项,*p = *p + 9 = a[0] + 9 = 1+9 =10;D项,p+8表示a[8]的地址值,该值无法确定。

  • 第12题:

    单选题
    若有以下定义      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


    正确答案: A
    解析: 暂无解析

  • 第13题:

    有以下程序段: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是( )。

    A.5

    B.6

    C.8

    D.9


    正确答案:D
    解析:C语言中规定:一个数组名代表它的起始地址。本题中,定义了一个长度为10的数组a并赋初值,数组名a就是数组的起始地址,由于数组下标是从0开始,因此a[0]的地址也是a的值,a[1]的地址可以用a+1表示,也就是说a+1指向数组a中下标为1的元素,同样a+i是a[i]的地址,*p=&a[3]表明指针变量p指向元素a[3],即p指向数组a的第4个元素4,p[5]的值应为数组a中的第9个元素的值即a[8]的值,即p[5]=9,所以b=9。故4个选项中选项D符合题意。

  • 第14题:

    有以下程序段: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5];则b中的值是( )。

    A.5

    B.6

    C.8

    D.9


    正确答案:D
    解析:p为指向整型数据的指针变量,存放的是a[3]的地址,即p指向数组{4,5,6,7,8,9,10},b=p[5],因此,b中的值是9。

  • 第15题:

    有以下程序:includemain(){int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2;

    有以下程序: #include <stdio.h> main() { int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2; prinff("%d\n";*p+*q); } 程序运行后的输出结果是( )。

    A.16

    B.10

    C.8

    D.6


    正确答案:B
    解析:由变量的定义可知,指针变量p初始化为&a[3],即*P的值为4;指针变量q初始化为p+2,即&a[3]+2,所以*q的值为6,*p+*q的值为10。

  • 第16题:

    有如下程序段: int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=P[5];则b的值是( )。

    A.5

    B.6

    C.9

    D.8


    正确答案:C
    解析:p=&a[3]将指针指向数组a的第4个元素,p[5]则是数组a的第9个元素,而a[8]=9,所以b=9。

  • 第17题:

    若有以下定义: int a[ ]={1,2,3,4,5,6,7,8,9,10},* p=a; 则值为3的表达式是 ( )

    A.p+=2,* (pd+ +)

    B.p+=2,* + +p

    C.p+=3,* p+ +

    D.p +=2,+ + * p


    正确答案:A

  • 第18题:

    若有以下的定义, 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


    正确答案:A

  • 第19题:

    若有int x[]={1,2,3,4,5,6,7,8,9,10},*p=x;则值为4的表达式是 ______。

    A.p+=2,*(p++)

    B.p+=2,*++p

    C.p+=3,*p++

    D.p+=2,++*p


    正确答案:C

  • 第20题:

    若有说明“int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;”,则数值为9的表达式是()。

    • A、*p+9
    • B、*(p+8)
    • C、*p+=9
    • D、p+8

    正确答案:B

  • 第21题:

    有以下程序段int?a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是()

    • A、5
    • B、6
    • C、8
    • D、9

    正确答案:D

  • 第22题:

    有如下说明语句inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=a;则数值为9的表达式是()

    • A、*p+9
    • B、*(p+8)
    • C、*p+=9
    • D、p+7

    正确答案:B

  • 第23题:

    单选题
    有如下说明语句inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=a;则数值为9的表达式是()
    A

    *p+9

    B

    *(p+8)

    C

    *p+=9

    D

    p+7


    正确答案: A
    解析: 暂无解析

  • 第24题:

    单选题
    若有说明“int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;”,则数值为9的表达式是()。
    A

    *p+9

    B

    *(p+8)

    C

    *p+=9

    D

    p+8


    正确答案: D
    解析: 暂无解析