【C语言入门教程】5.1 函数说明 与 返回值
C 语言是结构化语言,它的主要结构成分是函数。函数被作为一种构件,用以完成程序中的某个具体功能。函数允许一个程序的各个任务被分别定义和编码,使程序模块化。本章介绍 C 语言函数的设计,如何用函数分解程序的各个功能,如何使用函数构成模块化程序,以及代码复用的基本思想。
5.1 函数说明 与 返回值
函数的一般形式如下:
类型说明符 函数名(参数表)
参数说明段
{
函数体
}
5.1.1 函数的类型说明
函数的类型说明符可以是任何数据类型,包括空值型 void,即不使用 return 语句返回任何数据。默认情况下,函数被自动说明为整型。函数必须在第一调用前定义,这样编译器才能找到该函数。前置函数类型说明被称为 函数原型。
#include <stdio.h> #include <stdlib.h> #define PI 3.141593 float cylinder_area(float, float); // 函数的类型说明,函数原型 int main() { float r, h, s; // r圆半径,h高,s面积 puts("请输入圆柱的半径和高:"); if (scanf("%f,%f", &r, &h) == 2) { s = cylinder_area(r, h); // 调用函数 cylinder_area(),返回值到变量s printf("\n该圆柱体的表面积为:%f\n", s); } else { puts("您输入的数据格式不合法!"); } return EXIT_SUCCESS; } float cylinder_area(float r, float h) { float cd_area; cd_area = 2 * (PI * r * r) + (2 * PI * r * h); return cd_area; }
设计函数时需要注意数据类型的匹配关系,函数的类型说明符必须与 return 语句返回的数据类型相同,函数的参数说明必须与参数的数据类型相同,否则会造成编译错误。
5.1.2 返回语句
函数的返回语句 return 有 2 个作用:其一,结束当前函数,调用者获得程序控制权;其二,将计算结果传递给调用者。
函数的结束有 2 种情况,一是函数体内所有的代码执行完毕,二是 return 语句被执行。