国二C语言函数.docx

上传人:b****3 文档编号:4893454 上传时间:2022-12-11 格式:DOCX 页数:9 大小:19.46KB
下载 相关 举报
国二C语言函数.docx_第1页
第1页 / 共9页
国二C语言函数.docx_第2页
第2页 / 共9页
国二C语言函数.docx_第3页
第3页 / 共9页
国二C语言函数.docx_第4页
第4页 / 共9页
国二C语言函数.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

国二C语言函数.docx

《国二C语言函数.docx》由会员分享,可在线阅读,更多相关《国二C语言函数.docx(9页珍藏版)》请在冰豆网上搜索。

国二C语言函数.docx

国二C语言函数

7.函数

一、选择题

    

(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(doublea,doubleB)

           {return(a+B);}

    并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是_____。

    A)doublemyadd(doublea,B);

    B)doublemyadd(double,double);

    C)doublemyadd(doubleb,doubleA);

    D)doublemyadd(double x,doubley);

    (6)有以下程序

    charfun(charx,chary)

    { if(x

      returny;

    }

    main()

    { inta=’9’,b=’8’,c=’7’;

      printf(“%c\n”,fun(fun(a,b),fun(b,c)));

    }

    程序的执行结果是_____。

    A)函数调用出错 B)8    C)9    D)7

    (7)有以下程序

    voidf(intv,int w)

    { intt;

      t=v;v=w;w=t;

    }

    main()

    { intx=1,y=3,z=2;

      if(x>y)      f(x,y);

      elseif(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)有以下函数定义:

    voidfun(int n, double x) {……}

    若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_____。

    A)fun(int y,double m);      B)k=fun(10,12.5);

    C)fun(x,n);                 D)voldfun(n,x);

    (10)有以下程序

    fun(int a,intb)

    { 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   D)3,5,4

    (13)有如下程序

    void  f(int  x,int y)

    { int t;

     if(x

    }

    main()

    { int a=4,b=3,c=5;

     f(a,b);  f(a,c); f(b,c);

     printf("%d,%d,%d\n",a,b,c);

    }

    执行后输出结果是_____。

    A)3,4,5   B)5,3,4  C)5,4,3  D)4,3,5

    (14)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是_____。

    A)void     B)int   C)float  D)double

    (15)有以下程序

    floatfun(intx,inty)

    {return(x+y);}

    main()

    {  inta=2,b=5,c=8;

    printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));

    }

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

    A)编译出错  B) 9   C) 21   D) 9.0

    (16)若有以下程序

    #include   

    void   f(int n);

    main()

    { void f(int n);

     f(5);

    }

    voidf(int n)

    { printf("%d\n",n); }

    则以下叙述中不正确的是_____。

    A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

    B)若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f

    C)对于以上程序,编译时系统会提示出错信息:

提示对对f函数重复说明

    D)函数f无返回值,所以可用void将其类型定义为无值型

    (17)以下函数值的类型是_____。

    fun(float x)

    {  float  y;

    y=3*x-4;

    return y;

    }

    A)int         B)不确定      C)void      D)float

    (18)以下所列的各函数首部中,正确的是_____。

    A)voidplay(var:

Integer,varb:

Integer)

    B)voidplay(inta,b)

    C)voidplay(inta,intb)

    D)Subplay(aasinteger,basinteger)

    (19)以下程序的输出结果是_____。

    A)0              B)29    C)31    D)无定值

    fun(int x,int y,int z)

    { z=x*x+y*y; }

    main()

    { int a=31;

      fun(5,2,a);

      printf(“%d”,a);

    }

    (20)有如下函数调用语句

    func(rec1,rec2+rec3,(rec4,rec5);

    该函数调用语句中,含有的实参个数是_____。

    A)3              B)4              C)5             D)有语法错

    (21)有如下程序

    intrunc(inta,intb)

    {  return(a+b);}

    main0

    {  int  x=2,y=5,z=8,r;

    r=func(func(x,y),z);

    printf(“%\d\n”,r);

    }

    该程序的输出的结果是_____。

    A)12             B)13             C)14            D)15

    (22)以下叙述中不正确的是_____。

    A)在不同的函数中可以使用相同名字的变量

    B)函数中的形式参数是局部变量

    C)在一个函数内定义的变量只在本函数范围内有效

    D)在一个函数内的复合语句中定义的变量在本函数范围内有效

    (23)有以下程序

    viodfun(int   a,int  b,int c)

    {a=456; b=567;  c=678;}

    main()

    {intx=10,y=20,z=30;

    fun(x,y,z);

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

    }

    输出结果是_____。

    A)30,20,10   B)10,20,30   C)456,567,678   D)678,567,456

    (24)有以下程序

    #include   "atdio.h"

    int  abc(intu,intv);

    main()

    {inta=24,b=16,c;

     c=abc(a,b);

     printf('%d\n",c);

    }

    ntabc(intu,intv)

    {int w;

     while(v)

     {w=u%v; u=v; v=w}

     returnu;

    }

    输出结果是_____。

    A)6            B)7              C)8               D)9

    (25)以下说法中正确的是_____。

    A)C语言程序总是从第一个的函数开始执行

    B)在C语言程序中,要调用的函数必须在main()函数中定义

    C)C语言程序总是从main()函数开始执行

    D)C语言程序中的main()函数必须放在程序的开始部分

    (26)请读程序:

    #include

    func(inta,intb)

    {intc;

    c=a+b;

    returnc;

    }

    main()

    {intx=6,y=7,z=8,r;

    r=func((x--,y=x+y),z--);

    printf("%d\n",r);

    }

    上面程序的输出结果是_____。

    A)11           B)20            C)21            D)31

    二、填空题

    

