C语言程序设计技术(下)ppt207.ppt

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

一. 函数的定义与调用 1. 函数的定义 函数类型标识符 函数名(虚参) { 〈函数体〉 } 2. 函数值 非void型函数的函数值必须用return语句返回。 3. 函数调用 函数名(实参); 例如: c=2*max(13, 25) m=max(a, max(b,c)) 说明: (1) 调用函数前,应对函数原型进行声明 (2) 实参的个数必须与虚参个数相同,类型必须匹配 (3) 实参可以是一个表达式,虚参只能是变量 (4) 当虚参是一个指针或数组时,实参与虚参的值双向传递 (5) 函数不能嵌套定义,但可嵌套调用 (6) 函数的实参类型与虚参类型不相同时将实参转换为虚参的类型 (7) 函数的返回值与函数类型不相同时将返回值转换为函数值的类型。 例1(P106例4-2). 已知a=2,b=3,求a+b的值。 #includestdio.h #includeconio.h void main(void) { int add(int x,int y); int a=2,b=3,c; clrscr( ); c=add(a,b); printf(%d+%d=%d\n, a,b,c); getch( ); } /* 求和 */ int add(int x,int y) { int t; printf(x和y的值分别是:%d,%d \n, x,y); t=x+y; x=2*x; y=2*y; printf(改变后的x和y的值分别是:%d,%d \n, x,y); return t; } 二. 函数嵌套调用 在一个子函数中调用另一个函数称为函数嵌套调用 例2(P125例4-14).从键盘输入一正整数limit(limit=6),验证从6到n之间的所有偶数都可以分解为两个奇素数之和。 例如 98=19+79 #includestdio.h #includeconio.h #includemath.h void main(void) { int prime(int m); int n,a,b,limit; clrscr( ); while(1) { printf(\nInput 1 number(=6):\n); scanf(%d,limit); if (limit=6) break; } for(n=6;n=limit;n+=2) for(a=3;a=n/2;a+=2) if (prime(a)) { b=n-a; if (prime(b)) { printf(%d=%d+%d\n,n,a,b); break; } } getch( ); } /* 判断一个数是否为素数 */ int prime(int m) { int i,k; k=sqrt(m)+1; for(i=2;ik;i++) if (m%i==0) return 0; return 1; } 一. 函数递归调用 在一个函数中,如果直接或间接调用自己,则称为递归调用。 如: int f(int n) { if (n1) return 0; return f(n-1)+n; } 例1. 逆序输出一个整数的各位数字。 #includestdio.h void main(void) { void printd(long n); long n; scanf(%ld,n); printd(n); } void printd(long n) { if (n0) { putchar(-); n=-n; }

文档评论(0)

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

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

1亿VIP精品文档

相关文档