C语言程设计实验与案例周信东主编实验七函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在被调函数内部,通过对形式参数的操作实现对外部数据的引用。
(5)通过单步调试运行本程序,需要在程序执行过程中观察自定义的函数内部变量的变化情况,该如何操作:
请回答
(1)点击组建
(2)点击开始调试
(3)单步调试
(4)函数内部调试
Ex7-2请在下面分别插入改正错误后的源程序代码及运行成功时的画面:
源程序代码:
不是
(3)程序按第②步修改后的运行结果:
请在此粘贴本程序运行结果的截图
(4)程序按第③步修改,去掉关键字“extern”后再运行的结果:
请在此粘贴本程序运行结果的截图
观察结果有何变化?请回答
有关键字“extern”时的结果为,无关键字“extern”是输出的值乱码,函数并没有调a,b的值。
通过本题,可以得出什么结论?请回答
int main()
{
float c,m;
int b;
printf("请输入一个数和所要求得次方数:\n");
scanf("%f %d",&c,&b);
m=px(c,b);
printf("%f",m);
}
运行结果:
请在此粘贴本程序运行结果的截图
Ex7-3请在下面分别完成本题的源程序代码及运行结果的画面:
源程序代码:
请在此粘贴完成本题的程序源代码。
#include <stdio.h>
#include <stdlib.h>
void main()
{
float px(float ,int );
float c,m;
int b;
printf("请输入一个数和所要求得次方数:\n");
scanf("%f %d",&c,&b);
源程序代码:
请在此粘贴完成本题的程序源代码。
#include <stdio.h>
#include <string.h>
char *Del(char *src)
{
char *p = src;
int i,j;
for(i=0;src[i];i++)
{
if(src[i]==' ')
{
for(j = i; src[j]; j++)
sum+=1/long(i);
return sum;
}
void main()
{
double s;
s=add (19);
printf("the result is : %lf\n",s);
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
ຫໍສະໝຸດ Baidu四、选作实验题目完成情况
若你选作了课堂布置之外的题目,请按照上述格式依次编写你所作各题目的题号、源程序代码、运行结果截图及其结果情况分析。
src[j] = src[j+1];
i--;
}
}
return p;
}
int main ()
{
char s[128] = {0};
scanf("%[^\n]",s);
printf("%s\n",Del(s));
return 0;
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
Eh7-2请在下面分别完成本题的源程序代码及运行结果的画面:
m=px(c,b);
printf("%f",m);
}
float px(float x, int n)
{
if(n>0)
return px(x,n-1)*x;
else
if(n==0)
return 1;
else
re
运行结果截图:
请在此粘贴本程序运行成功时的截图
【增强题】:Eh7-1请在下面分别完成本题的源程序代码及运行结果的画面:
请在此粘贴修改后正确的程序代码。
#include <stdio.h>
#include <stdlib.h>
float px(float x, int n)
{
if(n>0)
return x*px(x,n-1);
else
if(n==0)
return 1;
else return px(x,n+1)/x;
}
五、实验总结
总结你在实验中易犯的错误及其解决方法,或总结本次实验中你学到的经验或技能等。注意,不要说空话。
基本掌握C语言函数的定义方法、函数的声明及函数的调用方法,也在一定程度上掌握函数实参和形参的对应关系以及“值传递”的方式,但是在实际的运用中,运用得不怎么灵活,有时候都反应不过来。
三、实验步骤及结果
【基础题】:Ex7-1请在下面分别插入根据题意进行修改后的运行画面,并回答问题:
(1)程序修改前的运行结果:
请在此粘贴本程序运行结果的截图
(2)按第①步修改,在主函数的printf语句前加入int a=8;语句后的运行结果:
请在此粘贴本程序运行结果的截图
实参a是否为同一变量?请回答
源程序代码:
请在此粘贴完成本题的程序源代码。
#include "stdio.h"
long jc(int x)
{
long item=1,i;
for (i=1;i<=x;i++)
item*=i;
return item;
}
long add(int y)
{
long sum;
int i;
sum=0;
for (i=1;i<=y;i=i+3)
实验5 函数
学号:姓名:实验日期:
一、实验目的和要求
(1)掌握C语言函数的定义方法、函数的声明及函数的调用方法。
(2)掌握函数实参和形参的对应关系以及“值传递”的方式。
(3)掌握函数嵌套调用和递归调用的方法。
(4)掌握全局变量和局部变量、动态变量和静态变量的定义、说明和使用方法。
二、实验内容
实验指导书中的实验七“基础部分”和“增强部分”的题目。
(5)通过单步调试运行本程序,需要在程序执行过程中观察自定义的函数内部变量的变化情况,该如何操作:
请回答
(1)点击组建
(2)点击开始调试
(3)单步调试
(4)函数内部调试
Ex7-2请在下面分别插入改正错误后的源程序代码及运行成功时的画面:
源程序代码:
不是
(3)程序按第②步修改后的运行结果:
请在此粘贴本程序运行结果的截图
(4)程序按第③步修改,去掉关键字“extern”后再运行的结果:
请在此粘贴本程序运行结果的截图
观察结果有何变化?请回答
有关键字“extern”时的结果为,无关键字“extern”是输出的值乱码,函数并没有调a,b的值。
通过本题,可以得出什么结论?请回答
int main()
{
float c,m;
int b;
printf("请输入一个数和所要求得次方数:\n");
scanf("%f %d",&c,&b);
m=px(c,b);
printf("%f",m);
}
运行结果:
请在此粘贴本程序运行结果的截图
Ex7-3请在下面分别完成本题的源程序代码及运行结果的画面:
源程序代码:
请在此粘贴完成本题的程序源代码。
#include <stdio.h>
#include <stdlib.h>
void main()
{
float px(float ,int );
float c,m;
int b;
printf("请输入一个数和所要求得次方数:\n");
scanf("%f %d",&c,&b);
源程序代码:
请在此粘贴完成本题的程序源代码。
#include <stdio.h>
#include <string.h>
char *Del(char *src)
{
char *p = src;
int i,j;
for(i=0;src[i];i++)
{
if(src[i]==' ')
{
for(j = i; src[j]; j++)
sum+=1/long(i);
return sum;
}
void main()
{
double s;
s=add (19);
printf("the result is : %lf\n",s);
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
ຫໍສະໝຸດ Baidu四、选作实验题目完成情况
若你选作了课堂布置之外的题目,请按照上述格式依次编写你所作各题目的题号、源程序代码、运行结果截图及其结果情况分析。
src[j] = src[j+1];
i--;
}
}
return p;
}
int main ()
{
char s[128] = {0};
scanf("%[^\n]",s);
printf("%s\n",Del(s));
return 0;
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
Eh7-2请在下面分别完成本题的源程序代码及运行结果的画面:
m=px(c,b);
printf("%f",m);
}
float px(float x, int n)
{
if(n>0)
return px(x,n-1)*x;
else
if(n==0)
return 1;
else
re
运行结果截图:
请在此粘贴本程序运行成功时的截图
【增强题】:Eh7-1请在下面分别完成本题的源程序代码及运行结果的画面:
请在此粘贴修改后正确的程序代码。
#include <stdio.h>
#include <stdlib.h>
float px(float x, int n)
{
if(n>0)
return x*px(x,n-1);
else
if(n==0)
return 1;
else return px(x,n+1)/x;
}
五、实验总结
总结你在实验中易犯的错误及其解决方法,或总结本次实验中你学到的经验或技能等。注意,不要说空话。
基本掌握C语言函数的定义方法、函数的声明及函数的调用方法,也在一定程度上掌握函数实参和形参的对应关系以及“值传递”的方式,但是在实际的运用中,运用得不怎么灵活,有时候都反应不过来。
三、实验步骤及结果
【基础题】:Ex7-1请在下面分别插入根据题意进行修改后的运行画面,并回答问题:
(1)程序修改前的运行结果:
请在此粘贴本程序运行结果的截图
(2)按第①步修改,在主函数的printf语句前加入int a=8;语句后的运行结果:
请在此粘贴本程序运行结果的截图
实参a是否为同一变量?请回答
源程序代码:
请在此粘贴完成本题的程序源代码。
#include "stdio.h"
long jc(int x)
{
long item=1,i;
for (i=1;i<=x;i++)
item*=i;
return item;
}
long add(int y)
{
long sum;
int i;
sum=0;
for (i=1;i<=y;i=i+3)
实验5 函数
学号:姓名:实验日期:
一、实验目的和要求
(1)掌握C语言函数的定义方法、函数的声明及函数的调用方法。
(2)掌握函数实参和形参的对应关系以及“值传递”的方式。
(3)掌握函数嵌套调用和递归调用的方法。
(4)掌握全局变量和局部变量、动态变量和静态变量的定义、说明和使用方法。
二、实验内容
实验指导书中的实验七“基础部分”和“增强部分”的题目。