niusouti.com
更多“假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。A、pb=b;B、pb=b[0];C、pb=new int;D、pb=b[5];”相关问题
  • 第1题:

    若x是整型变量,pb是基本类型为整型的指针变量,则正确的赋值语句是 ( )

    A.pb=&x;

    B.pb=x;

    C.* pb=& x;

    D.* pb=* x;


    正确答案:A

  • 第2题:

    有以下程序 include using namespace std; class Base { int a; public: Base(int x)

    有以下程序

    include <iostream>

    using namespace std;

    class Base

    {

    int a;

    public:

    Base(int x){ a=x; }

    void show(){ cout<<a; }

    class Derived : public Base

    {

    int b;

    public:

    Derived(int i) :Base(i+1),b(i){}

    void show() { cout<<b;

    };

    int main ()

    {

    Base b(5),*pb;

    Derived d(1);

    pb=&d;

    pb->show ();

    return 0;

    }

    运行后的打印结果是______。


    正确答案:2
    2 解析:本题考核基类指针与派生类指针的使用。本例程序中类Derived是从基类Base公有继承来的。main()中定义了基类对象b和一个基类指针pb,又定义了派生类Derived的对象d。由于Derived是Base的子类型,因此可以将派生类Derived的对象d的地址赋值给指向基类Base的指针pb,但这时指针pb只能使用从基类Base继承的成员。所以通过对象指针Pb调用的show函数是基类的成员函数show(),从而输出基类私有数据成员a的值2。

  • 第3题:

    如下程序执行后的输出结果是【】。include using namespace std; class Base { public:

    如下程序执行后的输出结果是【 】。

    include <iostream>

    using namespace std;

    class Base

    {

    public:

    Base(int x,int y)

    {

    a=x;

    b=y;

    }

    void Show()

    {

    cout<<"Base: "<<a<< ',' <<b<<" ";

    }

    private:

    int a,b;

    };

    class Derived : public Base

    {

    public:

    Derived(int x, int y, int z) : Base(x,y),c(z) { }

    void Show()

    {

    cout<<"Derived:"<<c<<end1;

    }

    private:

    int c;

    };

    int main()

    {

    Base b(100,100),*pb;

    Derived d(10,20,30);

    pb=&b;

    pb->Show();

    pb=&d;

    pb->Show();

    return 0;

    }


    正确答案:Base:100100 Base:1020
    Base:100,100 Base:10,20 解析:本题考核对象指针的应用。主函数中通过对象指针pb.分别调用其类成员函数Show()和派生类成员函数Show()先后输出 Base:100,100Base:10,20。

  • 第4题:

    为使程序的输出结果为: Base:: fun 那么应在下列程序画线处填入的正确语句是( )。 #include <iostream> using namespace std; class Base { public: void fun () { cout<<"Base: :fun"<<end1; } }; class Derived : public Base { public: void fun ( ) { cout<<"Derived: :fun"<<end1; } }; int main ( ) { Base a,*pb; Derived b; _________; pb->fun(); //调用基类的成员函数 fun() return 0 ; }

    A.pb=&a

    B.pb=b

    C.pb=&b

    D.pb=&Base


    正确答案:C
    解析:本题程序中类Derived是从基类Base公有继承的。主函数中定义了一个基类对象a和一个指向基类对象的指针pb,又定义了一个派生类Derived对象b。当pb指向对象b时,pb->fun()调用基类Base的成员函数fun()。这是由于Derived是Base的子类型,因此可以将派生类Derived的对象b的地址赋值给指向基类Base的指针pb,但这时指针pb只能使用从基类Base继承的成员。

  • 第5题:

    有以下程序:inClUdeusingnamespacestd;ClassBase{public: Base(intx) {a=x; } voidsh

    有以下程序: #inClUde <iostream> using namespace std; Class Base { public: Base(int x) { a=x; } void show() { cout<<a; } private: int a; }; class Derived : public Base { public: Derived(int i) :Base(i+1),b(i){} void Show() { cout<<b; } private: int b; }; int main() { Base b(5),*pb; Derived d(1); pb=&d; pb->show(); return 0; } 运行后的输出结果是( )。

    A.1

    B.5

    C.2

    D.0


    正确答案:C
    解析:基类Base派生出派生类Derived,在主函数中,定义了基类对象b,基类指针pb,以及派生类对象d,并让基类指针pb指向派生类对象d。在C++中,当派生类的对象赋值给基类对象时,只能使用派生类对象中从基类继承的成员。所以最后执行语句“pb->show();”是调用基类的成员函数show(),输出a的值2。

  • 第6题:

    假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为()。

    Apb=b;

    Bpb=&b[0];

    Cpb=b+2;

    Dpb=b[5];


    D

  • 第7题:

    假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。

    • A、pb=b
    • B、pb=&b[0]
    • C、ph=newint
    • D、pb=b[5]

    正确答案:D

  • 第8题:

    要使语句“p=newint[10][20];”正确,p应事先定义为()。

    • A、int*p
    • B、int**p
    • C、int*p[20]
    • D、int(*p)[20]

    正确答案:D

  • 第9题:

    假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。

    • A、pb=b;
    • B、pb=&b[0];
    • C、pb=newint;
    • D、pb=b[5];

    正确答案:D

  • 第10题:

    单选题
    假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。
    A

    pb=b;

    B

    pb=&b[0];

    C

    pb=newint;

    D

    pb=b[5];


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

  • 第11题:

    单选题
    有以下变量说明,下面正确的语句是() int a=10,b; int &pa=a,&pb=b;
    A

    &pb=a;

    B

    pb=pa;

    C

    pb=&pa;

    D

    ?pb=?pa;


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

  • 第12题:

    单选题
    假定变量b和pb定义为“intb[10],*pb=b;”,要将24赋值给b[l]元素中,不正确的赋值语句是()。
    A

    *(pb+l)=24

    B

    *(b+l)=24

    C

    *++b=24

    D

    *++pb=24


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

  • 第13题:

    设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&

    设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&a[0][0];”后,(*(pa+1))的值为(31)。

    A.2

    B.3

    C.&a[0][1]

    D.&a[1][0]


    正确答案:A
    解析:对于语句“pa=pb=&a[0][0];”赋值后pb已经变为列指针,则pa也是列指针。在进行TC编译时,会出现“Warning:Suspiciouspointerconversioninfunctionmain”的提示信息,表明pb由行指针变为列指针。

  • 第14题:

    下面代码有何错误

    void func1()

    {

    int *pa = NULL;

    func2(pa);

    delete pa;

    }

    void func2(int *pb)

    {

    pb = new int(5);

    }


    正确答案:

     

  • 第15题:

    下列程序中,正确的为______。

    A.main() { int *pb=&b; float 1>=15.25; print f("%d\n" ,*pb); }

    B.amin() { int a,*pa; a=10; *pa=a; prinffC%d",*pa); }

    C.main() { char s[20]; char *ps=&s; scanf("%s",*p); printf("%s",*p); }

    D.main() { char str[10]; int *ps=str[0]; str="abcdefg"; printf("%s",*p); }


    正确答案:B

  • 第16题:

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

    A、p

    B、*p

    C、*&x

    D、*p=x

    E、x=*p


    参考答案BCDE

  • 第17题:

    要使语句“p=newint[10][20]”能够正常执行,p应被事先定义为( )。

    A.int*p

    B.int**p

    C.int*p[20]

    D.int(*p)[20]


    正确答案:D

  • 第18题:

    有以下变量说明,下面正确的语句是() int a=10,b; int &pa=a,&pb=b;

    • A、&pb=a;
    • B、pb=pa;
    • C、pb=&pa;
    • D、?pb=?pa;

    正确答案:B

  • 第19题:

    假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。

    • A、pb=b
    • B、pb=&b[0]
    • C、pb=newint
    • D、pb=b[5]

    正确答案:D

  • 第20题:

    假定变量b和pb定义为“intb[10],*pb=b;”,要将24赋值给b[l]元素中,不正确的赋值语句是()。

    • A、*(pb+l)=24
    • B、*(b+l)=24
    • C、*++b=24
    • D、*++pb=24

    正确答案:C

  • 第21题:

    单选题
    假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。
    A

    pb=b

    B

    pb=&b[0]

    C

    pb=newint

    D

    pb=b[5]


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

  • 第22题:

    单选题
    假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为()。
    A

    pb=b;

    B

    pb=&b[0];

    C

    pb=b+2;

    D

    pb=b[5];


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

  • 第23题:

    单选题
    假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。
    A

    pb=b;

    B

    pb=&b[0];

    C

    pb=new int;

    D

    pb=b[5];


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