站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
子程序
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
'''子程序'''就是能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。其最后一条指令一定是返回指令,故能保证重新返回到调用它的程序中去。也可调用其他子程序,甚至可自身调用(如递归)。在[[计算机科学]]中,子程式是一个大型程式中的某部份程式码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他程式码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被整合为软件库。函数在[[面向过程]]的语言中已经出现。是结构(Struct)和类(Class)的前身。本身就是对具有相关性语句的归类和对某过程的抽象。 ==子程序分类== *子程式(subroutine)是一个概括性的术语,任何高阶程序所呼叫的[[程序]],都被称为子程式。它经常被使用在组合语言层级上。子程式的主体(body)是一个程式码区块,当它被呼叫时就会进入执行。 *函数(function)是一种子程式,利用函数名称,可以接收回传值。例如: {|class="wikitable" border="1" |- |c = max (a,b); |} *程序(procedure)是一种子程式,它能够接受不同的引数,来执行某些特别的动作。例如: {|class="wikitable" boeder="1" |- |printf("Hello World\n") |} 函数与程序在某些[[编程语言]]中是被分开的,但是在[[C语言]]中,所有程序都是函数,这两者被认为是相同的。这有可能造成一些副作用,特别是在回传值是void型别时。在面向对象[[程序设计]]语言中,类别或物件中的子程式,被称为方法(method)。 ==子程序的作用== # 降低复杂性:使用子程序的最首要原因是为了降低[[程序]]的复杂性,可以使用子程序来隐含信息,从而使你不必再考虑这些信息。 # 避免代码段重复:无可置疑,生成子程序最普遍的原因是为了避免代码段重复。 # 限制改动带来的影响:由于在独立区域进行改动,因此,由此带来的影响也只限于一个或最多几个区域中。要把最可能改动的区域设计成最容易改动的区域。最可能被改动的区域包括:硬件依赖部分、输入输出部分、复杂的[[数据]]结构和商务规则。 # 隐含顺序:把处理事件的非特定顺序隐含起来是一个很好的想法。 #改进性能:通过使用子程序,可以只在一个地方,而不是同时几个地方优化代码段。把相 同代码段放在子程序中,可以通过优化这一个子程序而使得其余调用这个子程序的子程序全部 受益。把代码段放入子程序也使得用更快的算法或执行更快的语言(如汇编)来改进这段代码 的工作变得容易些。 #进行集中控制 # 隐含数据结构 # 隐含指针操作 #隐含全局变量 #促进重新使用代码段 #计划开发一个软件族 # 改善某一代码段可读性 #改善可移植性 #分隔复杂操作 #独立非标准语言函数的 # 简化复杂的布尔测试 ==相关词条== *[[语法]] *[[计算机]] *[[程序]] *[[编程语言]] *[[C语言]] ==参考来源== *http://www.hudong.com/wiki/%E5%AD%90%E7%A8%8B%E5%BA%8F&prd=button_doc_jinru *http://baike.baidu.com/view/933538.htm *http://zh.wikipedia.org/wiki/%E5%AD%90%E7%A8%8B%E5%BA%8F *http://hi.baidu.com/1%BD%A3%BB%AF3%C7%E5/blog/item/c43afdf25008dea5a40f5224.html [[category:计算机|Z]] [[category:程序|Z]] [[category:编程语言|Z]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)