C++ 学习笔记 (10)—— 函数

1、概述:

作用:

将一段经常使用的代码封装起来,减少重复代码 一个较大的程序,一般分为2若干个程序块,每个模块实现特定的功能

2、函数的定义

函数的定义一般主要有5个步骤:

1.返回类型

2.函数名

3.参数列表

4.函数体语句

5.return 表达式

语法:

返回类型  函数名 (.参数列表) {函数体语句 return 表达式}

 

 

返回值类型 :

一个函数可以返回一个值。在函数定义中

函数名 :

给函数起一个名字

参数列表 :

使用该函数时,传入的数据

函数体语句:

花括号内的代码,函数内需要执行的语句

return表达式:

和返回值类型挂钩,函数执行完后,返回相应的数据

 

eg:

#include <iostream>

using namespace std;

int add(int num1, int num2);

int main()

{

cout << "函数练习:" << endl;

//1.返回类型

//2.函数名

//3.参数列表

//4.函数体

//5.return 表达式

//返回类型 函数名 参数列表 {函数语句 return 表达式}

//返回两个数相加的和

int num = add(40, 50);

cout << "两个数相加的和是:"<< num << endl;

system"pause";

return 0;

}

int add(int num1, int num2)

{

int num3 = num1 + num2; return num3;

}

 

3、函数的调用

功能:

使用定义好的函数

语法:函数名(参数)

 

 

#include <iostream>

using namespace std;

//定义加法函数

//函数定义的时候,num1和num2并没有真实的数据

//她只是一个形式上的参数,简称形参

int add1(int num1, int num2)

{

int sum = num1 + num2;

return sum;

}

int main()

{

cout << "函数的调用练习:"<< endl;

//main函数中调用add函数

int a = 10;

int b = 20;

//函数调用语法,函数名称(参数)

//a和b称为 实际参数 ,简称实参

//当调用的时候,实参的值会传递给形参

int c = add1(a, b);

cout << "c = "<< c << endl;

a = 500;

b = 100;

c= add1(a, b);

cout << "c = "<< c << endl;

system("pause");

return 0;

}

 

4、值传递 所谓值传递:

就是函数调用时实参将参数传入给形参

值传递时:

如果形参发生变化,并不影响实参

 

eg:

#include <iostream>

using namespace std;

//交换两个数的值的函数

void swap(int num1, int num2)

{

cout <<"交换前:" << endl;

cout << "num1 = " << num1 << endl;

cout << "num2 = " << num2 << endl;

cout << "交换后:" << endl;

cout << "num1 = "<< num1 << endl;

cout << "num2 = " << num2 << endl;

}

int main()

{

cout <<"函数值传递练习:" << endl;

int a = 89;

int b = 71;

swap(a, b);

cout << "a = "<< a << endl;

cout <<"b = " << b << endl;

system("pause”);

return 0;

}

 

注:当值传递时,形参是修饰不了实参的

 

5、函数的常见样式 常见的函数样式有4种:

1.无参无返回

2.有参无返

3.无参有返

4.有参有返

 

eg:

#include <iostream>

using namespace std;

//1.无参无返

void test01()

{

cout << “this is test01.”<< endl;

}

//2.无参有返

int test02()

{

cout << “this is test02.” << endl;

return 1000;

}

//3.有参无返

void test03(int a)

{

cout <<“this is test03 a = ” << a << endl;

}

//4.有参有返

int test04(int a)

{

cout << “this is test04.”<< endl;

return a;

}

int main()

{

cout <<“函数常见样式练习:”<< endl;

//1.无参无返

test01();

//2.无参有返

int a =test02();

cout << “a = ” << a << endl;

//3.有参无返

test03(10);

//4.有参有返

int b = test04(45);

cout <<“b =” << b << endl;

system(“pause”);

return 0;

}

 

6、函数的声明

作用:

告诉编译器函数名称及如何调用函数,函数的实际主体可以单独定义、 函数的声明可以有多次,但是函数的定义只能由一次

 

eg:

#include <iostream>

using namespace std;

//函数的声明

//比较函数,实现两个整型数字进行比较,返回最大的值

//函数的声明

int max(int a, int b);

int main()

{

cout << “函数的声明练习:” << endl;

cout << max(10,2 )<<endl;

system(“pause”);

return 0;

}

//函数的定义

int max(int a, int b)

{

return a > b ? a : b;

}

 

7、函数的分文件编写

作用:

让代码结构更加清晰 函数分文件编写一般有4个步骤:

1.创建后缀名为.h的头文件

2.创建后缀名为.cpp的源文件

3.在头文件中写函数的声明

4.在源文件中写函数的定义

eg:

.h

#pragma once

#ifndef __函数的分文件编写_H

#define __函数的分文件编写_H

int max1(int a, int b);

#endif //__函数的分文件编写_.H

 

.cpp

#include &quot;06函数的分文件编写.h&quot;

int max1(int a, int b)

{

return a > b ? a : b;

}

 

main程序

#include <iostream>

#include“06函数的分文件编写.h”

using namespace std;

//1.创建后缀名为.h的头文件

//2.创建后缀名为.cpp的源文件

//3.头文件写函数声明

//4.在源文件中写函数的定义

int main()

{

cout << “函数的分文件练习:” << endl;

cout << max1(12, 25)<<endl;

system(“pause”);

return 0;

}

 

posted @ 2022-04-11 13:51  雾枫  阅读(49)  评论(0编辑  收藏  举报