参考答案和解析
正确答案:p=a
更多“将数组a的首地址赋给指针变量p的语句是()”相关问题
  • 第1题:

    有如下定义语句: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


    正确答案:B

  • 第2题:

    在下列叙述中,错误的一条是______。

    A.定义char*string="China"中的string是一个字符串变量,其值为China

    B.若有一个多维数组a,则*(a+i)与a[i]等价

    C.int(*p)[4]表示p为指针变量,它指向包含4个元素的一维数组

    D.数组名代表数组的首地址,固定不变。指针变量可通过指向数组首地址来代表对应的数组,但其值可以改变


    正确答案:A

  • 第3题:

    若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。A.定义语句中的*号是一个间址运算符SXB

    若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。

    A.定义语句中的*号是一个间址运算符

    B.定义语句中的*号是一个说明符

    C.定义语句中的p只能存放double类型变量的地址

    D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    在变量定义doublea,*p:&a;中,*号是一个指针运算符,而非间址运算符,因此A)错误。

  • 第4题:

    若有定义语句:double a,*P=&a;以下叙述中错误的是( )。

    A.定义语句中的*号是-个间址运算符

    B.定义语句中的木号是-个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    在变量定义doublea,*P:&a;中,}号是一个指针运算符,而非间址运算符,所以A错误。

  • 第5题:

    若有定义语句:double a,+P=&a;以下叙述中错误的是( )。A.定义语句中的*号是一个问址运算符

    若有定义语句:

    double a,+P=&;a;

    以下叙述中错误的是( )。

    A.定义语句中的*号是一个问址运算符

    B.定义语句中的*号是一个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中。P=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    指针运算符(通常称为间接引用运算符:indirectionopemlor或复引用运算符:derefereneingoperator)返回其操作数(即一个指针)所指向的对象的值。定义语句中的+号不是一个问址运算符,而是定义指针变量的说明符,因此,A项错误,B选项正确,原则上说变量P可以放double兼容性的变量地址,C选项正确,根据指针的赋值运算,可知D选项正确。故答案为A选项。’

  • 第6题:

    设变量P是指针变量,语句P=NULL;是给指针变量赋NULL值,它等价于( )。

    A.p="";

    B.p="0";

    C.p=0;

    D.p=";


    正确答案:C
    在C语言中null等价于数字0。

  • 第7题:

    若有定义语句:double a,*p=&a;以下叙述中错误的是

    A.定义语句中的*号是一个间址运算符

    B.定义语句中的*号只是一个说明符

    C.定义语句中的p只能存放double类型变量的地址

    D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p


    正确答案:A
    解析:本题中的*p=&a中,*不是间址运算符,只是一个指针说明符。间址运算符用于表示某变量是指针型数据,用于存放某个地址,例如int*p,k;p=&k;*p=2;这里的*就是间址运算符。

  • 第8题:

    试题23

    若有定义语句:double a, *p=&a; 以下叙述中错误的是()

    A.定义语句中的*号是一个间址运算符

    B.定义语句中的*号只是一个说明符

    C.定义语句中的p只能存放double类型的变量

    D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p


    正确答案:A
    试题23分析
    *号只是一个说明符,而非间址运算符。说明只能存放double类型的变量。
    试题23答案
    A

  • 第9题:

    设变量p是指针变量,语句p=NULL;,是给指针变量赋NULL值,它等价于()

    • A、p="";
    • B、p=’0’;
    • C、p=0;
    • D、p=’’;

    正确答案:C

  • 第10题:

    若已定义inta=5;下面对(1)int*p=&a;(2)*p=a;两个语句的正确解释是()

    • A、语句(1)和(2)中的*P含义相同,都表示给指针变量p赋值
    • B、语句(1)和语句(2)的执行结果,都是把变量a的地址值赋给指针变量p
    • C、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋给指针变量p
    • D、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋于*p

    正确答案:D

  • 第11题:

    下面关于指针变量int*p;描述不正确的是()

    • A、*p表示的是指针变量p的地址
    • B、int*p表示定义了一个指针类型变量
    • C、*p表示的是指针变量p的值
    • D、p=&a将a的值赋值给变量p

    正确答案:A,C,D

  • 第12题:

    单选题
    设变量p是指针变量,语句p=NULL;是给指针变量赋NULL值,它等价于(  )。
    A

    p= ;

    B

    p='0';

    C

    p=0;

    D

    p='';


    正确答案: A
    解析:
    NULL的ASCII码值为0,p=NULL等价于p='\0';或p=0。答案选择C选项。

  • 第13题:

    若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。 A.定义语句中的*号是一个间址运算符S

    若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。

    A.定义语句中的*号是一个间址运算符

    B.定义语句中的*号只是一个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中,*p=&n把变量a的地址作为初值赋给指针变量P


    正确答案:C
    doublea,*p=&a语句的意思是将a的值存放到指针变量P中,P是指针可以随意指向任何地址,所以答案C错误。

  • 第14题:

    若有以下定义和语句:“double r=99,*p=&r;*P =r;”,则以下正确的叙述是( )。

    A.两个*p含义相同,都说明给指针变量p赋值

    B.在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量P

    D.语句“*p=r;”取变量r的值放回r中


    正确答案:B
    在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。

  • 第15题:

    l设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( )。A.float*p=&x;S

    l设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( )。

    A.float*p=&x;

    B.int*p-(float)x;

    C.float p=&x;

    D.float*p=1024;


    正确答案:A
    指针是用来存放地址的变量,用(类型名*指针变量名)的形式定义。赋值时应将某个变量地址即&x赋给指针变量,因此选择A)。

  • 第16题:

    若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是( )。

    A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值

    B.P+1代表a[1][0]的地址

    C.P中将存放a数组的首地址

    D.P+2代表a数组最后一行的首地址


    正确答案:A
    (+P)[4]定义了一个数组指针。P可以指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是可以指向这类二维数组,因此选项A错误。P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确。故答案为A选项。

  • 第17题:

    若有以下定义和语句: double r=23,*p=&r; *p=r;则以下正确的叙述是______。

    A.两处的*p含义相同,都说明给指针变量p赋值

    B.在“double r=23,*p=&r;”中,把r的地址赋值给了p所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量p

    D.语句“*p=r;”取变量r的值放回r中


    正确答案:D
    解析:*p=&r使p指向变量r的地址,*p=r是再取变量r的值,并放回r中。

  • 第18题:

    下面叙述错误的是()。

    A.一个指针变量只能指向同一类型的变量

    B.一个变量的地址称为该变量的指针

    C.可以将一个整数值赋给指针变量

    D.任何指针变量都可以与空指针NULL进行比较


    正确答案:C

  • 第19题:

    若有以下定义和语句; double r=99,*p=7; *p=r; 则以下正确的叙述是( )

    A.两处的*p含义相同,都说明给指针变量P赋值3

    B.在“double r=99,*p=7;*p=r;”中,把r的地址赋给了p所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量p

    D.语句“*p=r;”把变量r的值放回P中


    正确答案:D

  • 第20题:

    定义“double *p[6];”的含义是()。

    • A、p是一个指向double类型变量的指针
    • B、p是double类型数组
    • C、p是指针数组
    • D、p是数组指针

    正确答案:C

  • 第21题:

    p是指针变量,给指针变量赋NULL值,它等价于()

    • A、p="";
    • B、p=’0’;
    • C、p=0;
    • D、p=’’;

    正确答案:C

  • 第22题:

    关于指针变量赋值下面说法正确的是()

    • A、未经赋值的指针变量不能使用
    • B、指针变量同其普通变量一样需定义、赋值
    • C、给指针变量的赋值只能赋予地址
    • D、给指针变量赋值可以赋任何数值

    正确答案:A,B,C

  • 第23题:

    单选题
    若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()
    A

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量

    B

    语句①和②中的*p含义相同,都表示给指针变量赋值

    C

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p

    D

    语句①和②的执行结果都是把变量x的地址赋给指针变量p


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