有如下程序 include using namespace std; int i=1; class Fun {有如下程序 #include <iostream> using namespace std; int i=1; class Fun { public: static int i; int value( ){ return i-l;} int value( )const { return i+1;} }; int Fun::i=2; int main( ){ int i=3; Fun funl;

题目
有如下程序 include using namespace std; int i=1; class Fun {

有如下程序 #include <iostream> using namespace std; int i=1; class Fun { public: static int i; int value( ){ return i-l;} int value( )const { return i+1;} }; int Fun::i=2; int main( ){ int i=3; Fun funl; const Fun fun2; ___________ return 0; } 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是

A.cout<<funl.value( )<<Fun::i<<fun2.value( );

B.cout<<Fun::i<<funl.value()<<fun2.value( );

C.cout<<funl.value( )<<fun2.value( )<<Fun::i;

D.cout<<fun2.value( )<<Fun::i<<fun1.value( );


相似考题
更多“有如下程序 #include <iostream> using namespace std; int i=1; class Fun { ”相关问题
  • 第1题:

    有以下程序includeint i=0;void fun(){{ Static int i=1 Std::cont<

    有以下程序 #include<iostream,h> int i=0; void fun() { { Static int i=1 Std::cont<<i++<<','; } Std::cout<<i<<','; } int main() { fun();fun(); return 0; } 程序执行后的输出结果是( )。

    A.1,2,1,2,

    B.1,2,2,3,

    C.2,0,3,0,

    D.1,0,2,0,


    正确答案:D

  • 第2题:

    有如下程序:include void fun(int& x, int y){int t=x;x=y;y=t;}int main (){int

    有如下程序: #include <iostream> void fun(int& x, int y){int t=x;x=y;y=t;} int main () { int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; } 执行后的输出结果是

    A.42,42

    B.23,23

    C.23,42

    D.42,23


    正确答案:B
    解析:本题考核函数的调用以及参数值的传递。函数fun中的第一个参数采用引用传值方式,函数中对形参值的改变同样作用于实参上;第二个参数采用按值传值方式,函数中对形参的操作不会影响到实参。所以main函数中调用fun函数后,a[1]的值被修改为a[0]的值,而a[0]的值没有改变。

  • 第3题:

    有如下程序:includeusing namespace std;int i=1;class Fun{public:static int i;int

    有如下程序: #include<iostream> using namespace std; int i=1; class Fun { public: static int i; int value(){return i-1;} int value()const{return i+1;} }; int Fun::i=2; int main() { int i=3; Fun fun 1; const Fun fun2; ______ return 0; } 若程序的输出结果是: 123 则程序中横线处的语句是( )。

    A.cout<<fun1.value()<<Fun::i<<fun2.value();

    B.cout<<Fun::i<<fun1.value()<<fun2.value();

    C.count<<fun.value()<<fun2.value()<<Fun::i;

    D.cout<<fun2.value()<<Fun::i<<fun1.value();


    正确答案:A
    解析:此题因为定义的变量i是static类型的(main()函数内部的i只是一个局部变量),所以,选项A)中fun1.value()的返回值是1,Fun::i引用的是外部变量会输出2;fun2.value();会调用常成员函数int valueoconstfrerun i+1;}使得外部静态变量i的值增加为3,故输出3。

  • 第4题:

    有以下程序: include int i=0;void fun(){{static iht i=1; std::cout<

    有以下程序: # include <iostream> int i=0; void fun() {{static iht i=1; std::cout<<i++<<','; } std:: cout<<i<<','; } int main() { fun(); fun(); return 0; }程序执行后的输出结果是______。

    A.1,2,1,2,

    B.1,2,2,3,

    C.2,0,3,0,

    D.1,0,2,0,


    正确答案:D
    解析:程序中,static声明了一个局部静态变量,在程序运行期间一直存在,第二次调用函数改变了该值。全局变量一直未改变。

  • 第5题:

    如下程序的输出结果是includevoid fun(int & X,inty){intt=x;x=y;y=t;}int main(){in

    如下程序的输出结果是 #include<iostream> void fun(int & X,inty){intt=x;x=y;y=t;} int main( ){ int a[2]={23,42}; fun(a[1],a[0]); std::cout<<a[0]<<","<<a[1]<<std::endl; return 0; }

    A.42,42

    B.23,23

    C.23,42

    D.42,23


    正确答案:B
    解析:参数X是引用传递,传递的是地址:参数Y是值传递,函数fun( )是做X与Y值交换,交换后X的值要被回传给a[1],此时a[1]=a[0]=23。

  • 第6题:

    有以下程序include int i = 0;void fun( ){ {static int i = 1;std::cout<

    有以下程序 #include <iostream> int i = 0; void fun( ) { { static int i = 1; std::cout<<i++<<','; } std::cout<<i<<','; } int main() { fun(); fun(); return 0; } 程序执行后的输出结果是

    A.1,2,1,2,

    B.1,2,2,3,

    C.2,0,3,0,

    D.1,0,2,0,


    正确答案:D
    解析:本题考核变量的作用域、生存周期和存储类别(自动、静态、存储器、外部)。题中即定义全局变量i,又在函数fun内部定义了局部静态变量i,当进入函数fun里面的大括号时,局部静态变量i有效,所以输出1,然后局部静态变量i加1,出了里面的大括号后,全局变量i有效,所以输出0。同理,第二次调用fun后,输出2和0。