一起答
主观

什么是"直接递归调用"?什么是"间接递归调用"?

试题出自试卷《计算机基础与程序设计2006年4月真题试题与答案解析(02275)》
参考答案
查看试卷详情
相关试题
  1. 若在c:\tclt路径下有一个名为zz.dat的文本文件,它包括10个按升序排列的整数,且每两个数之间用逗号隔开,现要插入一个整数使该序列仍保持升序,并把新序列写入到c:\ tclt路径下名为zzz.dat的文本文件中。

  2. 阅读下面程序段,写出输出结果。

    struct num

    { float f1;

      int j;

    }u={5.6,8},*p=&u;

    printf(″%.2f,%d\\n″,u.f1, u.j);

    printf(″%.2f,%d\\n″, (*p).f1,p-﹥j);

  3. 若有n行n列数组,试编写一程序,分别求出两条对角线元素之和。(从键盘输入n*n个整型数,n≤20)

  4. 阅读下面程序,并回答问题:

    main( )

    { int m, n;

    m=65;

    n=14;

    while(m!=n)

    { while(m﹥n)m-=n;

      while(n﹥m)n-=m;

    }

    printf(″m=%d\\n″, m);

    }

    (1)程序输出结果是多少?

    (2)外循环执行完一次时,m和n的值分别是多少?

    (3)将while(n﹥m)n-=m;语句删除后,程序运行情况如何?

  5. 阅读下面程序,并回答问题:

    gcd(int x, int y)

    { int temp;

      while (y){temp=x%y; x=y; y=temp;}

      return x;

    }

    main()

    { int a, b, y;

      scanf(″%d, %d″, &a, &b);

      y=gcd(a,b);

      printf(″最大公约数是:%d″, y);

    }

    (1)gcd函数的返回值类型是什么?

    (2)若将return x写成return y会得到什么样的结果?

  6. 阅读下面程序,写出运行结果。

    mian( )

    { char * str[ ]={″Pascal″, ″C Language″, ″Dbase″, ″Cobol″};

      int k;

      for(k=0; k﹤4;k++)

      printf(″%s\\n″, str[k]);

    }

  7. 阅读下面程序,并回答问题:

    main()

    { int x, y, z, c;

      scanf(″%d%d%d″,&x, &y, &z);

      if(x﹤z){c=y; y=z; z=c;}

      if(x﹤z){c=x; x=z; z=c;}

      if(x﹤y){c=x; x=y; y=c;}

      printf(″%d, %d, %d″, x, y, z);

    }

    (1)若程序运行时,输入3、2和5,则输出结果是什么?

    (2)写出程序所实现的功能。

  8. 阅读下面程序,写出运行结果(已知A的ASCII码为65,a的ASCII码为97)。

    #include ″stdio.h″

    main( ){

    int k=100;

    char m;

    m=k;

    putchar(m);

    printf(″,%d,%c,%o, ″k,m-32,m);

    }

  9. 什么是"直接递归调用"?什么是"间接递归调用"?

  10. 设有说明:

    struct language {long spearer; char country[20];} chinese;

    试写出对chinese的成员spearer和country分别赋值1250000000和"China"的C语句。