《高级语言程序设计》
实验指导
学 院:信息科学与技术学院
专 业:
学 期:
教 师:
PAGE
PAGE I
实验6 函数与编译预处理
院(系):信息科学与技术学院课程名称:C语言程序设计教师签名:
班级
学号
实验室
专业
姓名
计算机号
所用软件
实验成绩
6.1 实验目的
1.熟悉函数的一般形式以及函数的定义与调用。
2.掌握函数实参与形参的对应关系以及“值传递”的方法。
3.掌握自定义函数的编写。
4.掌握函数的嵌套调用和递归调用方法。
5.掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。
6.2 实验预习
1.函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,寒暑的嵌套调用和递归调用。
2.宏定义和文件包含等编译预处理指令。
6.3 实验任务
1.输入程序,分析程序的运行结果,
#include "stdio.h"
void xs()
{
printf(“C 2.0\n”);
}
void main()
{
printf(“Turbo_”);
xs();
}
人工分析结果: Turbo_C2.0 程序运行结果:Turbo_C2.0
2.阅读程序,并将该程序改写成函数调用形式。
#include "stdio.h"
void main()
{
int data;
scanf("%d",&data);
if(data%2!=0) printf("%d,YES!\n",data);
else printf("%d,NO!\n",data);
}
在提示/**********blank**********/下面填写合适的内容完成程序设计。定义函数int f(int x),判断x是否为奇数,若是则函数返回1,否则返回0。
#include "stdio.h"
void main()
{
int data,flag;
/**********blank**********/
______ int f(int x)___________; /*填空位置1,声明函数*/
scanf("%d",&data);
/**********blank**********/
flag=____f(int)_____; /*填空位置2,调用函数,并将返回值赋给变量flag*/
if(flag==1) printf("%d,YES!\n",data);
else printf("%d,NO!\n",data);
}
int f(int x)
{
int z;
If(x%2!=0) z=1;
else z=0;
/**********blank**********/
_____return z____________; /*填空位置3,带回返回值*/
}
3.调试运行如下程序。函数zdy(x,y,z)输出x、y、z的初始值及改变后的值。
x=10,y=9,z=5表6-1 实验结果记录表
人工分析结果
实验运行结果
(1) x=2,y=3,z=0
(1) x=2,y=3,z=0
(2) x=2,y=3,z=0
(2) x=2,y=3,z=0
(3) x=10,y=9,z=5
(3) x=10,y=9,z=5
(4) x=2,y=3,z=0
(4) x=2,y=3,z=0
4.在提示/**********blank**********/下面填写合适的内容完成程序设计,实现从键盘输入x,求1~x的累加和的功能。
#include "stdio.h"
float fun(int n)
{
int i;
float c;
/**********blank**********/
__c = (int)n________________;
for(i=1;i<=n;i++)
/**********blank**********/
_____c +=1_______________;
_____return c___________;
}
void main()
{
int x;
/**********blank**********/
___scanf(”%d”,&x);_________________;
printf(“fun(%d)=%f”,x,fun(x));
}
5.有以下程序:
#include"