C程序设计基础与实验 第10章 习题

问题 1

  • 得 10 分,满分 10 分

       
     

    要调用数学函数时,在#include命令行中应包含

    正确答案: 正确C.

    "math.h”

  • 问题 2

    得 10 分,满分 10 分

       
     

    对于以下递归函数f,调用f(4),其返回值为

    int f(int n)

    {    

    if (n)  

       return f(n - 1) + n;

    else 

       return n;

    }

    正确答案: 正确A.

    10

  • 问题 3

    得 10 分,满分 10 分

       
     

    执行下列程序:

    #define MA(x, y)  ( x*y )

    i = 5;

    i = MA(i, i + 1) – 7;

    后变量i的值应为

    正确答案: 正确B.

    19

  • 问题 4

    得 10 分,满分 10 分

       
     

    宏定义“#define DIV(a, b) a/b”,经DIV(x + 5, y - 5) 引用,替换展开后是

    正确答案: 正确A.

    x + 5 / y - 5

  • 问题 5

    得 10 分,满分 10 分

       
     

    定义带参数的宏“#define JH(a,b,t) t = a; a = b; b = t”,对两个参数a、b的值进行交换,下列表述中哪个是正确的

    正确答案: 正确C.

    不定义参数t将导致运行错误

  • 问题 6

    得 10 分,满分 10 分

       
     

    执行下面程序,正确的输出是

    int x = 5, y = 7;

    void swap ( )

    {  

    int z ;

    z = x ; 

    x = y ;  

    y = z ;

    }

    int main(void) 

    {  

    int x = 3, y = 8;

    swap ( ) ;

    printf ( " %d , %d \n", x , y ) ;

    return 0 ;

    }

    正确答案: 正确A.

    3, 8

  • 问题 7

    得 10 分,满分 10 分

       
     

    下面说法中正确的是

    正确答案: 正确A.

    若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度

  • 问题 8

    得 10 分,满分 10 分

       
     

    执行完下列语句段后, i值为[x]

    int i;

    int f(int x)

    {   

    static int k = 0;

    x += k++;

    return x;

    }

    i=f(f(1));

    x 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 2  
  • 问题 9

    得 0 分,满分 10 分

       
     

    执行完下列语句段后, i的值为[x]

    int i;

    int f(int x)

    {   

    return ((x>0)? f(x-1)+f(x-2):1);

    }

     

    i=f(3);

    x 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 5  
  • 问题 10

    得 10 分,满分 10 分

       
     

    下列程序段A与B功能等价,请填写程序段B中相应语句。

    程序段A:

    int f( int n )

    {   

    if(n<=1)

       return n;

    else

       return f(n-1)+f(n-2);

    }

    程序B:

    int f( int n )   

    {

    int t,t1,t2;

    t0=0; t1=1; t=n;

    while ([x])  

       t =[z];

       t0 = t1;

       t1 = t;

       n - -;

    }

    return[y];

    }

    x 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 n>1  
    正确完全匹配 1<n  
    z 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 t0+t1  
    y 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 t  
  • 问题 11

    得 10 分,满分 10 分

       
     

    下面程序用于计算 f(k , n)=1k+2k+…+nk ,其中power(m , n )求mn。请填写程序中相应语句。

    # include <stdio.h>

    int power(int m , int n)

    {   

    int i ;

    [x];

    for( i=1 ; i<=n ; i++)

       [y];

    return p ;

    }

    int f(int k , int n)

    {   

    int i ;

    [z];

    for( i=1 ; i<=n ; i++)

       [d];

    return s ;

    }

    int main(void)

    {   

    int k , n ;

    scanf(“%d%d”, &k, &n ) ;

    printf(“f(%d, %d)=%ld” , k, n, f(k, n)) ;

    return 0;

    }

    x 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 int p=1  
    y 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 p=p*m  
    正确完全匹配 p=m*p  
    z 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 int s=0  
    d 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 s=s+power(i,k)  
  • 问题 12

    得 10 分,满分 10 分

       
     

    下列递归程序的输出结果为[x]

    #include <stdio.h>

    int fib(int g)

    {   

      switch(g)

      {

        case 0: return 0;

        case 1: 

        case 2: return 2;

      }

      printf("g=%d,", g);

      return fib(g-1) + fib(g-2);

    }

    int main(void)

    {

      int k;

      k = fib(4);

      printf("k=%ld\n", k);

      return 0;

    }

     

    x 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 g=4,g=3,k=6  
  • 问题 13

    得 10 分,满分 10 分

       
     

    下列语句的运算结果为[x]

    #define F(x)  x - 2

    #define D(x)  x * F(x)

    printf("%d,%d", D(3), D(D(3))) ;

    x 的正确答案:
    评估方式 正确答案 区分大小写
    正确完全匹配 7,-13  

 

您的支持是我更新的不竭动力!
希望点个赞或者投个币,支持一下吧!(一键三连也可以哦)
👇👇👇

å¨è¿éæå¥å¾çæè¿°

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章