网站大量收购闲置独家精品文档,联系QQ:2885784924

C程序设计结构函数.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计结构函数

三峡大学科技学院 计算并输出k以内最大10个能被13或17整除的自然数之和。k的值由主函数传入。 问题分析:本题目中将求和作为一个相对独立的函数,再在函数内实现统计个数和整除的两个条件。 示例3: /* 定义函数实现求和 */ int div ( int k) { /*sum表示累和值,mc表示个数值*/ int sum=0,mc=1,j; /***满足个数最大10个的条件***/ while( (k13)(mc=10)) { if( k%13= =0 || k%17 = =0) { sum=sum+k; mc++; } k=k -1; } return sum; } 定义主函数实现递归算法的函数调用 void main( ) { int k,g; scanf(“%d”,k); /***函数调用,返回满足要求的结果数据值***/ g=div( k ); printf(“%d\n”,g); } 三峡大学科技学院 课外作业 1、编写函数,求和: n在主函数中由键盘输入,被调函数返回sum的值。 2、编写递归函数,用于计算 : f(n)= n+f(n-1) (n1) 1 (n=1) 3、找出2——1000中的素数。其中编写函数,函数功能是判断一个数是否为素数: c 递归汉诺塔步骤 void hanoi(int n, int a, int b, int c) { if (n==1) printf(“%d -%d”,a,c); else { hanoi(n-1,a,c,b); printf(“%d -%d”,a,c); hanoi(n-1,b,a,c); } } main( ) { int n; printf(“input n:”); scanf(“%d”, n); hanoi(n, 1, 2, 3); } 返回 三峡大学科技学院 3.3 函数的参数 一、形参和实参 1、定义: 形式参数:函数定义时,函数名后面括号内的参数称为形式参数。 实际参数:函数调用时,函数名后面括号内的参数称为实际参数。实参可以是常量、变量、表达式或具有返回值的函数调用表达式。 2、例: #include stdio.h int max(int x, int y); void main( ) { int a, b, c; scanf(%d%d, a, b); c=max(a, b); printf(Max=%d.\n, c); } int max(int x, int y) { int z; z=xy?x:y; return(z); } 三峡大学科技学院 二、关于形参与实参的说明: 1、在进行函数调用前,函数的形参并不占有内存单元;只有在函数被调用时,其形参才被分配内存单元,并在调用结束后释放形参所占的内存单元。 2、形参只能是变量,而实参可以是常量、变量或表达式,但要求它们有确定的值。调用时将实参的值赋给形参。 max(3, a+b); 3、在定义函数时,必须指定形参的类型。 int max(int x, int y) { int z; z=xy?x:y; return(z); } 4、实参与形参的个数应一样,类型应一致或赋值兼容。 主调函数和被调函数之间通过函数参数进行数据传递。 三峡大学科技学院 5、C语言规定,实参对形参的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。 a 2 b 5 x y 2 5 x 45 y 56 a 2 b 5 void fun(int x, int y) {x=x*20+5;y=y*10+6; printf(“x=%d, y=%d\n, x, y); } main( ) { int a, b; scanf(“%d,%d”,a,b); fun( a, b ); printf(“a=%d, b=%d\n, a, b); } 2, 5 3, 6 三峡大学科技学院 三、参数-示例: #include stdio.h void sum(int x, int y, int z) { z=x+y; } main( ) { int a=1, b=2, c=0; sum( a, b, c ); printf(c=%d\n, c); } c=? 三峡大学科技学院 ? 实参可为表达式,其值传递。 ?实参、形参类型一致。 ?可在形参表列中对形参说明。 例输入两个数,输出其中较大的数。 #i

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档