⑴ 什么是子程序,如何使用子程序呢
子程序(subroutine)是一个概括性的术语,任何高级程序所调用的程序,都被称为子程序。它经常被使用在汇编语言层级上。子程序的主体(body)是一个代码区块,当它被调用时就会进入运行。
一般程序设计语言包含两种基本的抽象:过程抽象和数据抽象。过程抽象有时也称控制抽象。子程序是最主要过程抽象机制。面向对象语言中的方法与子程序的概念十分相似,不同在于它们的调用以及它们与类或对象关联的方式。每个子程序只有一个入口。在执行期间,调用程序单位被停止执行,即任意时刻只有一个子程序在执行子程序执行完毕后,总是将控制返回给调用程序
(1)通用子程序过程用什么表示类型扩展阅读:
子程序的应用
1、零件上若干处具有相同的轮廓形状,在这种情况下,只要编写一个加工该轮廓形状的子程序,然后用主程序多次调用该子程序的方法完成对工件的加工。
2、加工中反复出现具有相同轨迹的走刀路线,如果相同轨迹的走刀路线出现在某个加工区域或在这个区域的各个层面上,采用子程序编写加工程序比较方便,在程序中常用增量值确定切入深度。
3、在加工较复杂的零件时,往往包含许多独立的工序,有时工序之间需要适当的调整,为了优化加工程序,把每一个独立的工序编成一个子程序,这样形成了模块式的程序结构,便于对加工顺序的调整,主程序中只有换刀和调用子程序等指令。
⑵ C语言子程序的定义和调用
1、在C/C++中,没有子程序的说法,而叫做函数。函数可以有返回值,不需要时,可定义为void类型。函数的使用与子程序的用法相同,没有什么特殊之处。
2、例如
.............................................................................
int max(int a, int b) { /* 返回a和b的最大值 */
return (a > b) ? a : b;
}
.............................................................................
int a = 5,b = 8,c = 3;
printf("a,b,c中的最大值是 : %d\n",max(max(a,b),c);
⑶ c语言的子程序有过程和函数两种吗
C语言中没有过程的概念,只有函数。 PASCAL语言中的过程和函数到了C语言中全部都是函数,而过程就是没有返回值的函数。
一个程序开始运行时,运行的是主程序段。之后主程序调用的其他程序段就叫子程序。
C语颂桐言的程序段都是以函数形式存在,所以除了主程序main()以外,其他程序中出现的函数都是子程序。
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语好雀言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年野袜坦代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。
目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
⑷ 3、子程序的RET指令执行时,FAR 类型和 NEAR类型有何差异为什么
子程序名相当于标号,表示本过程的符号地址。
过程有NEAR和FAR两种类型,FAR型的过程可供段间调用,NEAR型过程仅供段内调用。 在一个过程中辩消,至少要有一条返回指升御令RET,它可以书写在过程中的任何位置,但是过程执行的的最后一条指令一定是RET。
子程序在其任务完成后,执行的最后一条汇编指令是RET。根据对该子程序的调用是段内调用还是段间调用,其要实现的操作是不相同的。如果是段内调用,那么RET指令的功能只是把存放在堆栈里的返回地址送IP寄存器;如果是段间调用,那么RET指令的功能就是要把存放在堆栈里的返回地址和段地址,分别送IP寄存器和CS寄存器。因此,RET指令的使用也有多种吵灶岩形式:段内返回、段内带立即数返回、段间返回和段间带立即数返回。