精品全套C语言程序设计(第二版)-电子教案-马晓晨.ppt

精品全套C语言程序设计(第二版)-电子教案-马晓晨.ppt

  1. 1、本文档共353页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 (递归结

文档评论(0)

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

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

1亿VIP精品文档

相关文档