第七章测试
1.

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


A:void play(var :Integer, var b:Integer) B:void play(int a, int b) C:Sub play(a as integer, b as integer) D:void play(int a, b)
答案:B
2.

在C语言中,函数值类型的定义可以是默认类型,此时函数值的默认类型是(  )。


A:int  B:float     C:void    D:double 3.

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(   )。


A:传递方式由用户指定 B:地址传递 C:由实参传给形参,再由形参传回实参 D:单向值传递 4.

在C语言程序中,有关函数的叙述正确的有(   )。


A:函数的定义和调用均可以嵌套 B:函数的定义可以嵌套,但函数的调用不可以嵌套 C:函数的定义不可以嵌套,但函数的调用可以嵌套 D:函数的定义和调用均不可以嵌套 5.

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


A:函数中的形式参数是局部变量 B:在一个函数内的复合语句中定义的变量在本函数范围内有效 C:在不同的函数中可以使用相同名字的变量 D:在一个函数内定义的变量只在本函数范围内有效 6.

有如下函数调用语句:

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

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


A:5
B:3 C:4 D:有语法错误 7.

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


A:全局变量的作用域一定比局部变量的作用域范围大 B:未在定义语句中赋初值的auto变量和static变量的初值都是随机值 C:静态(static)类别变量的生存期贯穿于整个程序的运行期间 D:函数的形参都属于全局变量 8.

以下程序的运行结果是(    )。

#include "stdio.h"

main( )

{  int a=24,b=16,c;

   c=abc(a,b);

   printf("%d",c);

}

int abc(int u,int v)

  int w;

 while(v)

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

 return u;

}


A:8 B:9 C:6 D:7 9.

以下程序的运行结果是(   )。

#include "stdio.h"

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,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",d,f,e);

}


A:5,4,3 B:3,5,4 C:5,3,4 D:3,4,5 10.

以下程序的运行结果是(    )。

#include "stdio.h"

void f(int x,int y)

{ int t;

 if(x<y){ t=x; x=y; y=t; }

}

main( )

{ int a=5,b=6,c=7;

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

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

}


A:7,5,6  B:7,6,5 C:5,7,6  D:5,6,7 11.

以下程序的运行结果是(    )。

#include "stdio.h"

int f( )

{  

  static int i=0;

 int s=1;

 s+=i; i++;
  return s;

}

main( )

{

 int i,a=0;

 for(i=0;i<5;i++) a+=f( );

 printf("%d",a);

}


A:20 B:24 C:15 D:25 12.

以下程序的运行结果是(    )。

#include "stdio.h"

int func(int a,int b)

{return(a+b);}

main( )

{

  int x=2,y=5,z=7,r;

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

  printf("%d",r);

}



A:14 B:12 C:15 D:13 13.

以下程序的运行结果是(  )。

#include "stdio.h"

f(int a)

{

   int b=0;

  static int c = 3;

  b++; c++;

  return(a+b+c);

}

main( )

 int a=2,i;

 for(i=0;i<3;i++) printf("%4d",f(a));

}


A:7  8  9 B: 7  7  7 C:7  9  11 D:7  10  13 14.

以下程序的运行结果是(    )。

#include "stdio.h"

int a, b;

void fun( )

{ a=100; b=200; }

main( )

  int a=5, b=7;

  fun( );

  printf("%d %d ", a,b);

}


A:5  7 B:100 200 C:7  5 D:200 100 15.

以下程序的运行结果是(    )。

#include "stdio.h"

int x=3;

main( )

{ int i;

 void nore( );

 for(i=1;i<x;i++) nore( );

}

void nore( )

{ static int x=1;

 x*=x+1;

 printf("%d ",x);


A:2 5 B:2 2 C:3 3 D:2 6 16.

以下程序执行后的输出结果是(    )。

#include "stdio.h"

void swap (int c0,int c1)

{ int t;

 t=c0;c0=c1;c1=t;

}

main( )

{ int b[2]={7,8};

 swap(b[0],b[1]);

 printf("%d  %d",b[0],b[1]);

}


A:7  8 B:8  7 C:7  7 D:8  8 17.

以下程序执行后的输出结果是(    )。

#include "stdio.h"

void func1(int i);

void func2(int i);

char st[]="hello,friend!";

void func1(int i)

{  

   printf("%c",st[i]);

   if(i<3){i+=2;func2(i);}

}

void func2(int i)

{  

    printf("%c",st[i]);

   if(i<3){i+=2;func1(i);}

}

main( )

    int i=0; 

    func1(i);

    printf("");

}


A:hel   B:hlo  C:Hlm D:hello 18.

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

fun(double x)

 double y;

 y=3*x-4;

 return y;

}


A:double B:void C:不确定 D:int  19.

下面程序的输出结果是()。

#include "stdio.h"

int m=6;

int fun( int x, int y)

   int m=3;

   return( x*y-m); 

}


main( )

{

 int a=9, b=8;

 printf("%d", fun(a, b)/m);

}


A:24 B:32 C:12
D:11 20.

若有以下程序,执行后输出结果是(  )。

#include "stdio.h"

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", d);

}


A:8
B:9 C:10 D:11

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