zoukankan      html  css  js  c++  java
  • 【基础】函数的声明&返回值

    以加减乘除运算为例

    /*
    函数的一般形式: 
    类型标示符 函数名(形式参数,形式参数...){
        函数体 
    } 
    类型表示符 为 该函数返回值的类型
    不返回任何值的函数,返回值类型可以用void表示
    
    void 函数名(){
        
    }
    */
    
    /*
    函数的声明及调用:
    
    引用空间; 
    
    函数名(形式参数,形式参数...);//声明函数 
    
    主函数(){
        函数名(实际参数,实际参数...);//在主函数中调用函数 
    } 
    
    函数名(形式参数,形式参数...) {
        函数体 
    }//声明函数 
    
    函数声明时可以省略变量名 
    int Demo(int, int, double) 
    
    函数的参数的声明顺序:
    左边声明无默认值的参数,右边声明有默认值的参数,
    有默认值的参数只能在无默认值参数的右边 
    */
    
    //有的函数可变参数,比如 printf 函数 
    
    /*
    return & 函数的返回值
    
    return 表达式;
    返回与函数类型标识符相同的值给函数
    当返回的值与函数类型标识符的类型不符时,返回的值
    会被强制转换为函数类型标识符的类型
    
    
    int division(int a, int b){
        int c;
        c = a / b;
        return c;//将c的值返回给函数,若 c 的类型
        不是 int 型的话会被强制转换为 int 型
    
    retun 后也可以不加表达式,用以立即结束当前函数
    就像循环的 break 一样
    }
    */
    
    #include <iostream>
    using namespace std;
    
    void sum(int a, int b); 
    void m(int a, int b = 2);//设置形式参数的默认值,默认值的参数不能出现在无默认值参数的左边 
    void mult(int, int);//省略变量名的形参 
    int division(int a, int b);
    
    int main(){
        int a, b;
        char sign;
        
        cin >> a >> sign >> b; 
        
        switch (sign){
            case '+':
                sum(a,b);
                break;
            
            case '-':
                m(a,b);
                break;
            
            case '*':
                mult(a,b);
                break;
            
            case '/':
                division(a,b);
                cout << "function value:" << division(a,b) << endl;
                break;
        }
        
        return 0;
    }
    
    void sum(int a, int b){
        int c;
        c = a + b;
        cout << c << endl;
    }
    
    void m(int a, int b){
        int c;
        c = a - b;
        cout << c << endl;
    }
    
    void mult(int a, int b){
        int c;
        c = a * b;
        cout << c << endl;
    }
    
    int division(int a, int b){
        int c;
        c = a / b;
        return c;//将c的值
        cout << "c value:" << c << endl;
    }

    个人理解:

    函数就像一个模板,里面有需要用到的操作,要用时按约定填入数据就好了

    就像一元二次计算器

    把一元二次计算器当成我们定义好的函数,那么

    三个空白的框就是三个形式参数(形参)

    按约定在三个空白处填数字就是把函数实例化,

    我们填的三个函数就是实际参数(实参)

    如果这个计算一元二次方程的函数有返回值的话,那么

    计算出来的结果就是函数的返回值

    Of course,按我们现在学到的,只能暂时性认为一个函数只能有一个返回

    (毕竟我们只有条件判断、循环语句以及这里的知识,苦笑)

    按照函数的作用

    我们在程序里有很多要计算一元二次函数的地方,

    所以写了个一元二次计算的函数出来,可以代码重用,提高效率

    而不是每解一个方程就从头写一次解方程的代码,

    大大提高了效率

    这次举例用的代码不怎么样。。。

    凑合着看吧

     --for future me

                                        2018-02-19

                                          水汐音

  • 相关阅读:
    Docker Swarm(十)Portainer 集群可视化管理
    Docker Swarm(九)资源限制
    Docker Swarm(八)滚动更新、回滚服务
    Docker Swarm(七)Scale 扩(缩)容服务
    Docker Swarm(六)Label 节点标签与服务约束
    Docker Swarm(五)Config 配置管理
    select样式调整
    在VS2008和VS2010中禁用Visual Assist X
    解决IE与FF 中 input focus 光标移动在最后的方案
    Office Web APP预览如何去掉顶部版权标志“Microsoft Office Web Apps”
  • 原文地址:https://www.cnblogs.com/syxy/p/8453906.html
Copyright © 2011-2022 走看看