计算机等级考试二级C语言重点测试题:函数(2)

来源: 作者: 时间:2007-07-02 点击:

一、选择题
(1)以下关于函数的叙述中正确的是
  A)每个函数都可以被其它函数调用(包括main函数)
  B)每个函数都可以被单独编译
  C)每个函数都可以单独运行
  D)在一个函数内部可以定义另一个函数

(2)设函数fun的定义形式为
  void  fun(char  ch, float  x )  { …  }
则以下对函数fun的调用语句中,正确的是
  A)fun("abc",3.0);     
  B)t=fun('D',16.5);
  C)fun('65',2.8);      
  D)fun(32,32);

(3)有以下程序
int  f1(int  x,int  y){return  x>y?x:y;}
int  f2(int  x,int  y){return  x>y?y:x;}
main()
{   int  a=4,b=3,c=5,d=2,e,f,g;
    e=f2(f1(a,b),f1(c,d));
    f=f1(f2(a,b),f2(c,d));
    g=a+b+c+d-e-f;
    printf("%d,%d%d\n",e,f,g);
}
程序运行后的输出结果是                 
  A)4,3,7
  B)3,4,7
  C)5,2,7
  D)2,5,7

(4)有以下程序
#define  P   3
#define  F(int  x)   {  return  (P*x*x);}
main()
{
   printf("%d\n",F(3+5));
}
程序运行后的输出结果是                    
  A)192
  B)29
  C)25
  D)编译出错

(5) 若程序中定义了以下函数
       double  myadd(double a,double B)
        { return (a+B) ;}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是
  A) double myadd(double a,B) ;
  B) double myadd(double,double);
  C) double myadd(double b,double A) ;
  D) double myadd(double  x,double y);

(6) 有以下程序
char fun(char x , char y)
{  if(x<y)   return x;
   return y;
}
main( )
{  int a=’9’,b=’8’,c=’7’;
   printf(“%c\n”,fun(fun(a,B) ,fun(b,C) ));
}
程序的执行结果是
  A) 函数调用出错 
  B)8     
  C)9     
  D)7

(7) 有以下程序
void f(int v , int  w)
{  int t;
   t=v;v=w;w=t;
}
main( )
{  int x=1,y=3,z=2;
   if(x>y)       f(x,y);
   else if(y>z) f(y,z);
       else      f(x,z);
   printf(“%d,%d,%d\n”,x,y,z);
}
执行后输出结果是
  A) 1,2,3    
  B) 3,1,2    
  C) 1,3,2    
  D) 2,3,1

(8) 若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是
  A) 调用可以作为独立的语句存在 
  B) 调用可以作为一个函数的实参
  C) 调用可以出现在表达式中  
  D) 调用可以作为一个函数的形参

(9) 有以下函数定义:
void fun( int  n,  double  x)  { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是
  A) fun(int  y,double  m);      
  B) k=fun(10,12.5);
  C) fun(x,n);                  
  D) vold fun(n,x);

(10) 有以下程序
fun(int  a, int b)
{  if(a>b)   return(a);
else      return(b);
}
main()
 {  int   x=3, y=8, z=6,  r;
    r=fun (fun(x,y), 2*z);
   printf("%d\n", r);
 }
程序运行后的输出结果是
  A) 3          
  B) 6          
  C) 8          
  D) 12

(11) 在一个C程序中
  A) main函数必须出现在所有函数之前 
  B) main函数可以在任何地方出现
  C) main函数必须出现在所有函数之后 
  D) main函数必须出现在固定位置

(12) 有以下程序
int fl(int x,int y)
{  return x>y?x:y; }
int f2(int x,int  y)
{  return x>y?y:x; }
main()
{ int  a=4,b=3,c=5,d,e,f;
 d=f1(a,b); d=f1(d,c);
e=f2(a,b); e=f2(e,c);
 f=a+b+c-d-e;
 printf("%d,%d,%d\n",d,f,e);
}
执行后输出结果是
  A) 3,4,5   
  B) 5,3,4  
  C) 5,4,3   

     [收藏] [推荐] [评论] [打印] [关闭]
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册