zoukankan      html  css  js  c++  java
  • 1207.1——C语言 函数

    函数可以分为无参函数和有参函数。

    无参函数的定义

    无参函数定义的一般形式如下:
    返回值类型  函数名(){
        函数体
    }

    说明:

    • 返回值类型可以是C语言中的任意数据类型。
    • 函数名是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。
    • 函数体是函数需要执行的代码。即使只有一个语句,也要由{ }包围。
    • 在函数体中使用return语句返回数据。


    例如,定义一个函数,计算1加到100的结果:

    int sum(){
        int i, sum=0;
        for(i=1; i<=100; i++){
            sum+=i;
        }
        return sum;
    }

    计算结果保存在变量sum中,通过return语句返回。sum为int型,所以返回值类型也必须为int,要一一对应。

    return是C语言中的一个关键字,只能用在函数中,用来返回处理结果。

    将上面的代码补充完整:

    #include <stdio.h>
    
    int sum(){
        int i, sum=0;
        for(i=1; i<=100; i++){
            sum+=i;
        }
        return sum;
    }
    
    int main()
    {
        int a = sum();
        printf("The sum is %d
    ", a);
        return 0;
    }

    运行结果:
    The sum is 5050

    函数不能嵌套定义,main 也是一个函数定义,要将 sum 放在 main 外面。函数必须先定义后使用,所以 sum 只能在 main 前面。

    注意:main 是函数定义,不是函数调用。当可执行文件加载到内存后,系统从 main 函数开始执行,也就是说,系统会调用我们定义的 main 函数。

    无返回值函数

    有的函数不需要有返回值,或者返回值类型不确定(很少见),那么用void表示,例如:

    void hello(){
        printf ("Hello,world 
    ");
        //没有返回值就不需要 return 语句
    }

    void是C语言中的一个关键字,表示空类型或无类型,绝大部分情况下也就意味着没有 return 语句。

    有参函数的定义

    有参函数定义的一般形式如下:
    返回值类型  函数名(参数列表){
        函数体
    }

    与无参函数相比,有参函数的定义多了“参数列表”。

    定义一个函数求两个数中的最大值:

    int max(int a, int b){
        if (a>b){
            return a;
        }else{
            return b;
        }
    }

    参数列表可以是各种类型的变量,要指明数据类型和变量名称;各个参数之间用逗号,分隔。参数列表中给出的变量可以在函数体中使用。

    函数定义时给出的参数称为形式参数,简称形参;函数调用时给出的参数称为实际参数,简称实参。函数调用时,将实参的值传递给形参,相当于一次赋值操作。注意:实参和形参的类型、数目必须一致。

    将上面的代码补充完整:

    #include <stdio.h>
    
    int max(int a, int b){
        if (a>b){
            return a;
        }else{
            return b;
        }
    }
    
    int main(){
        int num1, num2, maxVal;
        printf("Input two numbers: ");
        scanf("%d %d", &num1, &num2);
        maxVal = max(num1, num2);
        printf("The max number: %d
    ", maxVal);
    
        return 0;
    }

    运行结果:
    Input two numbers: 100 200
    The max number: 200

    定义max时,变量a、b的值都是未知的;调用max时,分别将num1、num2的值传递给a、b,类似于:

    a=num1;
    b=num2;

    return 语句可以有多个,可以在函数体的任意位置;在max中,根据 if 的判断结果来执行不同的 return 语句。

  • 相关阅读:
    业余草 SpringCloud教程 | 第十一篇: 断路器监控(Hystrix Dashboard)(Finchley版本)
    业余草 SpringCloud教程 | 第十篇: 高可用的服务注册中心(Finchley版本)
    业余草 SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)
    业余草 SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
    业余草 SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)
    POJ2135 Farm Tour
    POJ1149 PIGS
    POJ3041 Asteroids
    2020.7.4模拟 数据结构 (ds)
    2020.7.4模拟 浇花 (flower)
  • 原文地址:https://www.cnblogs.com/damonWq/p/5027393.html
Copyright © 2011-2022 走看看