niusouti.com
更多“—Simon, I’m going to Beijing with my parents tomorrow. —??____________! A. Have fun B. ”相关问题
  • 第1题:

    有下列程序: fun(int x,int y) { static int m=0,i=2; i+=++m;m=i+x+y;return m; } main { int j=1,m=1,k; k=fun(j,m);printf("%d,",k); k=fun(j, m);printf(”%d\n”,k); } 执行后的输出结果是( )。

    A.5.5

    B.5,11

    C.11,11

    D.11,5


    正确答案:B
    变量m和i声明为局部静态变量,因此第1次调用fun函数后,局部静态变量m和i的值为5和3,第l次调用结束时,它们的值不变,第2次调用时,m和i的初始值分别为5和3,在执行“i+=m+1”后,i的值为9,因此,最终m的值为11。

  • 第2题:

    有下列程序: fun(int x,int y) { static int m=0,i=2; i+=m+1;m=i+x+y;return m; } main( ) { int j=1,m=1,k; k=fun(j,m);print S(”%d,”,k); k=fun(j,m);printf(”%d\n”,k); ) 执行后的输出结果是( )。

    A.5,5

    B.5,11

    C.11,11

    D.11,5


    正确答案:B
    子函数fun(intx,inty),将变量m和i声明为局部静态变量,因此第l次调用主函数后,局部静态变量m和i的值为5和3,第l次函数调用结束时,它们的值不释放保持不变,所以第2次调用时,局部静态变量m和i的初始值分别为5和3,即在执行“i+=m+1”时,i的值为9,因此最终m的值为11。

  • 第3题:

    有下列程序: fun(int x,int y) { static int m=0,i=2; i+=m+1;m=i+x+y;return m; } main() { int j=1,m=1,k; k=fun(j,m);printf("%d,",k); k=fun(j,m);printf("%d\n",k); }执行后的输出结果是( )。

    A.5,5

    B.5,11

    C.11,11

    D.11,5


    正确答案:B
    解析:子函数fun(int x,int y),将变量m和i声明为局部静态变量,因此第1次调用主函数后,局部静态变量m和i的值为5和3,第1次函数调用结束时,它们的值不释放保持不变,所以第2次调用时,局部静态变量m和i的初始值分别为5和3,即在执行“i+=m+1”时,i的值为9,因此最终m的值为11。

  • 第4题:

    以下程序的输出是【】。 include using namespace std; fun(intm) { static int n=1; n=m

    以下程序的输出是【 】。

    include<iostream>

    using namespace std;

    fun(intm)

    {

    static int n=1;

    n=m*n;

    return(n);

    }

    void main()

    {

    int i;

    for(i=1;i<=3;i++) cout<<fun(i);

    }


    正确答案:126
    126 解析:局部静态变量在离开作用域之后,并没有被销毁,而是仍然驻留在内存当中,直到程序结束。第一次调用 fun 函数时n的值等于1,第二次调用 fun 函数时n的值等于2,第三次调用 fun 函数时n的值等于6,每次调用 fun 函数时,保留上次调用时n的值不变。

  • 第5题:

    有下列程序: fun(int x,int y) {static int m=0,i=2; i+=m+1;m=i+x+y;return m; } main() {int j=1,m=1,k; k=fun(j,m);printf("%d,",k); k=fun(j,m);printf("%d\n".k); } 执行后的输出结果是( )。

    A.5,5

    B.5,11

    C.11,11

    D.11,5


    正确答案:B
    解析:子函数fun(intx,inty),将变量m和i声明为局部静态变量,因此第1次调用主函数后,局部静态变量m和i的值为5和3,第1次函数调用结束时,它们的值不释放保持不变,所以第2次调用时,局部静态变量m和i的初始值分别为5和3,即在执行“i+=m+1”时,i的值为9,因此最终m的值为11。

  • 第6题:

    有以下程序: fun(int x,int y) { static int m=0, i=2; i+=m+1; m=i+x+y; return m; } main() { int j=1,m=1,k; k=fun(j,m); printf("%d,"k); k=fun(j,m); printf("%d\n",k); } 执行后的输出结果是( )。

    A.5,5

    B.5,11

    C.11,11

    D.11,5


    正确答案:B
    解析:本题的fun()函数中定义的变量m和i是静态局部变量,第1次调用fun()函数时m=0、i=2,执行i+=m+1后,i的值变为3,再执行m=i+x+y后,m的值变为5,所以第1次输出的整数是5。第2次调用fun()函数时m=5、i=3,执行i+=m+1,i变为9,再执行m=i+x+y,m变为11,所以第2次输出的整数是11。故本题应该选择B。