《函数与宏替换》PPT课件.ppt
《《函数与宏替换》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《函数与宏替换》PPT课件.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章函数与宏替换 本章内容n6.1 模块化设计n6.2 函数的定义与调用n6.3 函数的递归调用n6.4 变量的存储类型、作用域n6.5 宏替换n6.6 综合应用6.1模块化设计 n模块化设计思想 把一个大问题分解成若干个比较容易求解的小问题,然后分别求解 n模块设计原则 模块独立n功能单一。n模块间的联系力求简单。n数据局部化。模块的规模要适当分解模块要注意层次6.2函数的定义与调用 n标准库函数 math.h头文件中函数:abs()、sin()、cos()、exp()、fabs()、floor()、rand()等 stdio.h头文件中函数:fgets()、fopen()、fprintf
2、()、fputc()、gets()、puts()、fread()、getchar()、putchar()、open()、close()、printf()、scanf()等 ctype.h头文件中函数:isalnum()、isalpha()、ispunch()、isspace()、isupper()、isxdigit()等string.h头文件中函数:strcat()、strchr()、strcmp()、strcpy()、strlen()、strlwr()、strncat()、strncpy()、strstr()、strupr()等 函数的定义 类型说明符 函数名称(形式参数类型及说明列表)/*
3、以下为函数体*/局部变量声明部分 语句序列int max(int n1,int n2)int t;if(n1n2)t=n1;elset=n2;return t;函数的声明部分 n类型说明符定义了函数中return语句返回值的类型 省略类型说明符,函数返回一个整型值 函数没有返回值,可以定义为void n函数名称遵循C语言标识符的命名规则 n形式参数类型及说明列表用逗号分隔的形式参数列表 每个列表项均由“类型说明符”和“形式参数名称”两部分组成 没有参数,括号仍然是必须要有的 函数体 n和main函数一样,必须将变量声明语句和其它语句序列用括起来 n如果有返回值,需要通过return语句返回 n
4、return语句的一般形式为:return(表达式表达式);或者return 表达式表达式;nreturn语句有两个重要作用返回一个值;退出当前函数。函数的调用 n调用函数定义在主调函数之前,主调函数可以直接调用 n被调用函数定义在主调函数之后,则需要在主调函数中声明被调用函数。n函数的声明格式类型名 函数名称(形式参数类型列表);注意:n函数声明语句后面需加分号。n在声明函数时,函数的参数名称可以省略,但参数类型不能省略,且参数类型的个数、类型、次序必须保持一致。main()int max(int,int);/*声明max函数,也可改为int max(int n1,int n2);*/c=m
5、ax(a,b);int max(int n1,int n2)函数的调用 n无参函数调用的一般形式为:函数名();n有参函数调用的一般形式为:函数名(实参表达式1,实参表达式2,)c=max(a,b);printf(“%d”,c);函数的嵌套调用 n在C语言中,允许在定义一个函数时调用另外一个函数,则在该函数被调用的过程中将发生另一次函数调用 图6.2 函数的嵌套调用【例6.1】验证哥德巴赫猜想。猜想内容:任何一个大于4的偶数,都可以表示为两个素数的和。参数的传递 n形参和实参的概念 函数定义时使用的参数称之为形式参数,简称形参 函数调用时使用的参数,称之为实际参数,简称实参 在函数调用时,实参
6、的个数要和形参相等,而且类型必须一致,另外实参与形参出现的次序也要一一对应。程序举例n【例6.2】输入两个数,输出两个数中的最大值#include stdio.hmain()int a,b,m;int max(int,int);/*声明max函数*/printf(nPlease input two numbers(a,b):);scanf(%d,%d,&a,&b);m=max(a,b);/*调用max函数*/printf(max=%dn,m);int max(int x,int y)int t;t=xy?x:y;return t;形参和实参的特点 n形参变量只有在被调用时才分配内存单元,在调用
7、结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。n实参可以是常量、变量、表达式、函数实参可以是常量、变量、表达式、函数等,在进行函数调用时,它们必须具有确定的值,以便把这些值传送给形参。因此,应预先用赋值、输入等方法使实参获得确定值。n实参和形参在数量上,类型上,顺序上应严格一致,否则会产生类型不匹配的错误。同时,实参和形参具有一一对应的关系实参和形参具有一一对应的关系。n函数调用中发生的数据传送是单向的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形
8、参的值无论怎么改变,实参中的值都不会变化。6.3函数的递归调用函数的递归调用n函数在执行过程中对自己的调用称为函数的递归调用 n在使用递归方法解决问题时,需要分成两个步骤(1)递归的边界条件。也就是描述问题的最简单情况,它本身不需要递归的定义,只需给出符合什么样的条件程序中止递归及中止递归时的返回值。(2)寻找问题的规律。将问题转换为更简单的相同问题,然后向着递归边界条件的方向递归。程序举例【例6.3】利用递归的方法计算n!。【例6.4】有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁;问第4个人多少岁,他说比第3个人大2岁;问第3个人多少岁,他说比第2个人大2岁;问第2个人多少岁,他
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数与宏替换 函数 替换 PPT 课件
限制150内