niusouti.com
参考答案和解析
正确答案:A
解析:这是使用递归算法求著名的菲波拉奇数列,并要熟悉函数的递归方法的调用。
更多“阅读下面程序,则执行后的结果为#include"stdio.h"long fun(int n){ if(n>2)return(fun(n-1)+fun( ”相关问题
  • 第1题:

    有如下程序:includeusing namespace std;long fun(int n){if(n>2)return(fun(n-1)+fu

    有如下程序: #include<iostream> using namespace std; long fun(int n) { if(n>2) return(fun(n-1)+fun (n-2)); else return 2; } int main() { cout<<fun(3)<<end1; return 0; } 则该程序的输出结果应该是 ( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:C
    解析:主函数中调用fun(3),在fun内部当n>2时,递归调用 fun(n-1)+fun(n-2),否则返回2。所以当n=3时,调用fun(2)+fun(1),即返回2+2,等于4。

  • 第2题:

    阅读下面程序,则程序的执行结果为( )。 include"stdio.h" main() {int a=10; fun(A); printf("%d\n",A);} fun(int x) {x=50;}


    正确答案:10
    10

  • 第3题:

    阅读下面程序段,则执行后的结果为

    #include "stdio.h"

    main()

    { int m=4,n=2,k;

    k=fun(m,n);

    printf("%d\n",k);}

    fun(int m,int n)

    { return(m*m*m-n*n*n);}

    A.64

    B.8

    C.56

    D.0


    正确答案:C
    解析:函数之间的数据传递。如果没有指明函数值类型,则默认函数返回值的类型为int型。

  • 第4题:

    阅读下面程序,则程序执行后的结果为

    #include "stdio.h"

    main()

    {int a=4,b=6,c=7;

    double d,fun(int,int,int);

    d=fun(a,b,c);

    printf("%lf\n",d);}

    double fun(int a,int b,int c)

    {double s;

    s=a%b*c;

    return s;}

    A.27

    B.27.000000

    C.28

    D.28.000000


    正确答案:D

  • 第5题:

    阅读下面程序段,则执行后的结果为 #include"stdio.h" main() { int m=4,n=2,k; k=fun(m,n); printf("%d\n",k);} fun(int m,int n) { return(m*m*m-n*n*n);}

    A.64

    B.8

    C.56

    D.0


    正确答案:C
    解析:如果没有指明函数值类型,则默认函数返回值的类型为int型。注意:顺序程序结构的执行过程。