函数用于计算,过程用于操作。
目前成都创新互联已为超过千家的企业提供了网站建设、域名、雅安服务器托管、网站托管、企业网站设计、济阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
一般来说,一个程序在运行中遇到一个函数,即压栈(可暂理解为储存)当前所有状态,并停止运行当前程序,转入运行函数体,此时函数体的运行是在与原程序毫不相干的空间中运行,无论函数怎么运行都不会对原程序造成任何影响,当函数体运行结束时,此函数运行时所开辟的空间也随之消失,原程序将压栈过的数据提取出来,并接受函数的返回值继续运行。
函数必须有返回值么?当然不必,但根据刚才的描述我们知道,函数是靠返回值来影响程序的,没有返回值的函数不会对程序造成任何影响,是没有意义的。
再来说过程,过程是完成对程序的某种操作,这个操作会影响程序的运行,本质上是对计算机硬件的操作。例如,从键盘读数据,将数据输出到屏幕,指针(记录内存地址的变量)操作等
那过程和一条普通的指令有什么区别呢?过程和函数一样都是许多指令的集合,同一种操作可能重复许多次,为了是程序员少做一些重复工作,同时也为了增强代码的可读性,故程序语言中才定义了函数和过程。
老城百姓出品
C源程序是由函数组成的。
C程序是由一组或是变量或是函数的外部对象组的。 函数是一个自我包含的完成一定相关功能的执行代码段。
从函数定义的角度看,函数可分为库函数和用户定义函数两种。
1)库函数
由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函数均属此类。
(2)用户定义函数
由用户按需要写的函数。对于用户自定义函数, 不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。
2. C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。
(1)有返回值函数
此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。如数学函数即属于此类函数。 由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。
(2)无返回值函数
此类函数用于完成某项特定的处理任务, 执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。 由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型”, 空类型的说明符为“void”。
3. 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。
(1)无参函数
函数定义、函数说明及函数调用中均不带参数。 主调函数和被调函数之间不进行参数传送。 此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。
(2)有参函数
也称为带参函数。在函数定义及函数说明时都有参数, 称为形式参数(简称为形参)。在函数调用时也必须给出参数, 称为实际参数(简称为实参)。 进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。
4. C语言提供了极为丰富的库函数, 这些库函数又可从功能角度作以下分类。
(1)字符类型分类函数
用于对字符按ASCII码分类:字母,数字,控制字符,分隔符,大小写字母等。
(2)转换函数
用于字符或字符串的转换;在字符量和各类数字量 (整型, 实型等)之间进行转换;在大、小写之间进行转换。
(3)目录路径函数
用于文件目录和路径操作。
(4)诊断函数
用于内部错误检测。
(5)图形函数
用于屏幕管理和各种图形功能。
(6)输入输出函数
用于完成输入输出功能。
(7)接口函数
用于与DOS,BIOS和硬件的接口。
(8)字符串函数
用于字符串操作和处理。
(9)内存管理函数
用于内存管理。
(10)数学函数
用于数学函数计算。
(11)日期和时间函数
用于日期,时间转换操作。
(12)进程控制函数
用于进程管理和控制。
(13)其它函数
用于其它各种功能。
函数可以避免重复的书写。比如一个运算要在不同的地方多次进行,就不必把这么多行都写一遍,调用一个函数就行了。同时减少不必要的变量。从而使程序大大简化。
库函数就比较高深了,它的好处我现在还没有切实体会到。
就是函数
没什么不同
不过是不同版本翻译方法不一样而已