《C语言程序设计》实验报告
实验五 函数与编译预处理
一、实验目的
1、 掌握函数定义及调用的方法,正确理解函数调用时实参和形参的对应关系; 2、 掌握并正确使用数组作为函数参数; 3、 掌握函数的嵌套调用和递归调用的方法; 4、 理解变量的作用域和生存期; 5、 掌握宏定义、文件包含。
二、实验内容
1、分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。
#include
int result=1,i; for(i=1;i<=k;i++) {
result=result*i; }
return result; }
void main() {
int n;
printf(\ scanf(\
printf(\} 『运行结
果:
1 』
2、编写程序,输出2~n之间的所有素数,n由键盘输入。要求判断素数的过程要写在函数中,由主函数调用实现,并写出2组以上程序运行结果。
程序代码:
#include
int i;
for(i=2;i<=a/2;i++) if(a%i==0) return 0; return a; }
void main() {
int n,x;
printf(\ scanf(\ for(x=2;x<=n;x++) if(primes(x))
printf(\
}
『运行结果:
2
3、编程实现输入8个学生某门功课的成绩,用函数求出平均分,并在主函数中输出平均分以及高于平均分的同学的成绩。并写出2组以上程序运行结果。
程序代码:
#include
float average(float a[]) {int i;float av,s=0; for(i=0;i<8;i++) s+=a[i];
av=s/8;
return(av); }
void main() {
float score[8],ave;int i;
printf(\ for(i=0;i<8;i++)
scanf(\ ave=average(score);
printf(\for(i=0;i<8;i++)
if(score[i]>ave)
printf(\
运行结果:』
3
三、问题讨论
1、举例说明自动变量和静态变量的区别。 2、不会撒!!!怎么办???
四、实验总结
1 总结本次实验完成情况、相关知识掌握情况
2 总结本次实验编辑、编译、连接、运行所取得的经验 3 分析本次实验出现的主要错误最直接原因
4