【基础】函数的声明&返回值

以加减乘除运算为例

/*
函数的一般形式: 
类型标示符 函数名(形式参数,形式参数...){
    函数体 
} 
类型表示符 为 该函数返回值的类型
不返回任何值的函数,返回值类型可以用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

                                      水汐音

posted @ 2018-02-19 16:31  水汐音  阅读(907)  评论(0编辑  收藏  举报