实验五 - 函数与编译预处理

更新时间:2024-05-26 17:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言程序设计》实验报告

实验五 函数与编译预处理

一、实验目的

1、 掌握函数定义及调用的方法,正确理解函数调用时实参和形参的对应关系; 2、 掌握并正确使用数组作为函数参数; 3、 掌握函数的嵌套调用和递归调用的方法; 4、 理解变量的作用域和生存期; 5、 掌握宏定义、文件包含。

二、实验内容

1、分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。

#include int fun(int k) {

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 primes(int a ) {

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

本文来源:https://www.bwwdw.com/article/wyp7.html

Top