第7章函数练习题(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

函数练习题

1、在C语言中,正确的说法是( A )

A.函数内部和外部定义的变量同名是合法的

B.只要形参和实参都是变量,那么形实结合一定是地址传递

C.变量的定义和声明(也称说明)功能是相同的

D.没有return 的函数就失去了返回功能

2. 若程序中定义了以下函数

double myadd(double a,double B)

{ return (a+B) ;}

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

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);

3. 有以下程序

void f(int v , int w)

{ int t;

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

}

int 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);

return 0;

}

执行后输出结果是( C )

A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,1

4. 以下叙述正确的是(C)

A) c程序由主函数构成B) c程序由函数和过程构成

C) c程序由函数构成

D) 在c程序中,无论是整形值还是实型值,只要在允许的范围内,都能准确无误的表示

5. 构成c语言程序的基本结构单位是(A)

A)函数B)过程C)复合语句D)语句

6. C语言规定:在一个源程序中,main函数的位置(C)。

A)必须在最开始B)必须在系统调用的库函数的后面

C)可以任意 D)必须在最后

7.在C语言中,下列函数经常与getchar()组合起来使用的函数是(D)

A)scanf() B)strcpy() C)puts() D)putchar()

8.C语言自定义函数的返回值的类型是由(B)决定的。

A)return语句中的表达式类型 B)定义函数时,指定函数值类型

C)调用函数时临时确定的 D)无法确定

9.函数的实参为数组名时,形参与实参结合的传递方式为地址传递。

10.int func(int n)

{

if (n= =0)return 0;

else if (n= =1) return 1;

else return n*n+func(n-2);

}

int main()

{

printf("%5d%5d\n",func(4),func(5));

return 0;

}

以下程序的输出结果是: 20 35

11.以下程序的输出结果是(6)

int add(int a, int b)

{ return (a+b);}

int main()

{ int x=1,y=2,z=3,s;

s=add(add(x,y),z);

printf(“%d”,s);

return 0;

}

12. 以下程序中,主函数调用了Line M ax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。

#define N 3

#define M 4

void Line M ax(int x[N][M])

{ int i,j,p;

for ( i=0;i<N; i++ )

{ p=0;

for ( j=1;j<M; j++ )

if(x[i][p]<x[i][j]) 【1】p=j ;

printf(″The max value in line is %d\n″, 【2】x[i][p] );

}

}

main()

{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};

【3】Line M ax(x) ;

return 0;

}

13. 若用数组名作为函数调用时的实参,则实际上传递给形参的是。(A)

A) 数组首地址B) 数组的第一个元素值

C) 数组中全部元素的值D) 数组元素的个数

14.在C语言中,函数的数据类型是指A。

A) 函数返回值的数据类型B) 函数形参的数据类型

C) 调用该函数时的实参的数据类型D) 任意指定的数据类型

15.定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是____。C

A) swapa(int x, int y) B) swapb(int *x, int *y)

{ int temp;{ int temp;

temp=x;x=y;y=temp;temp=x;x=y;y=temp;

} }

C) swapc(int *x, int *y) D) swapd(int *x, int *y)

{ int temp;{ int *temp;

temp=*x;*x=*y;*y=temp;temp=x;x=y;y=temp;

} }

16.一个函数内有数据类型说明语句如下:

double x, y, z(10);

关于此语句的解释,下面说法正确的是____。D

A) z是一个数组,它有10个元素。

B) z是一个函数,小括号内的10是它的实参的值。

C) z是一个变量,小括号内的10是它的初值。

D) 语句中有错误。

17.已知函数定义如下:

float fun1(int x, int y)

{ float z;

z=(float)x/y;

return(z);

}

主调函数中有int a=1,b=0;可以正确调用此函数的语句是____。 D

相关文档
最新文档