C语言用函数实现模块化程序设计

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

第7章用函数实现模块化程序设计

习题与思考

2.在C语言中,函数的隐含存储类别是_____A_____.

A)auto B)static C)extern D)无存储类别

要点分析:本习题考察变量的存储类别。C语言规定,如不指定变量的存储类别,系统默认为自动类型的,即auto型。

3.以下所列的各函数首部中,正确的是_____C_____.

A)void play(var:Integer,var b:Integer)

B)void play(int a,b)

C)void play(int a,int b)

D)Sub play(a as integer,b as integer)

要点分析:本习题考察函数的定义。要求函数首部的各个形式参数应分别指出其数据类型。

4.以下程序的输出结果是_____C_____.

fun(int x,int y,int z)

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

void main( )

{ int a=31;

fun(5,2,a);

printf("%d",a);}

A)0 B)29 C)31 D)无定值要点分析:本习题考察形参和实参的关系。函数一旦发生传值调用,把实参的值传递给形参后,实参的值仍保留原值。

5.以下程序的输出结果是_____A_____.

f( int b[ ],int m, int n )

{ int i,s=0;

for(i=m;i

return s; }

void main( )

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

x=f(a,3,7); printf("%d\n",x); }

A) 10 B) 18 C) 8 D) 15

要点分析:本习题考察数组做函数的参数,此时实参为数组名,形参数组不再重新分配存储空间,形参数组共占实参数组所在的存储空间。数组做函数参数是学生出错误比较多的知识点。

7.以下程序的输出结果是_____D_____.

int f( )

{ static int i=0;

int s=1;

s+=i;i++;

return s;}

void main( )

{ int i,a=0;

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

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

A) 20 B) 24 C) 25 D) 15

要点分析:本习题考察静态局部变量。静态局部变量的值在调用结束后仍保持结束后的值。静态局部变量是变量的存储类别的重点,学生应该掌握并应用。

8. 以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。

int fun( int n)

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

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

{ m+=i*f;

f= _____-f_____ ; }

return m; }

void main( )

{ printf("m=%d\n", _____fun(10)_____ ); }

要点分析:本习题考察函数的调用。通过编写fun函数求得累加和。

9.以下程序输出的最后一个值是_____120_____.

int ff(int n)

{ static int f=l;

f=f*n;

return f;}

void main( )

{ int i;

for(i=1;i<=5;i++ ) printf("%d\n",ff(i)); }

要点分析:本习题仍然考察静态局部变量。ff函数利用静态局部变量实现求得n的阶乘。

10.以下函数的功能是:求x的y次方,请填空。

double fun( double x, int y )

{ int i;

double z;

for( i=1,z=x;i

return z; }

要点分析:本习题考察函数的定义。

11. 以下正确的说法是_____B_____.

A) 用户若需要调用标准库函数,调用前必须重新定义

B) 用户可以重新定义标准库函数,如若此,该函数将失去原有定义

C) 系统不允许用户重新定义标准库函数

D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

要点分析:本习题考察标准库函数的作用。提醒学生注意,使用现成的函数是任何编程者的首选。

12. C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式_____B_____.

A) 地址传递

B) 值传递

C) 有实参传给形参,再由形参传给实参

D) 由用户指定传递方式

要点分析:本习题考察传值调用与传址调用的区别。这也是本章的难点所在。

相关文档
最新文档