(23)下列程序运行时输出的结果是 Option Base 1 Const a=10 Priate Sub Form_Click() Dim x(a) As Integer k=-1 For i=1 To a x(i)=i*k k=(-1)*k Next i For i=1 To 10 Print x(i) Next i End Sub A.1 3 5 7 9 10 B.-1 -3 -5 -7 -9 C.-1 2-3 4-5 6-7 8-9 10 D.1-2 3-4 5-6 7-8 9-10

题目

(23)下列程序运行时输出的结果是 Option Base 1 Const a=10 Priate Sub Form_Click() Dim x(a) As Integer k=-1 For i=1 To a x(i)=i*k k=(-1)*k Next i For i=1 To 10 Print x(i) Next i End Sub A.1 3 5 7 9 10 B.-1 -3 -5 -7 -9 C.-1 2-3 4-5 6-7 8-9 10 D.1-2 3-4 5-6 7-8 9-10


相似考题
更多“(23)下列程序运行时输出的结果是 Option Base 1 Const a=10 Priate Sub Form_Click() Dim x(a) ”相关问题
  • 第1题:

    有如下程序: #include<iostream> usingnamespacestd; classMyClass{ public: MyClass(intx):val(x){} voidPrint()const{cout<<"const:val="<<<val<<\t;} voidPrint(){cout<<"val="<<val<<t;} private: intval; }; intmain(){ constMyClassobj1(10); MyClassobj2(20);

    obj1.Print(); obj2.Print(); return0; } 程序的输出结果是( )。

    A.va1=10const:va1=20

    B.const:va1=10const:va1=20

    C.const:va1=10val=20

    D.val=10va1=20


    正确答案:D
    D。【解析】在建立类对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承的声明顺序;执行成员对象的构造函数,调用顺序按照各个成员在类中的声明顺序;执行自身的构造函数。根据以上总结以及题意可知答案选择D选项。

  • 第2题:

    有如下程序:

    #include<iostream>

    usingnamespacestd;

    classMyClass{

    public:

    MyClass(intx):val(x){}

    voidPrint()const{cout<<"const:val="<<<val<<'\t';}

    voidPrint(){cout<<"val="<<val<<'t';}

    private:

    intval;

    };

    intmain(){

    constMyClassobj1(10);

    MyClassobj2(20);

    obj1.Print();

    obj2.Print();

    return0;

    }

    程序的输出结果是( )。

    A.va1=10const:va1=20

    B.const:va1=10const:va1=20

    C.const:va1=10val=20

    D.val=10va1=20


    正确答案:D
    D。【解析】在建立类对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承的声明顺序;执行成员对象的构造函数,调用顺序按照各个成员在类中的声明顺序;执行自身的构造函数。根据以上总结以及题意可知答案选择D选项。

  • 第3题:

    下列程序的输出结果是______。 include using namespace std; class base { public: in

    下列程序的输出结果是______。

    include<iostream>

    using namespace std;

    class base

    {

    public:

    int n;

    base(int x){n=x;}

    virtual void set(int m){n=m;cout<<n<<'';}

    };

    class deriveA:public base

    {

    public:

    deriveA(int x):base(x){}

    void set(int m){n+=m;cout<<n<<'';}

    };

    class deriveB:public base

    {

    public:

    deriveB(int x):base(x){}

    void set(int m){n+=m;cout<<n<<'';}

    };

    int main( )

    {

    deriveA d1(1);

    deriveB.d2(3);

    base*pbase;

    pbase=&d1;

    pbase->set(1);

    pbase=&d2;

    pbase->set(2);

    return 0;

    }


    正确答案:25
    25 解析:本题考核虚函数的定义和调用。在C++中,一个基类指针(或引用)可以用来指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。题中基类成员函数set( )被定义成虚函数,而且其派生类 deriveA和deriveB都有函数set( )的重定义版本,所以通过指针pbase的两次调用分别调用的是派生类deriveA和deriveB中定义的版本,即输出25。

  • 第4题:

    有如下程序:includeusing namespace std;class MyClass{public: MyClass(int x):val(

    有如下程序: #include<iostream> using namespace std; class MyClass{ public: MyClass(int x):val(x) {} void Print() const {cout<<"const:val="<<val<<'\t';} void Print() {cout<<"val="<<val<<'t';} private: int val; }; int main() const MyClass obj1(10); MyClass obi2(20); obj1.Print(); obj2.Print(); return 0; } 程序的输出结果是( )。

    A.val=10 const:val=20

    B.const:val=10 const:val=20

    C.const:val=10 val=20

    D.val=10 val=20


    正确答案:C
    解析:此题考查的是常成员函数的重载。常成员函数是使用const关键字说明的函数。COHM关键字可用于区分重载函数。此时,常对象调用常成员函数,一般对象调用一般成员函数;题目中的Print()就是通过const重载的两个成员函数,主函数中声明的。obj1是常对象,obj2是一般对象。故输出结果是const::val=10val=20。

  • 第5题:

    有如下程序: #include<iostream> usingnamespacestd; classB{ public: B(intxx):x(xx){++count;x+=10;} virtualvoidshow( )const {cout<<count<<<<x<<endl;} protected: staticintcount; private: intx; }; classD:publicB{ public: D(intxx,intyy):B(XX),y(yy){++count;y+= 100;) virtualvoidshow( )const {cout<<count<<<<y<<endl); private: inty; }; intB::count==0; intmain( ){ B*ptr=newD(10,20); ptr->show( ); deleteptr; return0; } 运行时的输出结果是( )。

    A.1_120

    B.2_120

    C.1_20

    D.2_20


    正确答案:B
    B。【解析】本题考查了类的继承。继承有3种方式,public公有、private私有和protected保护,本题都涉及了。本题中类D公有继承类B。在类B中又定义了虚函数,并且有保护类静态类型count及私有变量x。主函数中调用类D,类D又继承了类B,经过系统及调用,本题最终结果为2_120。

  • 第6题:

    下列程序的输出结果是______。 include class base { int x,y; public: base(int i,i

    下列程序的输出结果是______。

    include<iostream.h>

    class base

    {

    int x,y;

    public:

    base(int i,int j){x=i;y=j;}

    virtual int add( ){return x+y;}

    };

    class three:public base

    {

    int z;

    public:

    three(int i,int j,int k):base(i,j){z=k;)

    int add( ){return(base::add( )+z);}

    };

    void main( )

    {

    three*q=new three(10,20,30);

    cout<<q->add( )<<endl;

    }


    正确答案:60
    60 解析:本题考察继承中子类对父类的继承方式,注意子类的add成员函数,它直接使用了父类的成员函数进行运算。