第7章 自定义函数.

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

因数与倍数 2 、 5 的倍数的特征
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
第8章 函数 信息管理系.
——奧科特公開及內部培訓 系列課程(三)之十一
Oracle数据库 Oracle 子程序.
第四节 对数留数与辐角原理 一、对数留数 二、辐角原理 三、路西定理 四、小结与思考.
经 络 学.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
【PHP程式設計】 實作一:計算BMI.
4.3函数 4.3.1函数的概念及定义 1、函数的概念: 可以被其它程序调用具有 特定功能的一段相对独立的 程序(模块),称函数。
授课老师:龚涛 信息科学与技术学院 2017年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C语言程序设计基础 刘新国.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
第7章 函 数 本章要点: C语言程序结构和特点 函数的定义 函数的返回值与函数的类型 函数的调用及参数的传递关系 函数的嵌套与递归
《C++程序设计》 主讲教师:张玉宏.
管理信息结构SMI.
实践演练 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
第17章 网站发布.
第二章 Java语言基础.
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
2.1.2 空间中直线与直线 之间的位置关系.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第一章 函数与极限.
第4章 PHP流程控制语句.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
专题作业.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
Drupal Dev 我想知道:什么时候、什么变化.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
分裂对象模型 C++ otcl.
目录 7.1 用户自定义函数的种类 7.2 函数的定义 7.3 被调函数的声明 7.4 函数的调用 7.5 函数的嵌套调用
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
第五章 函 数 要点:掌握函数的定义,函数的原形,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握函数重载的使用方法,关键字inline的含义与使用,掌握变量的作用域与生存期,了解函数的作用域。
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
第二章 高级函数特性.
第7章 模板 陈哲 副教授 南京航空航天大学 计算机科学与技术学院.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
WEB程序设计技术 数据库操作.
第四章 UNIX文件系统.
第十七讲 密码执行(1).
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
顺序结构程序设计 ——关于“字符串”和数值.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
本节内容 this指针 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
学习目标 1、什么是列类型 2、列类型之数值类型.
计算机编程 信息管理与工程学院 2014年9月.
Presentation transcript:

第7章 自定义函数

7.1 重复使用代码 7.1.1 为什么要重新使用代码 代价。在一个软件的使用过程中,相当多的时间是用在维护、个性测试和文档记录上,而不是最初的编码上。如果编写商业代码,就应该尽量限制结构中所用到的代码行数。 可靠性。使用现在的成熟的代码通常比新加入的代码更可靠。 一致性。如果重复使用运行在系统其他部分的代码,所实现的功能会达到一致。

7.1.2 使用require()和include() (3)PHP标记和require() (4)使用include() 7.1.3 制作Web站点的模版

7.2 在PHP中使用函数 7.3 自定义函数 7.2.1 调用函数 7.2.2 字母大小写和函数名

7.3.2 函数结构 (1)声明从关键字function开始 (2)函数名和必要的参数 (3)要执行的代码 (4)作用域 (5)参数的引用调用和值调用 (6)从函数中返回 (7)从函数返回值 (8)递归

函数声明: 函数声明从关键字function开始的,接下来给出函数名和必要的参数,然后给出每次调用这个函数时要执行的代码。例如: function my_function() { echo “调用自己定义的函数。”; }

函数名和必要的参数: 在给函数命名的时候,最重要的就是函数的名字要短小但又要有描述性。命名有几个限制: (1)函数的名字不能和已存在的函数重名。 (2)函数的名字只能包含字母、数字和下划线。 (3)函数名字不能用数字开始。 参数允许将数据传给函数,用户定义函数可以有多个参数和可选参数。如果参数已经定义了默认值,那么它就是可选的参数。

作用域: 在函数内部声明的变量作用域是从声明它们的那条命令开始到函数末尾。这叫做函数作用域。这些变量称为局部变量。 在函数外部声明的变量的作用域是从声明它们的那条命令开始到文件末尾,而不是函数内部。这叫做全局作用域。这些变量称为全局变量。 使用require()和include()不影响作用域 关键字global可以手工指定一个在函数中定义或使用的变量具有全局作用域。 程序举例

<?php $a = 1; $b = 2; Function Sum () { global $a, $b; $b = $a + $b; } Sum (); echo $b; ?> <?php Function Test () { $a = 10; echo $a; $a++; } Test( ); echo "<br>"; ?> <?php $a = 1; $b = 2; Function Sum () { $a=3; $b=5; $b = $a + $b; echo $b; } Sum (); echo "<br>"; ?> 程序1 程序2 程序3

参数的引用调用和值调用: function increment($value, $amount=1) { $value=$value+$amount; } 下面测试代码的输出结果将还是“10”。 $a=10; increment($a); echo $a; 原因: 这要归因于作用域规则,克服这个问题的一个办法是将函数内的$value声明为全局变量,这意味着为了用这个函数,要进行增量运算的变量需要被命名为$value。

更好的办法是用引用调用。在参数被传递给函数的时候,不是创建一个新的变量,而是收到一个原来变量的引用。任何对引用的修改都会影响原来的变量。通过在函数定义的参数名前加一个地址符(&)来指定参数的引用调用。在函数调用处不用修改。 function increment(&$value, $amount=1) { $value=$value+$amount; } $a=10; increment($a); echo $a; // 变量$a的值是11

从函数中返回: 关键字return终止函数的执行。一个函数结束是因为要么所有的命令都执行完了,要么就是用了关键字return。函数结束后,程序返回到调用函数的下一条命令。 function test_return() { echo “这条语句会被执行”; return; echo “这条语句永远都不会被执行”; }

通常,只是想根据条件响应从函数的中间返回。一个错误的条件通常是使用return命令在到达函数末尾前就终止执行的原因。例如,在两个数中间比较大小,其中的一个数丢失了可能就想退出。 function larger($x,$y) {if(!isset($x)||!isset($y)) {echo “这个函数需要两个参数”; return;} if($x>=$y) echo $x; else echo $y;}

从函数返回值: 想从函数中退出不是使用return的惟一理由。许多函数用return命令同调用它们的代码交流信息。 function larger($x,$y) {if(!isset($x)||!isset($y)) return false; if($x>=$y) return $x; else return $y;} 这里返回了传入的两个参数中较大的那个。在出错的情况下,返回一个逻辑值false。

递归: PHP支持递归函数,递归函数就是自己调用自己。 function reverse_r($str) { if(strlen($str)>0) reverse_r(substr($str,1)); echo substr($str,0,1); return; } function reverse_i($str) { for($i=1;$i<=strlen($str);$i++) { echo substr($str,-$i,1); } return; }

总结与思考 1、为什么要重复使用代码和编写函数。 2、函数如何定义。 3、函数的作用域和返回值。