(1)有以下程序

     int sub(int n) { return(n/10+n%10); }

     main()

     {int x,y;

      scanf("%d",&x);

      y=sub(sub(sub(x)));

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

     }

    若运行时输入:

1234<回车>,程序的输出结果是 【10】  。

    

(2)通过函数求f(x)的累加和,其中f(x)=x2+1

    main()

    {

      printf("Thesum=%d\n",SunFun(10));

    }

    SunFun(intn)

    {

      intx,s=0;

      for(x=0;x<=n;x++) s+=F(【2】);

      returns;

    }

    F(intx)

    { return 【3】);}

    (3)函数fun的功能是计算xn

    doublefun(doublex,intn)

    { inti;doubley=1;

      for(i=1;i<=n;i++) y=y*x;

      returny;

    }

    主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:

m=a4+b4-(a+B)3。

实现这一计算的函数调用语句为【4】。

    (4)以下sum函数的功能是计算下列级数之和。

               S=1+x+x2/2!

+x3/3!

+........+xn/n!

               请给函数中的各变量正确赋初值。

               double sum( double x,int n)

               { inti; double a,b,s;

                  【5】

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

                  { a=a*x;  b=b*i;   s=s+a/b;}

                  return s;

    (5)以下程序的功能是调用函数fun计算:

m=1-2+3-4+…+9-10,并输出结果。

请填空。

    intfun(int n)

    {int n=0,f=1,i;

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

    {m+=i*f;

    f= 【6】 ;

    }

    return m;

    }

    main()

    {printf("m=%d\n", 【7】);}

    (6)请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。

    【8】(double,double); 

    main()

    { double  x,y;

    scanf("%1f%1f",&x,&y);

    printf("%1f\n",max(x,y));

    }

    doublemax(double  a,double b)

    {  return(a>b?

a:

b):

}

    (7)若有以下程序

    int f(int x,int y)

    { return(y-x)*x; }

    main()

    { int a=3,b=4,c=5,d;

     d=f(f(3,4),f(3,5));

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

    }

    执行后输出的结果是【9】。

    (8)以下程序运行后的输出结果是3,2,2,3】 。

    voidfun(intx,inty)

    { x=x+y;y=x-y;x=x-y;

    printf(“%d,%d,”,x,y);   }

    main()

    { intx=2,y=3;

    fun(x,y);

    printf(“%d,%d\n”,x,y);

    }

    (9)函数pi的功能是根据以下近似公式求π值:

    (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

    现在请你在下面的函数中填空,完成求π的功能。

    #include “math.h”

    double pi(longn)

    {  double s=0.0;   longi;

    for(i=1;i<=n;i++)s=s+ [1/(n*n)];

    return(sqrt(6*s));

    }

    (10)下面程序的输出是【12】。

    unsignedfun6(unsignednum)

    {unsignedk=1;

    do{

    k*=num%10;

    num/=10;

    }while(num);

    return(k);}

    main()

    {unsignedn=26;

    printf("%d\n",fun6(n));

    }

    (11)下面pi函数的功能是根据以下的公式,返回满足精度ε要求的π值。

请填空。

     

    doublepi(doubleeps)

    {doubles=0.0,t=1.0;

    intn;

    for( 【13】 ;t>eps;n++)

    {s+=t;

    t=n*t/(2*n+1);}

    return(2.0* 【14】 );}

   

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1