C++学习笔记(4)函数

函数【重点】

1 函数概述

代码中存在对于功能模块重复使用的情况 如果按照基本的cv方式 会导致代码出现以下问题

  • 代码冗余!
  • 代码维护性极差
  • 代码阅读性极差!

2.main 函数推演函数组成

int main (int argc, char * argv [])
{
    //函数体
}
/*  

函数返回值数据类型  函数名 (函数形式参数列表)
{
	函数体
}
returbType functionName(parameterTypes)
{
	function Boyy
}
3.函数分类
3.1 概述
  • 有参数有返回值函数{重点}
  • 无参数有返回值函数
  • 有参数无返回值函数
  • 无参数无返回值函数
3.2 有参数有返回值函数{重点}
3.2.1 需求

完成一个函数 ,提供给函数两个int类型数据函数完成数据之和计算通过返回值告知

3.2.2函数分析
返回值类型 :
    因为是两个int 类型数据相加  最终结果是int 类型
    返回值数据类型为int类型
函数名:
    【见名知意  动宾结构 约定俗成  小驼峰名名法】
形式参数列表:
    提供给函数两个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  y要求用户提供int类型数据
@return  返回数据是int 类型为用户提供参数数据之和

*/
int getSum(int n1, int n2);

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2.5 函数实现和调用
#include <iostream>

using namespace std;
// 当前情况就下函数声明在main函数之前

/** 计算机用户提供两个int
类型数据之和  通过返回值返回


@param n1  要求用户提供int类型数据
@param n1 要求用户提供int类型数据
@return   返回数据 就是int 类型  为用户提供参数数据之和

*/
int getSUn(int n1, int n2);

int main(int argc, char * argv[])
{
    //函数是条狗   哪里实现那里吼
    
    /* 
    1. 必须使用函数名
    2.  必须有小括号、
    3.  函数如果有参数需求 必须提供队形的【实际参数】
    */
    cout <<  "函数调用之前"   << ret  << endl;
    
    /*
    getSum  是函数名称,小括号之中是对应的函数u所需参数的实际参数 所需要为两个int类型  提供的也是两个int类型数据
    
    ret 接受函数的返回值数据
    */
    ret  = get(50,20);
    cout << "函数调用之后"    <<  ret << endl; 
}




// 完成函数实现

int  getSum(int n1, int n2){
    /*return 关键字
    	1. 将return 之后的数据返回到函数调用位置
   				{重点】return 的数据类型必须满足函数声明要求
   				
   		2.函数运行到return, 函数运行终止!
   		*/
   		return  n1+n2;
}
3.2.6 有参数有返回值执行流程

在这里插入图片描述

3.3 无参数有返回值函数
3.3.1 需求

调用函数 函数返回一个整数5

3.3.2 函数分析
返回值数据类型
    返回数据为整数5   返回数据类型为int类型
    
   
    
函数名 :
    【j见名知意  动宾结构  小驼峰命名法】
    giveMeFive
    give_me_five
    以上两个命名方式都可以
    
    
    形式参数列表:
    当前函数没有参数需求  哪怕函数没有参数需求  必须有小括号()
3.3.5 函数实现和调用
#include <iostream>

using namespace std;
/**
调用函数  返回一个整数 5
@return  当前函数返回数据类型为 int  形式  返回整数为5
*/

int main (int argc , char * argvp[])
{
    int ret = 0;
    cout << "Before Function call  ,ret" << ret << endl;
    //函数调用 使用ret 变量接受 函数的返回值数据内容
    //[重点] 无论是 函数是否有参数小括号必须存在  !!
    !!
        ret  = giveMeFive();
    cout <<  "After Funtion call,ret:"<< ret<<endl;
}
int giveFive()
{
    return 5;
}

3.3.6 无参数有返回值函数执行流程

在这里插入图片描述

3.4 有参数无返回值函数执行流程
3.4.1 需求

完成一个函数 在控制台展示用户提供的int类型数据内容

3.4.2 函数分析
返回值类型:
    当前函数没有返回值 在C/C++ 中一个函数没有返回值  
    当前函数郿返回值 ,在C/C++ 中一个函数没有返回值 使用void站位
    
    
    void  关键词站位告知
    
    函数名:
    【见名知意  动宾结构  小驼峰命名法】
    prinIntvalue
    
    
    形式参数列表
    当前函数处理的数据是有用户提供的int类型数据参数为int类型
    
    (int n)
    
3.4.3 函数声明
void prinIntaValue;


3.4.4 文档注释
/**
在控制台展示用户提供的当前函数的int类型

@param n 要求用户提供的int类型数据
*/
void printIntValue(int n);
3.4.5 函数的调用和实现
#include <iostream>
using namespace std;

/**

在控制台 展示用户提供的当前函数的int类型数据

@param n  要求用户提供的int类型数据
*/

void  printInValue(int n);

int main (int argc , char * atgv[])
{
    printInValue(10);
    
    int n = 20;
    
    printInValue(n);
    
    
}
void prinIntValue(int n ){
    cout << "用户提供的int类型数据:"  << n << endl;
}


3.4.6 有参数无返回值函数执行流程

在这里插入图片描述

3.5 无参数无返回值函数
3.5.1 需求

调用函数 在控制台展示hello

3.5.2 函数分析
返回值类型:
    
    当前函数没有数据返回  使用void占位
函数名 : [见名知意   动宾结构   小驼峰命名法]
    
    wantKeyboard
    
形式参数列表:
    当前函数没有的参数需求 , 直接()
3.5.3 函数声明
void wantKeyboard();
3.5.4 文档注释
/**

调用函数在控制台展示Hello

*/
void wantKeyboard;

3.5.5 函数实现和调用
#include <iostream>

using namespace std;
/**
*/
void wantKeyboard();
int main (int argc , char *argv[])
{
    wantKeyboard();
    
}
void wantKeyboard()
{
 cout << "Hello" ;  
}

**

调用函数在控制台展示Hello

*/
void wantKeyboard;


##### 3.5.5 函数实现和调用

```c++
#include <iostream>

using namespace std;
/**
*/
void wantKeyboard();
int main (int argc , char *argv[])
{
    wantKeyboard();
    
}
void wantKeyboard()
{
 cout << "Hello" ;  
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值