niusouti.com

单击命令按钮时,下列程序的执行结果是Private Sub Command1_Click()BT 4End SubPrivate Sub BT(x As Integer)x=x*2 + 1If x < 6 ThenCall BT(x)End Ifx=x  2Print x;End SubA.15B.16C.17D.18

题目

单击命令按钮时,下列程序的执行结果是

Private Sub Command1_Click()

BT 4

End Sub

Private Sub BT(x As Integer)

x=x*2 + 1

If x < 6 Then

Call BT(x)

End If

x=x  2

Print x;

End Sub

A.15

B.16

C.17

D.18


相似考题
参考答案和解析
正确答案:D
解析:此题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用BT过程,把实参4传递给BT过程中的形参x,由x=x2+1语句推出x=9,此时不满足BT过程中判断语句的判断条件,执行x=x2;Print x;语句。由x=x2语句得到x值为18并输出,结束此次调用过程,返回到主调过程结束程序,输出结果为18。
更多“单击命令按钮时,下列程序的执行结果是 Private Sub Command1_Click()BT 4 End Sub Private Sub B ”相关问题
  • 第1题:

    若有以下程序: include usingnamespace std; class Sample { private: const int n;

    若有以下程序:

    include <iostream>

    using namespace std;

    class Sample

    {

    private:

    const int n;

    public:

    Sample(int i) :n(i) {)

    void print()

    {

    cout<<"n="<<n<<end1;

    }

    };

    int main()

    {

    sample a(10);

    a.print();

    return 0;

    }

    上述程序运行后的输出结果是【 】。


    正确答案:n=10
    n=10 解析:本题考核常成员数据的应用。类Sample中,定义了一个常数据成员n,所以构造函数只能通过初始化列表来初始化它。

  • 第2题:

    单击命令按钮时,下列程序的执行结果是 Private Sub Command1_Click() BT4 End Sub Private Sub BT(x As Integer) x=x * 2 + 1 If x<6 Then Call BT(x) End If x=X * 2 Print x; End Sub

    A.15

    B.16

    C.17

    D.18


    正确答案:D
    解析:此题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用BT过程,把实参4传递给BT过程中的形参x,由x=x*2+1语句推出x=9,此时不满足BT过程体中判断语句的判断条件,执行x=x*2;Printx;语句。由x=x*2语句得到。值为18并输出,结束此次调用过程,返回到主调过程结束程序,输出结果为18。

  • 第3题:

    单击命令按钮时,下列程序的执行结果是 Private Sub Commandl_Click( ) BT 4 End Sub PriVate Sub BT(x As Integer) X=X * 2 + 1 If x <6 Then Call BT(x) End If X=x * 2 Print x; End Sub

    A.15

    B.16

    C.17

    D.18


    正确答案:D
    解析:此题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用BT过程,把实参4传递给BT过程中的形参x,由x=x*2+1语句推出x=9,此时不满足BT过程体中判断语句的判断条件,执行x=x*2;Printx;语句。由x=x*2语句得到x值为18并输出,结束此次调用过程,返回到主调过程结束程序,输出结果为18。

  • 第4题:

    若有以下程序:include using namespace std;class myClass{private: int var;public:

    若有以下程序: #include <iostream> using namespace std; class myClass { private: int var; public: myClass(int i) { var=i; } void add() { s+=var; } static int s; void display() { cout<<s<<end1; } }; int myClass::s=0; int main ( ) { myClass a(1),b(2),c(3); a.add(); b.add(); c.dislay(); return O; } 程序执行后的输出结果是( )。

    A.1

    B.4

    C.3

    D.7


    正确答案:C
    解析:本题考核静态数据成员的应用。解本题的关键是知道静态数据成员类中所有对象共享的成员。每个对象对静态数据成员的操作具有叠加效果。本题在类myClass中定义了一个静态数据成员s,其初始值为0。定义了3个对象a、b和c,并分别初始化各自的私有成员n为1、2和3。执行“a.add();”语句后,静态数据成员s=1。再执行语句“b.add();”后,s的值变为3。最后执行输出语句“c.display();”,即输出s的值7。

  • 第5题:

    若有以下程序:include using namespace std;class Base{private: inta,b;public: Bas

    若有以下程序: #include <iostream> using namespace std; class Base { private: int a,b; public: Base(int x, int y) { a=x; b=y; } void disp () { cout<<a<<" "<<b<<end1; } }; class Derived : public Base { private: int c; int d; public: Derived(int x,int y, int z,int m) :Base(x,y) { c=z; d=m; } void disp () { cout<<c<<" "<<d<<end1; } }; int main() { Base b(5,5),*pb; Derived obj(1,2,3,4); pb=&obj; pb->disp(); return 0; } 执行程序后的输出结果是( )。

    A.1,2

    B.3,4

    C.2,3

    D.5,5


    正确答案:A
    解析:本题考核基类指针的使用。本题首先定义了一个基类Base和一个由Base派生出来的派生类Derived。在主函数中,定义了一个基类Base指针pb和基类对象b,还定义了派生类Derived的对象obj。然后将派生类对象obj的地址赋值给指向基类Base的指针pb。由于Derived是Base的子类型,因此允许上述赋值,但这时指针pb只能使用从基类Base继承的成员,即当pb指向obj对象时,pb->disp还是调用基类Base的成员函数disp。所以程序最后输出的对象d中对基类成员的初始化值,即1,2。