- 1、本文档共353页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
更好的搜集便于大家查阅,希望能帮助有需要的人们!
二. 指针函数 1. 概念:返回值是指针类型的函数,称为指针函数。 2. 定义形式:类型标识符 *函数名(参数表); 例如: int *a(int x,float y) {……} 3.说明: a:函数名,调用它后能得到一个指向整型数据的指针(地址)。 x,y:函数a的形参。 *:表示此函数是指针类型函数(函数值是指针)。 main() {int a,b,*p; int *max( ); scanf(“%d,%d”,a,b); p=max(a,b); printf(“max=%d”,*p); } 指针函数应用举例 int *max(int x,int y) {if(xy) return(x); else return(y); } 3.举例: 设有函数定义: int max(…) {…….} int (*p) ( ); /*定义指向函数的指针变量*/ 三.指向函数的指针 max p 函数 … … 内容 1.指向函数的指针的定义方式: 类型 (*指针变量名)( ); 2.指向函数的指针的使用: 将函数入口地址(函数名)赋给指向函数的指针变量。 将指针变量(连同圆括号)代替函数名使用。 p=max; /*使p指向max函数的入口地址,可以通过(*p)( 参数)来调用max函数*/ int max(x,y) int x,y; {int z; if (xy) z=x; else z=y; return (z); } 举例: main( ) {int max(); int (*p) ( ); /*定义指针变量*/ int a,b,c; p=max; /*指针变量赋值*/ scanf(%d,%d,a,b); c=(*p)(a,b); /*调用函数*/ printf(a=%d,b=%d,max=%d,a,b,c); } 指针与数组 指向一维数组的指针 指向多维数组的指针 指向字符串的指针 1.指向数组元素的指针变量的定义及赋值方式: 初始化:类型 *指针变量名=数组名[下标]; 赋值: 类型 *指针变量名; 指针变量名= 数组名[下标]; 一. 一维数组与指针 2.指向数组首地址的指针变量的定义及赋值方式: 初始化:类型 *指针变量名=数组名/数组名[0]; 赋值: 类型 *指针变量名; 指针变量名= 数组名/ 数组名[0] ; 数组的指针就是数组的起始地址,数组元素的指针就是数组元素的地址。 3.说明 类型:与数组类型一致。 数组名:代表数组首地址,数组中第一个元素的地址 举例: main() {int a[10],*p1,*p2=a[3]; int i; p1=a; a p1 for(i=0;i=9;i++) a[i]=i; printf(“d,d”,*p1,*p2); } a[3] p2 0 1 4 5 6 a[0] a[9] 数组 a[1] 2 3 7 8 9 a[2] a[3] a[4] a[5] a[6] a[7] a[8] 结果:f(x,y)=s(x)/s(y),s(n)=p(1)+p(2)+ …+p(n),p(i)=i! 此程序中,函数f()通过函数s()调用了p()主函数通过函数f()调用函数s()都称为两层嵌套调用;主函数调用通过函数f()、s()调用函数p()称为三层嵌套调用。 C语言规定: 不限制嵌套调用的层数,嵌套调用的层数仅受计算机内存的限制。 四、小结 全局变量、局部变量;函数的嵌套调用;数值传递与地址传递。 思考与练习 1、写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。 2、写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。 3、写一个函数,输入以行字符,将此字符串中最长的单词输出。 函数程序设计 函数的递归调用 系统函数 函数的递归调用 系统函数 函数的递归调用 主要内容 难点 重点 一、函数的递归调用 1.定义: 在调用一个函数的过程中又出现直接或间接地调用该函数本身。如图所示: f 函数 调用f函数 直接调用本函数 间接调用本函数 调用f2函数 调用f1函数 f1函数 f2 函数 2.递归过程必须解决两个问题 递归计算的公式 递归结束的条件 3.递归过程的算法描述: if (递归结束条件) return (递归结
您可能关注的文档
- 全套课件单片机原理及应用设计(第二版)-电子教案-胡辉.ppt
- 全套课件景观小品设计-电子教案-刘娜.ppt
- 全套课件常用工具软件实用教程-电子教案-刘毅-51701396.ppt
- 全套课件大学计算机基础(第三版)——基于Windows 7和Office 2010环境-电子教案-何振林.pptx
- 全套课件广告设计-电子课件(PDF)-段嵘.pdf
- 全套课件Linux操作系统的应用与管理项目化教程-电子教案-邹承俊.ppt
- 全套SSH框架项目教程-电子教案-陈俟伶.doc
- 精品全套课件建筑材料与检测-电子教案-李念国-.ppt
- 全套课件建筑材料与检测-电子教案-李念国-精品.ppt
- 给排水施工组织与项目管理-电子教案-宋文学全套课件.ppt
- 中华人民共和国主席令(第二十八号):中华人民共和国计量法.pdf
- 国务院令[2019]第709号:中华人民共和国招标投标法实施条例.pdf
- GTFWWRHJ:中华人民共和国固体废物污染环境防治法.pdf
- FQDQDZCP:废弃电器电子产品回收处理管理条例.pdf
- GHGCKGZF:中华人民共和国出口管制法.pdf
- GJSSSBHF:中华人民共和国军事设施保护法.pdf
- GHGDZSWF-2019:中华人民共和国电子商务法.pdf
- GHGZYBFZ:中华人民共和国职业病防治法.pdf
- 中华人民共和国国务院令第744号:建设工程抗震管理条例.pdf
- 主席令[2015]第31号:中华人民共和国大气污染防治法.pdf
文档评论(0)