单选题若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()A 语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量B 语句①和②中的*p含义相同,都表示给指针变量赋值C 语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量pD 语句①和②的执行结果都是把变量x的地址赋给指针变量p

题目
单选题
若已定义: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


相似考题
更多“若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()”相关问题
  • 第1题:

    若已有定义int x=2; int *p=&x;则*p的值为( )

    A. 2

    B. &x

    C. *x

    D. &p


    正确答案:A

  • 第2题:

    若有定义:int x=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是 ______。

    A.随机值

    B.0

    C.x的地址

    D.p的地址


    正确答案:B
    解析:由定义*p=&x,p指向x的地址,*p=x,因此输出的是x的值。

  • 第3题:

    下面的语句中错误的是

    A.int a=5;int x[a] ;

    B.const int a=5;int x[a] ;

    C.int n=5;int * p=new int[a] ;

    D.const int n=5;int * p=new int[a] ;


    正确答案:A
    解析:在C++中定义数组时,数组的范围参数在静态定义时必须是一个常数,而在动态分配内存定义时可以是常数,也可以是一个赋了值的参数。故选项A) 是错误的定义方法。

  • 第4题:

    若有定义:“int*P,x=0,*p,p=&x;”,则语句“printf("%d\n",*p);”的输出结果是( )。

    A.随机值

    B.0

    C.x的地址

    D.P的地址


    正确答案:A
    *P的意思是取其指向地址的内容,P是指向x地址的指针,因此输出*p也就是输出x的内容,即0,故选择B选项。

  • 第5题:

    若定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 struct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析: 本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

  • 第6题:

    设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 stmct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将 birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y\z。

  • 第7题:

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

    A.int*p=(float)x;

    B.float*p=&x;

    C.float p=&x;

    D.float=1024;


    正确答案:B
    指针是用来存放地址的变量,用(类型名+指针变量名)的形式定义。赋值时应将某个变量地址即8Ⅸ赋给指针变量,所以选择B。

  • 第8题:

    设有定义语句“int x=10, *p=&x”,则表达式的值为10的有( )。

    A、p

    B、*p

    C、*&x

    D、*p=x

    E、x=*p


    参考答案BCDE

  • 第9题:

    若有语句:int x,*p=&x;则与该语句等价的语句是()

    • A、intx,*p;*p=&x;
    • B、int x,*p;p=&x;
    • C、int x,*p;*p=x;
    • D、int x,*p;p=x

    正确答案:B

  • 第10题:

    设有定义:int x,*p;,能使指针变量p指向变量x的语句是()

    • A、*p=&x;
    • B、p=&x;
    • C、*p=x;
    • D、p=*&x;

    正确答案:B

  • 第11题:

    单选题
    若已定义: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
    解析: 暂无解析

  • 第12题:

    单选题
    若有语句:int x,*p=&x;则与该语句等价的语句是()
    A

    intx,*p;*p=&x;

    B

    int x,*p;p=&x;

    C

    int x,*p;*p=x;

    D

    int x,*p;p=x


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

  • 第13题:

    若已定义x为int类型变量,说明指针变量p的正确语句是______。

    A.int p=&x;

    B.int*p=x;

    C.int *p=&x;

    D.*p=*x;


    正确答案:C

  • 第14题:

    下面是类MyClass的定义,对定义中各种语句描述正确的是( )。

    class MyClass { publiC: void MyClass(int a) //①

    { x=a; ) int func(int a,int b) //②

    { x=a; y=b; } int func(int a,int b,int c=0) //③

    { x=a; y=b; z=c; } static void resetValue() //④

    { x=0; } private: int X,y,Z; };

    A.语句①是类MyClass的构造函数定义

    B.语句②和语句③实现类成员函数的重载

    C.语句④实现对类成员变量x的清零操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:类的构造函数没有返回类型,所以语句①是错误的;语句②和语句③将会使函数func()的调用产生歧义;成员函数resetValue()是静态成员函数,那么它不能访问类MyClass中的非静态数据成员,所以语句④也不正确。

  • 第15题:

    设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是( )。

    A.p=x;

    B.* p=x;

    C.p=NULL;

    D.* p=NULL;


    正确答案:C
    如果没有把P指向一个指定的值,*P是不能被赋值的。定义指针变量不赋初始值时默认为null。

  • 第16题:

    下面程序段中的错误语句是 ______。 class M{ int i; public: void ~AA(int); AA *p; void AA(); void AA(int x){i=x;}; };

    A.AA *p;

    B.void ~AA(int);

    C.void AA(int);

    D.void AA(int x){i=x;};


    正确答案:B

  • 第17题:

    设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。

    Struct st

    { int x;

    inty;

    int z;

    }

    Struct worker

    { char name[20];

    char sex;

    struct st birth;

    }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

  • 第18题:

    若已定义: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


    参考答案:A

  • 第19题:

    下面的语句中错误的是( )。

    A.int a=5;int x[a];

    B.const int a=5;int x[a];

    C.int n=5;int *p=new int[n];

    D.const int n=5;int *p=new int[a];


    正确答案:A

  • 第20题:

    若已有以下定义和语句: #include       int x=4,y=3,*p,*q,*s;  p=&x; q=&y; s=q; q=NULL;  则下面分别给出的四条语句中,错误的是()

    • A、*q=0;
    • B、s=p;
    • C、*p=x;
    • D、*p=*s;

    正确答案:A

  • 第21题:

    有定义:int x,y=10,*p=&y;, 则能使得x的值也等于10的语句是()。

    • A、x=p;
    • B、x=&p;
    • C、x=&y;
    • D、x=*p;

    正确答案:D

  • 第22题:

    单选题
    设有定义:int x=0,*p;紧接着的赋值语句正确的是(  )。
    A

    *p=x;

    B

    *p=NULL;

    C

    p=x;

    D

    p=NULL;


    正确答案: C
    解析:
    指针赋值的正确写法:①p=&x,表示p指向x的存储单元;②p=NULL,表示p是空指针。③*p=x,表示将p指向的内容赋值为x,但前提是p已进行了初始化。答案选择D选项。

  • 第23题:

    单选题
    设有定义:int x,*p;,能使指针变量p指向变量x的语句是()
    A

    *p=&x;

    B

    p=&x;

    C

    *p=x;

    D

    p=*&x;


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

  • 第24题:

    单选题
    若已有以下定义和语句: #include       int x=4,y=3,*p,*q,*s;  p=&x; q=&y; s=q; q=NULL;  则下面分别给出的四条语句中,错误的是()
    A

    *q=0;

    B

    s=p;

    C

    *p=x;

    D

    *p=*s;


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