若有以下说明和定义 typede int *INTEGER; INTEGER p, *q; 以下叙述正确的是A.p 是int 型变量B.p 是基类型为 int 的指针变量C.q 是基类型为int 的指针变量D.程序中可用INTEGER代替int类型名

题目

若有以下说明和定义 typede int *INTEGER; INTEGER p, *q; 以下叙述正确的是

A.p 是int 型变量

B.p 是基类型为 int 的指针变量

C.q 是基类型为int 的指针变量

D.程序中可用INTEGER代替int类型名


相似考题
参考答案和解析
正确答案:B
解析:INTEGER是类型名,由它来间接定义p和*q的类型,因此,p是基类型为int的指针变量,故选项A不正确,选项B正确,q是二级指针变量,它指向基类型是int的指针变量,故选项C,D不正确。所以4个选项中B正确。
更多“若有以下说明和定义 typedeint *INTEGER; INTEGER p, *q; 以下叙述正确的是A.p 是int 型变量B.p ”相关问题
  • 第1题:

    若有说明:int * p,m=51; n;,以下正确的程序段是()

    A.p=&m; scanf("%d",&p)

    B.p=&n; scanf("%d",&P)

    C.scanf("%d",&p) p=&n;

    D.p=&n; p=&m;


    正确答案:D

  • 第2题:

    设有定义:int n=0,*p=&n,**q=&p;,则以下选项中,正确的赋值语句是 ______。

    A.p=1;

    B.*q=2

    C.q=p

    D.*p=5


    正确答案:D
    解析:本题中n是int型变量,p是指向int型的指针变量,q是指向指针的指针变量,故正确答案为D。

  • 第3题:

    若有说明:int*p,m=5,n;,以下正确的程序段是( )。

    A.p=&m; scanf("%d",&p)

    B.p=&n; scanf("%d",&p)

    C.scsnf("%d",&p) p=&n;

    D.p=&n; p=&m;


    正确答案:D
    解析:p为指针型变量,在输入函数的地址列表中不用&,当给指针变量赋值时是取变量的地址赋给指针变量,&为取地址运算符,因此只有选项D正确。

  • 第4题:

    若有以下说明和定义: typedef int *INTEGER; INTEGER p,*q; 以下叙述正确的是( )。

    A.p是整型变量

    B.p是基类型为整型的指针变量

    C.q是基类型为整型的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:本题中INTEGER被定义为int*的别名,故直接由它定义的类型基类型为整型的指针变量。因此,p是基类型为int的指针变量,q是int型指针的指针变量。故4个选项中B正确。

  • 第5题:

    设有如下定义:typedefint*INTEGER;INTEGERp,*q;则()是正确的叙述。

    A.p是int型变量

    B.q是基类型为int的指针变量

    C.p是基类型为int的指针变量

    D.程序中可用INTEGER代替int类型名


    参考答案:C

  • 第6题:

    若有定义语句:int a[21[3],* P[3];则以下语句中正确的是( )。

    A.p:a;

    B.p[0]=a;

    C.p[O]=&a[1][2];

    D.1a[1]=&a;


    正确答案:C
    A选项错误,因为P是指向一个指针数组,作为数组名,不能指向别的地方。B选项错误,因为P[0]是一个int指针,也就是int-;而a是一个指向指针的指针in‘}}。c选项正确,因为p[O]是一个int},a[1][2]是int,&a[1][2]是int+,类型吻合。D选项错误,因为a作为数组名,不能取地址。即使能取,P[1]是int·,&a是int+t;,类型不对。因此C选项正确。

  • 第7题:

    若有以下说明和定义

    typedef int*INTEGER:

    INTEGER P,*q;

    以下叙述正确的是


    正确答案:B

  • 第8题:

    若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是;

    A.p=s;

    B.p=k

    C.p=s[0]

    D.k=s;


    正确答案:C

  • 第9题:

    以下将变量NewVar定义为Integer型正确的是______。

    A.Integer NewVar

    B.Dim NewVar Of Integer

    C.Dim NewVar As Integer

    D.Dim Integer NewVar


    正确答案:C
    解析:定义变量最常用的是使用Dim...AS[VarType]。

  • 第10题:

    设有如下定义: typedefint*INTEGER; INTEGERp,*q; 则()是正确的叙述。

    • A、p是int型变量
    • B、q是基类型为int的指针变量
    • C、p是基类型为int的指针变量
    • D、程序中可用INTEGER代替int类型名

    正确答案:C

  • 第11题:

    若有以下说明和定义:typedefint*INTEGER INTEGERp,*q;以下叙述正确的是()

    • A、p是int型变量
    • B、p是基类型为int的指针变量
    • C、q是基类型为int的指针变量
    • D、程序中可用INTEGER代替int类型名

    正确答案:B

  • 第12题:

    单选题
    设有如下定义: typedefint*INTEGER; INTEGERp,*q; 则()是正确的叙述。
    A

    p是int型变量

    B

    q是基类型为int的指针变量

    C

    p是基类型为int的指针变量

    D

    程序中可用INTEGER代替int类型名


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

  • 第13题:

    若有说明:int *p,m=5,n;,以下正确的程序段是

    A.p=&n;scanf("%d",&p);

    B.p=&n;scanf("%d",*p)

    C.scanf("%d",&n);*p=n;

    D.p=&n;*p=m;


    正确答案:D
    解析:&是求址运算符,"*"是指变量说明符。选项A)、B)应改为scanf("%d",p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。

  • 第14题:

    若有以下定义和语句: int s[4][5],(*p)[5]; p=s; 则指针对s数组中第三个元素的正确引用形式是( )。

    A.p[0][3]

    B.p[1][2]

    C.p[0][2]

    D.p[1][3]


    正确答案:C
    解析:“p=s;”语句将指针p指向数组s。而数组为二维数组,下标标识由0开始,所以第二个元素是下标为0行的2列元素,即p[0][2]。

  • 第15题:

    若有以下说明和定义 typedef int*INTEGER; INTEGER p,*q; 以下叙述正确的是

    A.p是int型变量

    B.p是基类型为int的指针变量

    C.q是基类型为int的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:INTEGER是类型名,由它来间接定义P和*q的类型,因此,p是基类型为int的指针变量,q是二级指针变量,它指向基类型是int的指针变量。

  • 第16题:

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a;

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。

    A.p=a;

    B.p[0]=a;

    C.p[o]=&a[1][2];

    D.p[1]=&a;


    正确答案:B
    选项B表示把整型数组a[o]的指针赋给p[0]。

  • 第17题:

    若有定义语句:char s[3][10],(*k)[3]。*P;,则以下赋值语句正确的是

    A.p=S;

    B.p=k;

    C.p=s[0];

    D.k=S;


    正确答案:C

  • 第18题:

    若有如下定义: int (*p)(), *q(); 则下列说法正确的是( )

    A.p是一个函数名,q是一个指针变量

    B.p是一个指向整型变量的指针变量,q是一个指向一维数组的指针变量

    C.p和q是等价的,都是指针变量

    D.p是指向函数的指针变量,函数的返回值是整型数据;q是带回指针值的函数


    正确答案:D

  • 第19题:

    设有以下定义: struck sk { int a; float b; }data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。

    A.p=&a;

    B.p=data.a;

    C.p=&data.a;

    D.*p=data.a;


    正确答案:C
    解析:p定义为指针变量。选项A中对结构体分量a的引用错误,应为data.a。选项B中data.a是取分量的值,它是一个整型数据,而p的值应为地址,所以不能将data.a赋值给p。&为取地址符,取分量data.a的地址赋值给p,是正确的赋值语句。*是间接访问运算符,选项D中的浯句是将分量data.a的值赋值给p所指存储单元,*p相当于一个变量,而不能实现使p指向data中的a域。

  • 第20题:

    若有以下说明和定义 typedefint * INTEGER; INTEGER p,* q; 以下叙述正确的是

    A.p是int型变量

    B.p是基类型为int的指针变量

    C.q是基类型为int的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:语句typedef int * INTEGER;定义了一个新类型名INTEGER,因此语句INTEGERp,* q;就相当于int * p,* * q;。

  • 第21题:

    若有int(*p)[3]:则以下表述中正确的是 ______。

    A.p是一个指向具有3个元素的整型数组的指针

    B.p是一个指向int型变量的指针

    C.p是一个有3个元素的指针数组,每个元素是一个int型指针

    D.p是一个具有3个int型元素的一维数组


    正确答案:A

  • 第22题:

    以下所列的各方法头部中,正确的是()

    • A、 void play(var a:Integer, var b:Integer)
    • B、 void play(int a, b)
    • C、 void play(int a, int b)
    • D、 Sub play(a as integer, b as integer)

    正确答案:C

  • 第23题:

    单选题
    在VB中,使用变量前一般应对变量进行定义。以下变量定义语句错误的是()。
    A

    Dim  x As Integer

    B

    Dim  x As Integer,y As Single

    C

    Var  x,y:Integer

    D

    Dim  x As Integer,y As Integer


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

  • 第24题:

    单选题
    以下所列的各方法头部中,正确的是()
    A

     void play(var a:Integer, var b:Integer)

    B

     void play(int a, b)

    C

     void play(int a, int b)

    D

     Sub play(a as integer, b as integer)


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