第八章测试
1.

以下关于函数的叙述中正确的是(  )。


A:函数调用必须传递实参 B:函数形参的类型与返回值的类型无关 C:函数必须要有返回值  D:函数必须要有形参
答案:B
2.

关于C语言函数声明的位置,以下叙述正确的是(  )。


A:函数声明可以出现在源程序的任意位置,在程序的所有位置对该函数的调用,编译时都不会出现错误信息 B:在函数声明之后对该函数进行调用,编译时不会出现错误信息 C:函数声明只能出现在源程序的开头位置,否则编译时会出现错误信息 D:函数声明只是为了美观和编译时检查参数类型是否一致,可以写也可以不写 3.

有以下程序     
#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 );     
}
程序运行后的输出结果是(  )。


A:15 B:20 C:31 D:21 4.

有以下程序     
#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 );     
}
程序运行后的输出结果是(  )。


A:3 4 5 6
B:5 6 1 2
C:1 2 5 6 
D:5 6 3 4
5.

以下叙述中错误的是(  )。


A:在不同的函数中可以使用相同名字的变量 B:在函数外部定义的变量在所有函数中都有效 C:在函数内部定义的变量只能在本函数范围内使用 D:函数中的形参属于局部变量 6.

有以下程序    
#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);     }
 

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


A:0,0,0
B:10,20,30 
C:20,30,10 
D:30,20,10
7.

有如下程序
#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("");
}
程序运行后的输出结果是( )。


A:1,3,6,10,15, B:0,0,0,0,0, C:1,2,3,4,5, D:1,1,1,1,1, 8.

若有以下程序     
#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);     
}
则程序的输出结果是(  )。


A:6-5-4-3-2-1 
B:1-2-3-4-5-6
C:1-2-3-4-5-6-
D:6-5-4-3-2-1- 
9.

有如下程序
#include <stdio.h>
int sub(double  a, double  b)
{
    return (int)(a - b);
}
main() 
{
    printf("%d", sub(3.8, 2.1));
}
程序运行后的输出结果是(  )。


A:1
B:2.0
C:2
D:1.7 
10.

有以下程序
#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("");
}
程序的运行结果是(  )。


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

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