函数【重点】
1.函数概述
代码中存在对于功能模块重复使用的情况,如果按照基本的cv方式,会导致代码出现一下问题
- 代码冗余
- 代码维护性极差!
- 代码阅读性极差!
2. main 函数推演函数组成
int main (int argc , char * argv [])
{
// 函数体
}
/*
函数返回值数据类型 函数值(函数形式参数列表)
{
函数体
}
returnType functionName(parameterTppes)
{
function Body
}
*/
3. 函数分类
3.1 概述
- 有参数无返回值函数【重点】
- 无参数有返回值函数
- 有参数无返回值函数
- 无参数无返回值函数
3.2.2 函数分析
返回值类型:
因为是两个int 类型的数据相加, 最终结构也是int 类型,返回值数据类型为int类型!
函数名:
【见名知意,动宾结构,约定俗成,小驼峰命名法】
getSum
形式参数列表:
提供给函数两个int 类型数据 需要原话!
函数执行所需的参数为两个int 类型数据,格式要求
1.存在小括号!
2. 一个参数对应的一个定义要求
(int n1 , int n2 )
告诉调用者,当前函数执行需要两个int类型参数
3.2.3 函数声明
int getSum(int n1 , int n2);
3.2.4文档注释
/**
计算用户提供的两个 int 类型数据之和, 通过返回值返回。
@param n1 要求用户提供int 数据类型
@param n2 要求用户提供 int类型数据
@return 返回数据是 int ;类型数据为用户提供参数数据之和
*/
int getSum(int n1 , int n2);
3.2.5 函数实现和调用
#include <iostream>
using namespace std;
//当前情况下函数声明在mian函数之前
/**
计算用户提供的两个int 类型数据之和,通过返回值返回
@param n1 要求用户提供 int 数据类型
@param n2 要求用户提供 int 数据类型
@return 返回数据 int 类型,为用户提供数据类型之和
*/
int getSum(int n1 , int n2 );
int main (int argc , char * argv [])
{
int ret = 0;
cout << "函数调用之前:" << ret << endl;
ret = getSum(50,20)
cout << "函数调用之后:" << ret << endl;
}
int getSum(int n1 ,int n2)
{
/*
return 关键字
1.将return 之后的数据返回到函数调用位置
2.函数运行到 return, 函数运行结束!
*/
return n1 + n2;
}
3.3有参数有返回值执行流程
3.3.1 需求
完成一个函数,在控制台展示用户提供的int类型数据内容。
3.3.2 函数分析
返回值类型:
当前函数仅将用户提供的数据进行控制台展示,没有数据返回!
当前函数没有返回值,在c/c++中一个函数没有返回值,使用void 关键字站位告知。
函数名:
【见名知意,动宾结构,小驼峰命名法】
printIntValue
形式参数列表:
当前函数处理的数据是由用户提供的int 类型数据,参数为 int 类型
(int n)
3.3.3 函数声明
void printIntValue(int n );
3.3.4 文档注释
/**
在控制台展示用户提供当前函数的 int 类型数据
@param n 要求用户提供的 int 类型数据
*/
void printIntValue( int n);
3.3.5 函数实现和调用
#include <iostream>
using namespace std;
/**
调用函数,返回一个整数5
@return 当前函数返回值类型数据为 int 类型,返回整数 5
*/
int giveMeFive();
void main(int argc , char argv [])
{
int ret = 0 ;
// 函数调用,使用ret 变量接收函数的返回值数据内容
// [重点] 无论函数是否有参数,小括号必须存在!!! 函数的标记!!!
cout << "Before Funation call ,ret:" << ret << endl ;
}
int giveMeFive()
{
//函数实现
return 5 ;
}
3.4有参数无返回值函数执行流程
3.4.1 需求
完成一个函数,在控制台展示用户提供的int 类型数据内容。
3.4.2 函数分析
返回值类型:
当前函仅将用户提供的数据进行数据台展示,没有数据返回!
当前函数没有返回值,在C/C++ 中一个函数没有返回值,使用 void 关键字站位告知。
函数名:
【见名知意, 动宾结构,小驼峰命名法】
printIntValue
形式参数列表:
当前函数处理的数据是由用户提供的 int 类型参数, 参数为int 类型(int n)
3.4.3 函数声明
void printIntValue(int n);
3.4.4 文档注释
/**
在控制台展示用户提供给当前函数的 int 类型数据
@param n 要求用户提供的int数据类型
*/
void printIntValue(int n );
3.4.5 函数实现和调用
#include <iostream>
using namespace std;
/**
在控制台展示用户提供当前数据的int 类型数据
@param n 要求用户提供的int 类型数据
*/
void printIntValue(int n);
int main (int argc , char * argv [])
{
printIntVlaue(10);
int n =20;
printIntValue(n);
}
viod printIntValue(int n )
{
cout << "用户提供的int类型数据" << n << endl;
}
3.5 无参数无返回值函数
3.5.1需要
调用函数,在控制展示 hello ,world
3.5.2函数分析
返回值类型:
当前函数没有数据返回,使用void占位
函数名:
【见名知意,动宾结构,小驼峰命名法】
wantmyphone
形式参数列表:
当前函数没有参数需要,直接()
3.5.3 函数声明
void wantmyphone();
3.5.4 文档注释
viod wantmyphone();
3.5.5 函数实现和调用
#include <iostream>
using namespace std;
/**
调用函数在控制台展示 wantmyphone
*/
void wantmyphone();
int main(int argc, char * argv[])
{
wantmyphone();
}
void wantmyphone()
{
cout << "" << endl;
}