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

C语言程序设计教程-电子教案第7章电子教案:指针.ppt

C语言程序设计教程-电子教案第7章电子教案:指针.ppt

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

voidmain(){voidfsin();//函数声明voidfcos();//函数声明intchoice;printf(请选择三角函数的类型(1.正弦函数2.余弦函数):);scanf(%d,choice);if(choice==1){ printf(正弦函数的值如下:\n); fsin();}elseif(choice==2){ printf(余弦函数的值如下:\n); fcos();}else printf(选择错误,请重新输入!\n);}voidfsin(){ inti; doublex; for(i=30;i=60;i=i+5) { x=i*3.14/180; printf(%.2f,sin(x)); } printf(\n);}voidfcos(){ inti; doublex; for(i=30;i=60;i=i+5) { x=i*3.14/180; printf(%.2f,cos(x)); } printf(\n);}该程序有何弊端?方法2:采用指向函数的指针【编程思路】编写一个通用的自定义函数,在函数中不设定计算哪一个三角函数,需要在调用时通过函数的实参来设定。如果实参为sin,则求正弦函数,因此,自定义函数的形参应该为指向函数的指针变量。定义格式:double(*p)(double)voidmain(){voidf(double(*p)(double));//函数声明intchoice;printf(请选择三角函数的类型(1.正弦函数2.余弦函数):);scanf(%d,choice);if(choice==1){ printf(正弦函数的值如下:\n); f(sin);}elseif(choice==2){ printf(余弦函数的值如下:\n); f(cos);}else printf(选择错误,请重新输入!\n);}voidf(double(*p)(double)) { inti; doublex; for(i=30;i=60;i=i+5) { x=i*3.14/180; printf(%.2f,(*p)(x)); } printf(\n);}【程序说明】(1)当执行f(sin);语句时,(*p)(x)就相当于sin(x)。(2)如果要求其它三角函数的值,需要修改哪些代码?只需要在主函数中直接调用即可,不需要修改自定义函数的代码。7.9指向指针的指针1.指向指针的指针的定义、赋值及引用如果一个指针变量存放的是另一个指针变量的地址,则称其为指向指针的指针变量。定义格式:基类型名**(指针变量名);例如: inti=10; int*p=i; int**pp=p;voidmain(){ inti=10; int*p=i; int**pp=p; printf(**pp=%d,*p=%d,i=%d\n,**pp,*p,i);}【运行结果】pp=1310584,p=1310584*pp=1310588,p=1310588,i=1310588**pp=10,*p=10,i=107.10案例分析与实现使用数组来保存学生的信息的优点是:便于快速、随机地存取数组中的元素。缺点是:数组需要在定义时就指定大小,不够灵活;另外,删除和插入操作时需要移动大量元素。有没有更合理的组织数据的方法呢?这种方法就是链表。7.10.1链表简介链表由若干个结点“链接”而成,每个结点包括两部分:一部分是“数据域”,存储用户数据;另一部分是“指针域”,存储指向下一个结点的指针。链表有一个头指针变量head,它指向第一个结点。链表中各个结点在内存中所占的存储空间不一定是连续的。要访问某个结点,必须从头指针head开始,依次查找。因此,在链表中,头指针是至关重要的。【例7-19】利用链表来保存“学生信息管理系统”中的学生信息,并在此基础上实现数据的添加、显示、修改和删除功能。7.10.2学生信息链表中结点的定义学生信息链表中结点的定义:structstu_node{ charnum[15]; intscore; structstu_node*next;};定义指针变量

文档评论(0)

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

计算机二级持证人

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

领域认证该用户于2024年11月02日上传了计算机二级

1亿VIP精品文档

相关文档