C语言第六章习题带答案 下载本文

练习6-1答案

一、选择题

1.已知函数abc的定义为: void abc() {……}

则函数定义中void的含义是( A )。

A.执行函数abc后,函数没有返回值 B.执行函数abc后,函数不再返回 C.执行函数abc后,可以返回任意类型 D.以上三个答案全是错误的 2.已知:int p();,p是( C )。 A.int型变量 B.函数p的调用

C.一个函数声明,该函数的返回值是int型的值 D.强制类型转换表达式中的变量 3.以下正确的函数形式是( D )。 A.double fun(int x, int y) B.fun(int x, y) { z=x+y; return z; } { int z; return z; } C.fun(x, y) D.double fun(int x, int y)

{ int x, y; double z; z=x+y; return z; } { double z; z=x+y; return z; } 4.以下说法正确的是( C )。

A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式

C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准 D.如果形参与实参的类型不一致,以实参类型为准

5.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。 A.float 型 B.int型 C.long型 D.double型 6.下面函数调用语句含有实参的个数为( B )。 func((exp1, exp2), (exp3, exp4, exp5)); A.1 B.2 C.4 D.5

7.以下程序的功能是计算函数F(x, y, z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。 #include #include float f(float, float); main()

{float x, y, z, sum;

scanf(\

sum=f( ①B )+f( ②C ); (注:或者选择sum=f( ①C )+f( ②B )) printf(\}

float f(float a, float b) {float value; value=a/b;

return(value); }

① A.x-y, x+y B.x+y, x-y C.z+y, z-y D.z-y, z+y ② A.x-y, x+y B.x+y, x-y C.z+y, z-y D.z-y, z+y 二、填空题

8.以下程序的功能是根据输入的\与\,在屏幕上分别显示出\is

YES.\与\is NO.\。请填空,①是( break; )、②是( getchar() 或 getch() 或 getche() )。

#include void YesNo(char ch) {switch (ch) { case 'y':

case'Y': printf(\① ; case 'n':

case 'N': printf(\ } }

main() {char ch;

printf(\ ch= ② ;

printf(\ YesNo(ch); }

9.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的?的值,请

填空,①是( t=n=1, s=0 )、②是( s*2 )。

?/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+…. #include #include #include double pi(double eps) {double s, t; int n; for ( ① ; t>eps; n++) { s+=t;

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

return( ② ); }

main() {double x;

printf(\

scanf(\

printf(\?=\}

三、读程序,写结果

10.下列程序的运行结果是( 5 )。

#include fun(int p) { int a=10; p=a; ++p; }

main() { int a=5; fun(a);

printf(\}

11.下列程序的运行结果是( 8 )。

#include int abc(int u, int v); main()

{ int a=24, b=16, c; c=abc(a, b);

printf(\}

int abc(int u, int v) { int w; while (v) { w=u%v; u=v; v=w; }

return u; }

12.下列程序的运行结果是:

( before swap a=5,b=10 in swap x=10,y=5

after swap a=5,b=10 )。 #include main() { int a, b; a=5; b=10;