现有如下一段程序:Option base 1Private Sub Command1_Click() Dim a a=Array(3,5,7,9) X=1 For

题目

现有如下一段程序:

Option base 1

Private Sub Command1_Click()

Dim a

a=Array(3,5,7,9)

X=1

For i=4 to 1 step -1

s=s+a(i)*x

X=x*10

Next

Print s

End Sub

执行程序,单击Command1命令按钮,执行上述事件过程中,输出结果是

A)9753

B)3579

C)35

D)79

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有如下程序:include using namespace std;class Base{private:char c;public:Base(ch

有如下程序:#include <iostream>using namespace std;class Base{private: char c;public: Base(char n):c(n){} ~Base() { cout<<c; }};class Derived: public Base{private: char c;public: Derived(char n):Base(n+1),c(n){} ~Derived() { cout<<c; }};int main(){ Derived obj('x'); return 0; }执行上面的程序将输出( )。

A.xy

B.yx

C.x

D.y


正确答案:A

第2题:

有如下程序: #include 〈iostream〉 using namespace std; class Base { private: char c; public: Base(char n) :c(n) {} ~Base ( ) { cout〈〈c; } }; class Derived : public Base { private: char c; public: Derived(char n) :Base(n+1),c(n) { } ~Derived () { cout〈〈c; } }; int main ( ) { Derived obj ('x'); return 0; } 执行上面的程序将输出( )。

A.xy

B.yx

C.x

D.y


正确答案:A
解析:在C++中,由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。在此题的程序中,在主函数结束时,派生类Derived对象。obj将被删除,所以就会调用对象的析构函数。先调用派生类的析构函数,输出x,然后调用基类的析构函数,输出y。

第3题:

现有如下一段程序: Option Base 1 Privalc Sub Command1 Click( ) Dim a a=Array(3,5,7,9‘) x=1 For i=4,10 j Step-1 s=s+a(i)*X x=x*10 Next i Print s End Sub 执行程序,单击Command1命令按钮键,执行上述事件过程,输出结果是( )。

A.9753

B.3579

C.35

D.79


正确答案:B
B。【解析】在此程序中定义了一个数组,此时对数组中的数进行循环,s=s+a(4)*x;此时x=1,a(4)=9,S=0,所以S=0+9*1=9,此时x=X*10,所以x=10,再次循环,s=s+a(3)*x,此时a(3)=7,x=10,S=9,所以s=9+7*10=79,依次类推,所以得出的结果为3579。

第4题:

有如下程序:include using namespace std;class Base{private:charc;public:Base(cha

有如下程序:#include <iostream>using namespace std;class Base{private: char c;public: Base(char n) :c(n){} ~Base() { cout<<c; } };class Derived: public Base{private: char c; public: Derived(char n):Base(n+1),c(n) {} ~Derived() { cout<<c; }};int main (){ Derived obj ('x'); return 0;}执行上面的程序净输出

A.xy

B.yx

C.x

D.y


正确答案:A
解析:在C++中,由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。在此题的程序中,在主函数main结束时,派生类Derived对象obj将被删除,所以就会调用对象的析构函数。先调用派生类的析构函数,输出x,然后调用基类的析构函数,输出y。

第5题:

在窗体上面一个名称为Commandl的命令按钮,然后编写如下程序: Option.Base 1 Private Sub Command1_Click() Dim a As Variant a=Array(1,2,3,4,5) Sum = 0 For i = 1 To 5 Sum=Sum+a(i) Next i x=Sum/5 For i=1 To 5 If a(i) >x Then Print a(i); Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是

A.1 2

B.1 2 3

C.3 4 5

D.4 5


正确答案:D
解析:本题主要考查考生对程序代码的阅读理解能力。用Array函数为数组a(5)赋值,其元素分别为1、2、3、4、5。第一个For i循环把a(i)数组中的元素逐个加到变量Sum上,然后求出Sum浮点除5的结果(为3),赋值给变量x。第二个Fori循环表示当a(i)大于3时,则用Print语句输出该元素。据此,正确答案为D。

第6题:

有如下程序;include using namespace std;class Base{public;Base(inti){x=i;}void d

有如下程序; #include <iostream> using namespace std; class Base { public; Base(inti){x=i;} void dispa0{cout<<x<<',';} private; int x; }; class Derived;public Base { public; Derived(int i);Base(i+10) {x=i;) void dispb(){dispa();cout<<x<<end1;} private; int x; }; int main() { Derived b(2) ; b.dispb(); return 0; } 运行的结果是( )。

A.2,2

B.12,2

C.12,10

D.10,2


正确答案:B
解析:"Derived b(2) ;¨以整数2实例化变量b,在执行Derived的构造函数时,以i+10即12去调用类Derived的父类的构造函数,将Base::x初始化为12,然后将Derived::x赋值为2。在执行b.dispb()时,先调用父类中的dispa,输出Base::x,即12,再输出Derived::x,即2,所以运行结果为“12,2”。

第7题:

有如下程序:includeusing namespace std;class Base{public:Base(int x=0){cout<

有如下程序: #include<iostream> using namespace std; class Base{ public: Base(int x=0){cout<<x;} }; class Derived:public Base{ public: Derived(int x=0){cout<<x;} private: Base val; }; int main( ){ Derived d(1); return 0; } 程序的输出结果是

A.0

B.1

C.01

D.001


正确答案:D
解析:派生对象在创建时先调用基类的构造函数,然后调用派生类的构造函数;撤销对象时,先调用派生类的构造函数,然后调用基类的构造函数。当类中出现其他类对象时,在初始化时先调用该对象的类的构造函数创建该对象。

第8题:

有如下程序:includeusing namespace std;class Base{private:char c;piblic:Base(cha

有如下程序: #include<iostream> using namespace std; class Base { private: char c; piblic: Base(char n):c(n){} ~Base() { cout<<C; } }; class DeriVed:public Base { private: char c; public: Derived(char n):Base(n+1),c(n){} ~Derived() { cout<<c; } }; int main() { Derived obj('x'); return 0; } 执行上面的程序将输出

A.xy

B.yx

C.x

D.y


正确答案:A
解析:在C++中,由于析构函数不能被继承,因此在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相反。在此题的程序中,在主函数main结束时,派生类Derived对象。obj将被删除,所以就会调用对象的析构函数。先调用派生类的析构函数,输出x,然后调用基类的析构函数,输出y。

第9题:

有如下程序: include using namespace std; class Base { public:

有如下程序: #include <iostream> using namespace std; class Base { public: Base(int x=0) { cout<<x; } } class Derived: public Base{ public: Derived(int x=0) { cout<<x; } private: Base val; }; int main() { Derived d(1); return 0; }程序的输出结果是

A.0

B.1

C.1

D.1


正确答案:D
解析:本题考查的知识点是:类的构造。建立一个类的对象时,构造函数的执行顺序如下:
①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下):(如果一行声明了多个对象,则还要遵循自左向右)
③执行自身的构造函数。
本题Derived类继承于Base类,所以首先会构造基类Base,但Derived类的构造函数没有初始化列表,所以将调用Base类的默认构造函数,输出一个0。接下来由于它的成员中还定义了一个Base类的对象,而构造函数也没有显示初始化这个对象,所以再次调用Base类的默认构造函数输出一个0。最后构造自身,因为主函数中传入了构造参数1,所以构造自身时输出了一个1。故最终输出结果为001,应该选择 D。