在C语言中,以函数首部声明函数的形式称为函数原型。使用函数原型是C语言的一个重要特征,主要作用是利用它在程序的编译阶段对调用函数的合法性进行全面检查。......
2023-11-18
学习要求:掌握函数的定义和调用方法;掌握形参和实参之间的传递关系;熟练掌握局部变量和全局变量的使用;掌握变量的存储类型;理解函数的嵌套调用和递归调用。
主要内容:函数是C语言程序设计中必不可少的部分,是实现程序功能的基本模块。本章介绍了函数的定义和调用、参数的传递及返回值类型、全局变量和局部变量、变量的存储类型,以及函数的嵌套调用和递归调用等。
本章源代码
当一个程序的代码比较少时,我们可以很快记住整个程序的结构。但是实际应用中,许多程序都由成千上万行代码组成。如果开发和维护这种复杂的程序,最好的办法是将整个程序分割为更容易管理的较小程序块(即模块)。C语言的程序模块称为“函数”。
函数本质上是一段可以重复调用的、功能相对独立完整的程序段。引入函数主要有两个目的:
(1)解决代码的重用问题。如果有一个程序段在程序中要出现很多次,每次都写出来会比较烦琐。此时,可以把该程序段定义成一个函数,在使用该程序段的地方直接调用该函数即可。
(2)便于进行结构化、模块化的编程。在日常生活中,人们常将复杂问题分解成若干个比较简单的问题分别求解。程序员在设计一个复杂的应用程序时也一样,他们常把整个程序划分为若干个功能较为单一的程序模块,然后分别予以实现。
在C语言程序设计中,函数是C语言程序的基本组成单位。一个C语言程序可以由一个主函数和若干个其他函数构成。由主函数调用其他函数,其他函数之间也可以互相调用。下面先举一个函数调用的简单例子。
例5.1 用函数square()计算1到10之间所有整数的平方。
运行情况如下:
1 4 9 16 25 36 49 64 81 100(www.chuimin.cn)
说明:
(1)C语言程序的执行从main()函数开始,调用其他函数后再返回到main()函数,在main()函数中结束整个程序的运行。main()函数是系统定义的。
(2)所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main()函数。
(3)从用户使用的角度看,函数有两种:
①标准函数,即库函数。这是由系统提供的,用户不必自己定义这些函数,可以直接使用他们。不同的C语言编译系统提供的库函数是不同的,但有一些基本函数是通用的。
②用户自定义函数。这种函数由用户自行定义,用于完成用户指定的功能。
(4)从函数的形式看,函数分为两类:
①无参函数。在调用无参函数时,主调函数并不将数据传送给被调函数,一般用来执行指定的一组操作,且一般不需要带回函数返回值。
②有参函数。在调用函数时,主调函数和被调函数之间有数据传递,如例5.1中的函数square()就是有参函数(有一个参数y)。
有关C语言程序设计 第2版的文章
在C语言中,以函数首部声明函数的形式称为函数原型。使用函数原型是C语言的一个重要特征,主要作用是利用它在程序的编译阶段对调用函数的合法性进行全面检查。......
2023-11-18
图5.7两层函数嵌套调用示意图函数的嵌套调用即一个函数在被调用的过程中又调用了另外的一个函数。函数fac和powers的返回值类型均被设计为double型,其主要目的是为了避免n!x:0.5//0.5从键盘输入的数据0.50 powers of e=1.648721//程序执行结果......
2023-11-20
在C 语言中,具有一定功能、相对独立的程序段称为函数。无论主函数main()位于程序中的什么位置,程序执行时总是从main()开始。C 语言程序的一般结构如图5.1 所示。它具有以下特点:图5.1C 程序中的函数C 语言允许一个程序由多个源文件组成,每个源文件可以独立编译,一个源文件可以被不同的程序使用。一个C 程序有且仅有一个主函数main,主函数可以放在任何一个源文件中,程序总是从主函数开始执行。......
2023-10-21
一个函数直接或间接地调用自己,称为函数的递归调用。所以函数递归调用的实现必须依靠系统提供一个特殊部件(堆栈)存放未完成的操作,以保证当递归调用结束回溯时不会丢失任何应该执行而没有执行的操作。为了理解函数递归调用的特性,参照例5.9的程序讨论函数递归调用的执行过程,为了讨论方便为程序加上行号。函数递归调用示例。......
2023-11-20
表1.4scanf()附加说明字符注意:“*”符:用以表示该输入项读入后不赋予相应的变量,即跳过该输入值。例1.4输入输出数据类型控制。现将改动程序如下:则运行结果为:input a long integer12345678901234567890当输入数据改为长整型后,输入输出数据相同。......
2023-11-18
在C 语言程序中,是通过对函数的调用来执行函数体,其过程与子程序调用相似。在调用函数时,大多数情况下主调函数和被调函数之间有数据传递。图5.2程序运行结果函数调用在程序中起一个表达式或者语句的作用。在调用函数时,有3 种不同的方式。这就要求该函数必须是有返回值的。getchar 函数调用作为表达式使用,即赋值表达式的右操作。......
2023-10-21
图8.1函数内存映射方式1.指向函数指针变量的定义C语言中可以定义指针变量来存储函数的首地址,并利用该指针变量对函数进行调用。指向函数的指针变量的真正作用是作为函数参数使用,使程序在功能的实现上具有更大的灵活性。指向函数的指针变量求最大值、最小值和两数之和。......
2023-11-20
库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。考虑到通用性,只从教学需要的角度列出最基本的ANSI C建议的常用库函数。......
2023-11-18
相关推荐