实验五函数与编译预处理实验课程名 :C语言程序设计专业班级:学号:姓名:实验时间:4.25-5.6 实验地点:K4-203 指导教师:祁文青一、实验目的和要求1.掌握函数定义的方法;2.掌握函数实参与形参的对应关系以及“值传递”的方式;3.掌握函数的嵌调用和递归调用的方法;4.掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。5.学习对多文件程序的编译和运行。二、实验内容1.阅读下面程序,通过调试该程序,熟悉函数的调用方法及单步跟踪键F11 和 F10 的不同。#include void main() { void fun(int i, int j, int k); int x,y,z; x=y=z=6; fun(x,y,z); printf("%x=%d;y=%d;z=%d\n",x,y,z); } void fun(int i, int j, int k) { int t; t=(i+j+k)*2; printf("t=%d\n",t); } 解答:(1)源代码:(2)运行结果 :(3)运行结果分析:2.阅读下面程序,注意在调试时F11 和 F10 的区别,还要注意函数调用过程中形参、实参的关系。#include void main() { int x=10,y=20; void swap (int ,int); printf("(1)in main :x=%d,y=%d\n",x,y); swap(x,y); printf("(4)in main :x=%d,y=%d\n",x,y); } void swap (int m,int n) { int temp;printf("(2)in main :m=%d,n=%d\n",m,n); temp=m;m=n;n=temp; printf("(3)in main :m=%d,n=%d\n",m,n); } 解答:(1)源代码:(2)运行结果 :( 3)运行结果分析:3.下面程序是实现求素数的,请填空完成该程序,并上机运行测试。#include #include void main() { int m; ; /* 申明求素数函数*/ printf("Please input a data m=:"); scanf("%d",&m); ; /* 调用求素数函数*/ } void prime(int n) { int i,k; k=sqrt(n); for(i=2;i<=k;i++) if (n%i==0) break; if(i>=k+1) printf("This is a prime number"); else printf("This isn’ t a prime number");} 解答:(1)源代码:(2)运行结果 :( 3)运行结果分析:4.下面程序的功能是从键盘上输入的若干个数并求出最大值。请填空完成该程序。#include void main( ) { int i; int s[10], max; /* Findmax() 函数的申明*/ ; printf("Input 10 number : \n"); /* 输入 10 个数据到 s 数组中*/ ; /* 调用 Findmax 函数*/ ; for (i=0;i<10; i++) ...