为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

函数的参数

2017-11-21 6页 doc 18KB 8阅读

用户头像

is_477730

暂无简介

举报
函数的参数函数的参数 参数 作用 简单变量 值传递 单个数组元素 值传递 数组名 地址传递 //参数为简单变量 //在调试窗口中查看主函数、子函数中变量的地址 #include void main() { int mm(int w); //函数说明 int w; w=100; printf("主函数内: &w=%x\n",&w); printf("调用函数前,w=%d\n\n\n",w); mm(w); printf("调用函数后,w=%d\n",w); } int mm( int w ) { pr...
函数的参数
函数的参数 参数 作用 简单变量 值传递 单个数组元素 值传递 数组名 地址传递 //参数为简单变量 //在调试窗口中查看主函数、子函数中变量的地址 #include void main() { int mm(int w); //函数说明 int w; w=100; printf("主函数内: &w=%x\n",&w); printf("调用函数前,w=%d\n\n\n",w); mm(w); printf("调用函数后,w=%d\n",w); } int mm( int w ) { printf("子函数内: &w=%x\n\n",&w); w=2000; return 0; } //参数是单个数组元素 //在调试窗口中查看主函数、子函数中变量的地址 #include void main() { int mm( int ); //函数说明 int i; int a[10]={0,1,2,3,4,5,6,7,8,9}; printf("调用函数前\n"); for (i=0;i<=9;i++) { printf("%d ", a[i]); } printf("\n"); //printf("主函数内,a[5]的地址:&a[5]=%x\n",&a[5]); mm(a[5]);//传递第5号元素 printf("调用函数后\n"); for (i=0;i<=9;i++) { printf("%d ", a[i]); } printf("\n"); } int mm(int w) { //printf("子函数内: &w=%x\n",&w); w=2000; return 0; } //参数是数组名 //在调试窗口中查看主函数、子函数中数组的地址 #include void main() { int mm( int c[]); //函数说明,请注意:参数形式和前面已经不一样了。 int i; int a[100]; for (i=1;i<=10;i++) { a[i]=1; } printf("&a[0]=%x\n",&a[0]); printf("调用函数前\n"); for (i=0;i<=9;i++) { printf("%d\n", a[i]); } mm(a);//写成m(a[10]),如何, printf("调用函数后\n"); for (i=0;i<=9;i++) { printf("%d\n", a[i]); } } int mm( int c[] ) { int i; for(i=0;i<=10;i++) c[i]=100; printf("&c[0]=%x\n",&c[0]); return 0; } //注意a[0]、c[0]的地址有何区别, 参数是简单变量、数组元素 参数是数组名 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] 100 a c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] c[8] w w c 2000 P202:n阶勒让德多项式,递归算法。 1 n=0 p(x)= x n=1 n ((2n-1)?x-p(x)-(n-1)*p(x))/n n>1 n-1n-2 n!=(n-1)!×n fact=fact*n nn-1 fact(n)=fact(n-1)*n 习题: 1、 输入两个人的出生年月日,计算他们之间的年龄的天数差 额。 如,输入 A的生日:1980 1 1 B的生日:1981 1 1 显示 A的生日是:星期一。 B的生日是:星期三。 A比B大366天。 要求: a) 程序好看 b) 算法优化 c) 能处理非法数据 d) 多用函数 用什么方法来检验你的结果是否正确, sum n m 天数 = sum - m + n 2007.6.1 1980.9.1 算法: (1) 用全局数组days[13]存贮每月的天数 0 31 28 31 30 31 30 31 31 30 31 30 31 (2) 函数一:识别输入日期的是否正确 (3) 函数二:判断是否闰年 a) 闰年=1 b) 平年=0 (4) 函数三:计算sum值。 (5) 函数四:计算m、n值。 2、 在某个项目中,会在不同的函数内不断用到1!、2!、3!、 4!、…29!、30!等阶乘数据,由于项目要求速度尽可能的快, 因此,如何在最短时间内得到阶乘成为关键。要求:编写一 个函数应用递归算法计算阶乘。提示:使用全局变量。(文件 名:0514_2.CPP) 算法: , 用数组(全局变量)来存取阶乘 jc[100] 0 0 0 0 0 0 0 0 0 0 0 0 0 初始化所有元素值为0。0示未计算,非0表示已计算。 例: 第1次求7~:jc[7]=0, 说明7!从未计算过,计算7!=5040, jc[7]=5040。 第2次求7~:jc[7]=5040,说明7!已计算过, 不需要再计 算,7!=5040。 第3次求6!:jc[6]=0, 说明6!从未计算过,计算6!=720, jc[6]=720。 第4次求6~:jc[6]=720, 说明6!已计算过, 不需要再计 算,6!=720。 , 优化: 在计算7!时,其实6!的阶乘已计算出来,只需要jc[6]=720,在第3次求6!时,就不需要再计算了。 , 进一步优化: 在计算7!时,其实1!、2!、3!、4!、5!、6!的阶乘已计算出来,只需要jc[1]=1、jc[2]=2、jc[3]=6、jc[4]=24、jc[5]=120、jc[6]=720,在第3次求6!时,就不需要再计算了。同样,再求1!、2!、3!、4!、5!时也不需要再计算。
/
本文档为【函数的参数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索