从头开始学C语言第三十二天——函数

函数可以定义为完成特定功能的模块,函数程序代码独立,通常要求要有返回值,也就是return,也可以返回空值0

主要函数分为三类:

主函数也就是main函数

库函数,包括用过的scanf,printf,strlen,strcpy等包含在stdio.h,string.h等库中

自定义函数,程序员自己定义的函数模块

一般形式:
<数据类型> <函数名称> (<形式参数>)

{

        语句序列;

        return[(<表达式>)];

}

数据类型是整个函数返回值的类型

return语句表达式的值要和函数的数据类那一致,如没有返回值数据类型应该写void类型

形式参数的说明用逗号“,”隔开,用于多个变量的说明(形式参数后面统称形参)

语句序列也称为函数体,由大于等于零个语句构成

函数的说明指函数原型,一般叫做声明

形参说明可以省略说明的变量名称,但不能缺少数据类型

int SUM(double a, int c);

void power(float,int);

函数使用也叫函数调用,形式:

函数名称(实际参数)(后续统称实参)

实参是在调用函数时,传递给调用函数的数据,并且必须是确切的数据

函数调用可以作为一个运算量出现在表达式,也可以是一个单独的语句,对于无返回值的函数只能形成一个函数调用语句。

无参函数调用

#include

void PUT()
{
    printf("HELLO WORLD");
}

int main()
{
    printf("start\n");
    PUT();
    return 0;
}

 运行代码我们会看到程序先输出的是start,再输出HELLO WORLD,说明程序执行的是main函数的内容,而且是从上至下依次运行。

带参函数调用

定义求x^n的函数(x为实数,n为正整数)

#include

double power(double x,int n)
{
    float Res=1;
    int i;
    for(i=0;i
#include

double power(double ,int );//函数声明

int main()
{
    float a;
    int b;
    float res;
    scanf("%f %d",&a,&b);

    res = power(a,b);
    printf("%f",res);

    return 0;
}

double power(double x,int n)//函数定义
{
    float Res=1;
    int i;
    for(i=0;i

函数在主函数调用前面定义,那么不需要进行声明。

但是如果函数在主函数后面调用再定义,那么需要先进行声明

double power(double,int);

你可能感兴趣的:(c语言)