实验报告
实验名称: 函数(一) 成绩:
实验日期: 年 11 月 21 日 实验报告日期: 年 11 月 21 日
实验者:桂婷
一、实验目的
1、熟悉定义函数的方法。
2、熟悉声明函数的方法。
3、熟悉调用函数时实参与形参的对应的关系,以及“值传递”的方式。
4、学习对多文件的程序的编译和运行。
二、实验内容
1、写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。
2、写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。
3、输入10个学生5门课的成绩,分别用函数实现下列功能:
(1)计算每个学生的平均分;
(2)计算每门课的平均分;
(3)找出所有50个分数中最高的分数所对应的学生和课程。
4、用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。
三、 实验步骤
1、
总结:1、 函数体中包括两部分,声明部分和语句部分,由于本题的函数定义出现在主函数调用之后,所以作了函数声明,函数说明必须加上分号。
1、 实参与形参都是一个,对应的。
2、 函数在那调用的就返回到那,并将值返回到主函数中。在调用完后,形参的空间也被释放了。
2、
总结:1、函数cpy为void类型,表示没有返回值,也就是执行这两个函数后不会把任何值带回main函数。
2、形参与实参的个数和类型都必须是一致,都为2个且为char类型的。
3、与一般不同的是,此处的形参与实参都是字符型的数组,要特别注意它的使用。
3、
总结:1、要知道每个函数的用途,input-stu是给全程变量学生成绩数组score各元素输入初值, aver-stu 是计算每个学生的平均分,aver-cour是计算每门课的平均成绩, highest 的返回值是最高分。
2、程序看上去复杂,但要记得给每一个调用函数作说明。
3、在输出时指定了数据的输出格式。
4、程序中用到了全局数组和全局变量r,c 。
5、没有使用scanf语句输入,而是用的函数调用input-stu()来进行输入的。
4、
总结:1、 程序中调用了两个函数,分别是alphabetic 和 longest 。longest函数的作用是找最长单词的位置,它的返回值是该行字符中最长单词的起始位置。Alphabetic函数是判断当前字符是否字母,若是则返回1,否则返回0。
2、falg=1表示单词开始。另外要知道len, length ,place 的意思。
四、 实验出现的问题、实验结果分析
1、 在定义函数时,要指定函数的名字、类型、函数参数的名字各类型。
2、 函数定义不可嵌套,但可以嵌套调用函数。
3、 对于不带回值的函数,应当用定义函数为“void”类型;如要返回值时,则用return来返回,且在定义函数时指定的函数类型一般应该和return语句中的表达式类型一致。
4、 要注意是否一定要作函数说明,要的时候,不能省略。
五、实验小结和思考
1、形参与实参之间的关系。
2、函数的返回值是否需要。
3、形参的引用与调用,其值的传递方式。
展开阅读全文