实验九 函数实验二

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

s2=b*c; s3=a*c; return v; } main() { int v,l,w,h; printf("\ninput length,width and height\n"); scanf("%d%d%d",&l,&w,&h); v=vs(l,w,h); printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3); } 本程序中定义了三个外部变量 s1,s2,s3, 用来存放三个面积,其作用域为整 个程序。函数 vs 用来求正方体体积和三个面积, 函数的返回值为体积 v。由主 函数完成长宽高的输入及结果输出。由于C语言规定函数返回值只有一个, 当 需要增加函数的返回数据时,用外部变量是一种很好的方式。本例中,如不使用 外部变量, 在主函数中就不可能取得 v,s1,s2,s3 四个值。而采用了外部变量, 在 函数 vs 中求得的 s1,s2,s3 值在 main 中仍然有效。因此外部变量是实现函数之间 数据通讯的有效手段。 例 3:分析下面程序,理解局部变量和全局变量。 int vs(int l,int w) { extern int h; int v; v=l*w*h; return v; } main() { extern int w,h; int l=5; printf("v=%d",vs(l,w)); } int l=3,w=4,h=5; 本例程序中,外部变量在最后定义, 因此在前面函数中对要用的外部变量 必须进行说明。外部变量 l,w 和 vs 函数的形参 l,w 同名。外部变量都作了初 始赋值,mian 函数中也对 l 作了初始化赋值。执行程序时,在 printf 语句中调用 vs 函数,实参 l 的值应为 main 中定义的 l 值,等于 5,外部变量 l 在 main 内不
#include <math.h> main() { double answer; answer=fabs(-wk.baidu.com.141592); printf("|-3.141592|=%f\n",answer); }
fabs 函数:计算浮点型数的绝对值 作业:
1. 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这 连个函数,并输出结果,两个整数由键盘输入。
2. 编写判断水仙花数的函数,从主函数输入正整数 n,在主函数中调用水鲜花 数的函数,找出 n 以内的水鲜花数。
3. 求 sin(30°)+|-5|+|-3.215|+23+Ln8+log10582 的值。 4.编写一个计算 n!的函数,用主函数调用它,使之输出 7 阶杨辉三角形: 1 11 121 1331 14641 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 杨辉三角形是二项展开式(a+b)n 的系数,共有 n+1 项,n=0,1,…。
n=n+i; printf("n=%d\n",n); } 本程序中定义了一个函数 s,该函数的功能是求∑ni=li 的值。在主函数中输 入 n 值,并作为实参,在调用时传送给 s 函数的形参量 n( 注意,本例的形参变 量和实参变量的标识符都为 n, 但这是两个不同的量,各自的作用域不同)。 在 主函数中用 printf 语句输出一次 n 值,这个 n 值是实参 n 的值。在函数 s 中也用 printf 语句输出了一次 n 值,这个 n 值是形参最后取得的 n 值 0。从运行情况看, 输入 n 值为 100。即实参 n 的值为 100。把此值传给函数 s 时,形参 n 的初值也 为 100,在执行函数过程中,形参 n 的值变为 5050。 返回主函数之后,输出实 参 n 的值仍为 100。可见实参的值不随形参的变化而变化。 例 2:输入正方体的长宽高 l,w,h。求体积及三个面 x*y,x*z,y*z 的面积。 int s1,s2,s3; int vs( int a,int b,int c) { int v; v=a*b*c; s1=a*b;
函数实验二
一、目的与要求 1.掌握数学函数的使用和调用方法。 2.熟练掌握主调函数和被调函数之间的参数传递方式。 3.了解函数的递归调用和编译预处理。 二、实验例程 例 1:分析程序。 int s(int n); void main() {
int n; printf("input number\n"); scanf("%d",&n); s(n); printf("n=%d\n",n); } int s(int n) { int i; for(i=n-1;i>=1;i--)
例 4 分析下列程序,学会使用数学函数,。 #include <stdlib.h> main(){
int answer; answer = abs(-12); printf("|-12| = %d\n", answer); } //abs 函数:计算整型数的绝对值
#include<math.h> main() {
起作用;实参 w 的值为外部变量 w 的值为 4,进入 vs 后这两个值传送给形参 l, wvs 函数中使用的 h 为外部变量,其值为 5,因此 v 的计算结果为 100,返回主 函数后输出。变量的存储类型各种变量的作用域不同, 就其本质来说是因变量 的存储类型相同。所谓存储类型是指变量占用内存空间的方式, 也称为存储方 式。
double answer; answer = exp (10); printf("e^10 =%f\n", answer); } //exp 函数:计算指数 #include<math.h> main() { double root; root = sqrt (200); printf("answer is %f\n",root); } //sqrt 函数:计算平方根
相关文档
最新文档