C语言,第1张

C语言,第2张

在学习C语言函数之前,我们需要知道什么是模块化编程方法。

人们在解决一个复杂的问题时,通常采用分步分解、分而治之的方法,即把一个大问题分解成几个更容易解决的小问题,然后分别解决。程序员在设计一个复杂的应用程序时,往往会把整个程序分成几个功能相对单一的程序模块,然后分别实现,最后像搭积木一样把所有的程序模块组装起来。程序设计中的这种分而治之的策略叫做模块化编程方法。

在C语言中,函数是程序的基本单位,用函数作为程序模块来实现C语言程序是很方便的。

通过使用函数,不仅可以使程序模块化,程序设计简单直观,提高程序的可读性和可维护性,而且可以将程序中一些常用的计算或操作编译成通用函数随时调用,可以大大减少程序员的代码工作量。

函数是C语言的基本组成部分,是所有程序活动的舞台。该函数的一般形式为:

类型说明符function_name(参数列表)

参数声明

{

函数体

}

类型说明符定义函数中return语句的返回值的类型,可以是任何有效类型。如果没有出现类型说明符,函数将返回一个整数值。参数表是一个逗号分隔的变量列表,当调用函数时,这些变量接收调用参数的值。函数可以没有参数,这种情况下函数表是空。但是即使没有参数,括号仍然是必要的。参数描述部分定义了参数的类型。

当一个函数的类型没有明确说明时,C语言的编译器自动将integer (i n t)作为这个函数的默认类型,默认类型适用于大量的函数。当需要返回其他类型的数据时,需要分两步处理:

首先,必须给函数一个显式的类型描述符;其次,函数类型的描述必须在第一次调用它之前。只有这样,C编译器才能为返回非整数值的函数生成正确的代码。

功能类型的描述

该函数可以描述为返回任何合法的C语言数据类型。

类型说明符告诉编译器它返回什么类型的数据。这些信息对于程序的正确运行非常重要,因为不同的数据有不同的长度和内部表示。

在使用返回非整数数据的函数之前,必须向程序的其余部分解释其类型。如果不这样做,C语言的编译器会认为该函数是返回整数数据的函数,调用点会在函数类型描述之前,编译器会为调用生成一个错误代码。为了防止上述问题,必须使用一个特殊的语句来通知编译器这个函数返回什么值。下面的示例说明了这种方法。

第一个函数的类型描述sum()函数返回浮点数据。这种描述使编译器能够为sum()的调用生成正确的代码。

函数类型语句的一般形式是:

type _ specifier function _ name(;)

即使函数使用了形参,也不要写在解释性语句中。如果不使用type语句,函数返回的数据类型可能与调用者的要求不一致,结果不可预测。如果两者都在同一个文件中,编译器可以找到错误并停止编译。如果它不在同一个文件中,编译器就不会发现这个错误。类型检查只在编译期间进行,链接和运行时检查都不进行。因此,必须非常小心,以确保上述错误永远不会发生。

当描述为整数的函数返回字符时,字符值被转换为整数。因为C语言在字符型和整型之间转换数据是不需要解释的,所以大多数情况下,返回字符值的函数并不解释为返回字符值,而是通过默认的字符型到整型的类型转换来隐式实现。

4.1.2退货声明

语句r e t u r n有两个重要的目的。首先,它使包含它的函数立即退出,即它使程序返回调用语句继续。其次,它可以用来返回一个数值。本章将解释这两个目的。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情