1
C/C ++程序设计
1.2.5.8 5.8 练习题

5.8 练习题

一、简答题

(1)么是函数?

(2)函数如何分类?每一类函数的特点是什么?

(3)函数在使用时包括几个方面?

(4)如何区别函数声明和函数定义?

(5)函数的参数传递有几种类型,分别是什么?

(6)变量的作用域有哪些?有何区别?

(7)变量的存储类别有几种?各自有什么特点?

(8)什么是递归?递归有几种类型?

(9)编写函数声明语句。

①一个函数名为search,含有2个参数。其中第1个参数类型为int型,第2个参数类型为char型,返回类型为int。

②一个函数名为sort,含有2个参数。其中第1个参数类型为int型数组,第2个参数类型为int型,无返回值。

③一个名为findAbs的函数,接收1个传递给它的double型数据,返回该数的绝对值。

④一个函数名为showit,含有2个参数且类型均为float型,无返回类型。

⑤一个名为flip的函数,返回类型为int型,含有1个int型参数。

(10)写出运行结果。

img211

img212

img213

(11)局部自动变量和局部静态变量的区别是什么?

(12)描述静态全局变量和外部全局变量的差别。

二、程序题

(1)编写一个函数判断一个整数是否为素数。

(2)编写函数,根据整型形参a的值,计算下列公式的值。

img214

例如,当a=5时,s的值为0.536389。

(3)编写一个名为intMod的函数,功能为计算整数a除以整数b的余数。

(4)编写一个名为squreNum的函数,计算传递给它的参数的平方并显示结果。提示:该函数应该能计算小数的平方。

(5)编写两个函数,功能分别为计算圆的周长和面积。

(6)编写一个函数计算两点(x1,y1)、(x2,y2)之间的距离。注:两点之间的距离为

img215

(7)编写一个函数计算两个整数的最大公约数。

(8)编写一个排序函数,能够对数组中的元素进行从小到大的排序。

(9)编写一个函数,函数名为time,该函数接收1个秒数(整型)以及3个名为h、m和s的变量的地址。这个函数需要把接收的秒数转换成对应的小时、分钟和秒,并使用它们被传递的地址直接改变各自变量的数值。

(10)编写一个递归函数求斐波那契数列的第n项。