第八章单元测试
  1. 以下关于函数的叙述中正确的是(  )。


  2. A:函数调用必须传递实参 B:函数必须要有返回值  C:函数形参的类型与返回值的类型无关 D:函数必须要有形参
    答案:函数形参的类型与返回值的类型无关
  3. 关于C语言函数声明的位置,以下叙述正确的是(  )。


  4. A:在函数声明之后对该函数进行调用,编译时不会出现错误信息 B:函数声明只是为了美观和编译时检查参数类型是否一致,可以写也可以不写 C:函数声明可以出现在源程序的任意位置,在程序的所有位置对该函数的调用,编译时都不会出现错误信息 D:函数声明只能出现在源程序的开头位置,否则编译时会出现错误信息
  5. 有以下程序     
    #include <stdio.h>     
    int fun( int  a, intB)     
    {  return  a+b;  }     
    main()     
    {  int  x=6, y=7, z=8, r ;        
       r = fun ( fun(x,y), z-- );        
       printf (" %d" , r );     
    }
    程序运行后的输出结果是(  )。


  6. A:31 B:21 C:20 D:15
  7. 有以下程序     
    #include <stdio.h>     
    int  a=1, b=2;     
    void fun1( int  a, int  b )     
    {  
      printf( "%d %d " ,a, b );  }     
    void fun2()     
    {  a=3;  b=4;  }     
    main()     
    {  
       fun1(5,6);  fun2( );          
       printf( "%d %d",a, b );     
    }
    程序运行后的输出结果是(  )。


  8. A:1 2 5 6 
    B:5 6 3 4
    C:3 4 5 6
    D:5 6 1 2
  9. 以下叙述中错误的是(  )。


  10. A:在函数内部定义的变量只能在本函数范围内使用 B:在函数外部定义的变量在所有函数中都有效 C:在不同的函数中可以使用相同名字的变量 D:函数中的形参属于局部变量
  11. 有以下程序    
    #include <stdio.h>     
    void  fun( int  a, int  b, int  c )     
    {  a=b;  b=c;  c=a;  }     
    main()     
    {  int  a=10 , b=20, c=30;        
       fun( a, b, c );        
       printf("%d,%d,%d",c,b,a);     }
     

    程序运行后的输出结果是(  )。


  12. A:10,20,30 
    B:20,30,10 
    C:0,0,0
    D:30,20,10
  13. 有如下程序
    #include <stdio.h>
    int sum(int data)
    {
        static int init = 0;    
        return init += data;
    }
    main() 
    {
        int i;    
        for (i=1; i<=5; i++)        
           printf("%d,", sum(i));  
        printf("");
    }
    程序运行后的输出结果是( )。


  14. A:0,0,0,0,0, B:1,1,1,1,1, C:1,2,3,4,5, D:1,3,6,10,15,
  15. 若有以下程序     
    #include <stdio.h>     
    void f(int  x)     
    {  if (x >= 10)        
    {  printf("%d-", x%10);     f(x/10);   } 
    else          
       printf("%d", x);     
    }     
    main()     
    { int  z = 123456;         
      f(z);     
    }
    则程序的输出结果是(  )。


  16. A:6-5-4-3-2-1- 
    B:1-2-3-4-5-6
    C:6-5-4-3-2-1 
    D:1-2-3-4-5-6-
  17. 有如下程序
    #include <stdio.h>
    int sub(double  a, double  b)
    {
        return (int)(a - b);
    }
    main() 
    {
        printf("%d", sub(3.8, 2.1));
    }
    程序运行后的输出结果是(  )。


  18. A:2
    B:1.7 
    C:1
    D:2.0
  19. 有以下程序
    #include <stdio.h>
    #define  N    4
    void  fun(int  a[][N])
    {  int  b[N][N],i,j;   
       for(i=0; i<N; i++)       
          for(j=0; j<N; j++)         
              b[i][j] = a[N-1-j][i];   
       for(i=0; i<N; i++)      
          for(j=0; j<N; j++)         
              a[i][j] = b[i][j];
    }
    main()
    {  
       int  x[N][N]={ {1, 2, 3, 4},{5, 6, 7, 8},
                      {9,10,11,12},{13,14,15,16}
                    },i;   
       fun(x);  fun(x);   
       for (i=0;i<N; i++)       
              printf("%d,", x[i][i]);   
       printf("");
    }
    程序的运行结果是(  )。


  20. A:4,7,10,13, 
    B:1,6,11,16, 
    C:16,11,6,1, 
    D: 13,10,7,4,

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部