首页 理论教育 函数调用与参数传递实训|C语言程序设计教程

函数调用与参数传递实训|C语言程序设计教程

时间:2023-10-27 理论教育 版权反馈
【摘要】:提示与分析:在主函数中调用两次f1()。②在主函数中用循环语句控制随机输入的字母时,每次循环用scanf输入一个字母并按回车键。在主函数中调用该函数,并传入两个实参。函数执行过程中,形参的值发生了变化,相应的实参值也发生变化。②主函数中要使用输入函数scanf随机从键盘上输入两个实数。

函数调用与参数传递实训|C语言程序设计教程

一、实训目的

1.理解有关概念,如函数定义、函数调用、形参、实参、单向传值等。

2.学习函数调用方法。

二、实训内容

1.下面程序中函数f1()的功能是输出18个减号“-”。在主函数中调用该函数输出下面结果。

提示与分析:

在主函数中调用两次f1()。

2.下面程序中函数ch(char c)的功能是判断一个字符是否为英文字母,若是返回“Y”,否则返回“N”。程序对随机输入的3个字符判断是否为英文字母。请找出程序中的错误并改正。

参考程序:

提示与分析:

①函数ch的函数体中用“(c>='a'&&c<='z')||(c>='A'&&c<='Z')”判断参数c是否为字母。

②在主函数中用循环语句控制随机输入的字母时,每次循环用scanf输入一个字母并按回车键。此时的输入流为“字母、回车符”,其中的回车符会引起下一次循环输入的错误。为了避免这种错误,在scanf语句后用语句“c1=getchar();”使回车符赋给字符变量c1。

3.下面程序的功能是比较使用值传递和地址传递实现两个数交换的函数的区别。请填空。(www.xing528.com)

参考程序:

提示与分析:

①使用值传递的noswap(int a,int b)函数,实现两个数的交换。在主函数中调用该函数,并传入两个实参。值传递相当于将实参复制到形参中,函数在执行过程中,虽然形参值发生了变化,但是实参保持原值不变。

②使用地址传递的swap(int&a,int&b)函数,实现两个数的交换。在主函数中调用该函数,并传入两个实参,形参相当于两个实参的别名。函数执行过程中,形参的值发生了变化,相应的实参值也发生变化。

4.编写计算两个实数商的函数fun()。并计算从键盘输入的两个数的商。

提示与分析:

①计算两个实数商的函数fun()要使用return语句返回商值。

②主函数中要使用输入函数scanf随机从键盘上输入两个实数。

5.编写一个计算阶乘“x!”的函数,然后调用该函数,计算从m个元素中取出n个元素的排列数amn=m!/(m-n)!。

提示与分析:

①函数factorial通过传递参数x用循环语句计算出x!的值,并用return语句返回该值。

②主函数中使用scanf函数,随机输入整型变量m,n的值(m>n)。再分别将m和m-n作为实参调用函数factorial并计算出从m个元素中取出n个元素的排列值。最后输出排列结果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