最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中的函數(shù)你真的理解了嗎

 更新時(shí)間:2022年02月15日 15:17:19   作者:沒有省略號(hào)  
這篇文章主要為大家詳細(xì)介紹了C++中的函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

1 概述

作用:將一段經(jīng)常使用的代碼進(jìn)行封裝起來,減少重復(fù)代碼。

一個(gè)較大的程序,一般分為若干個(gè)程序塊,每個(gè)模塊實(shí)現(xiàn)特定的功能。

2 函數(shù)的定義及調(diào)用

函數(shù)的定義一般主要有5個(gè)步驟:

1、返回值類型:一個(gè)函數(shù)可以返回一個(gè)值,需要知道這個(gè)值的類型。

2、函數(shù)名:給函數(shù)起個(gè)名字。

3、參數(shù)表列:使用該函數(shù)時(shí),傳入的數(shù)據(jù)。

4、函數(shù)體語句:花括號(hào)內(nèi)的代碼,函數(shù)內(nèi)需要執(zhí)行的語句。

5、return 表達(dá)式:和返回值類型掛鉤,函數(shù)執(zhí)行完后,返回相應(yīng)的數(shù)據(jù)。

定義語法

返回值類型 函數(shù)名(參數(shù)列表)
{
	函數(shù)體語句;
	
	return表達(dá)式;
}

調(diào)用語法

函數(shù)名(參數(shù))

示例:

#include<iostream>
using namespace std;

//返回值類型 函數(shù)名 (參數(shù)列表){ 函數(shù)體語句 ; return表達(dá)式;}

//定義一個(gè)兩整型數(shù)相加的函數(shù)
int add(int num1, int num2)//num1和num2并沒有真實(shí)數(shù)據(jù),只是一個(gè)形式上的參數(shù),簡稱形參
{
	int sum = num1 + num2;
	return sum;
}

int main()
{	//main函數(shù)中調(diào)用add函數(shù)
	int a = 3, b = 4;
	
	//函數(shù)調(diào)用語法:函數(shù)名稱(參數(shù))
	int c = add(a, b); //a和b是真實(shí)的數(shù)據(jù),稱為實(shí)際參數(shù),簡稱實(shí)參
	cout << c << endl;

	system("pause");
	return 0;
}

3 值傳遞

  • 所謂值傳遞,就是函數(shù)調(diào)用時(shí)實(shí)參將數(shù)值傳入給形參。
  • 值傳遞時(shí),如果形參發(fā)生任何改變,并不會(huì)影響實(shí)參。
#include<iostream>
using namespace std;

//定義一個(gè)交換數(shù)字的函數(shù)
//因?yàn)楹瘮?shù)沒有返回值,所以可以定義函數(shù)類型為void-無類型。
void swap(int num1,int num2)
{
	cout << "交換前:" << num1 << "  " << num2 << endl;
	int temp = num1;
	num1 = num2;
	num2 = temp;
	cout << "交換后:" << num1 << "  " << num2 << endl;
}
int main()
{	
	int a = 10, b = 20;
	swap(a, b);
	//形參的改變并不影響實(shí)參本身
	cout << "a = " << a << "\n" << "b = " << b  << endl;
	system("pause");
	return 0;
}

值傳遞實(shí)際上是為形參開辟一塊新的內(nèi)存地址,將實(shí)參的值傳遞給形參的內(nèi)存中,對(duì)形參進(jìn)行運(yùn)算,所以并不涉及到實(shí)參的改變。

4 函數(shù)的常見形式

常見的函數(shù)樣式有4種:

  • 無參無返
  • 有參無返
  • 無參有返
  • 有參有返

示例:

#include<iostream>
using namespace std;

//1.無參無返
void test01()
{
	cout << "無參無返" << endl;
}
//2.有參無返
void test02(int num1,int num2)
{
	cout << "有參無返" << num1 << num2 << endl;
}
//3.無參有返
int test03()
{
	cout << "無參有返 " ;
	return 1000;
}
//4.有參有返
int test04(int num)
{
	cout << "有參有返 " ;
	return num;
}
int main()
{
	test01();
	test02(100, 200);
	cout << "返回值為:" << test03() << endl;
	cout << "返回值為:" << test04(100) << endl;
	system("pause");
	return 0;
}

5 函數(shù)的聲明

作用:告訴編譯器函數(shù)名稱及如何調(diào)用函數(shù)。函數(shù)的實(shí)際主體可以單獨(dú)定義。

當(dāng)自己創(chuàng)建的函數(shù)位于main函數(shù)下方的時(shí)候,編譯器會(huì)先運(yùn)行main函數(shù),從而找不到我們定義的函數(shù)而報(bào)錯(cuò),所以需要函數(shù)聲明,這樣我們的函數(shù)定義就可以放在main函數(shù)的下方了。

  • 函數(shù)的聲明可以多次,但是函數(shù)的定義只能有一次。

語法:

數(shù)據(jù)類型 函數(shù)名(參數(shù)列表)

示例:

#include<iostream>
using namespace std;

//函數(shù)的聲明
int maxtest(int a, int b);

int main()
{
	//int maxtest(int a, int b); 寫這里也可以
	int a = 10;
	int b = 20;
	cout << maxtest(a, b) << endl;
	system("pause");
	return 0;
}
//定義函數(shù)
int maxtest(int a, int b)
{
	return a > b ? a : b;
}

6 函數(shù)的分文件編寫作用:讓代碼結(jié)構(gòu)更加清晰

作用:讓代碼結(jié)構(gòu)更加清晰

函數(shù)分文件編寫一般有4個(gè)步驟:

  • 創(chuàng)建后綴名為.h的頭文件
  • 創(chuàng)建后綴名為.cpp的源文件
  • 文件中寫函數(shù)的聲明
  • 文件中寫函數(shù)的定義

-----注意下面的這個(gè)例子使用了swap的函數(shù)名,而上面源文件中的函數(shù)名已經(jīng)有了swap,一個(gè)項(xiàng)目里不能對(duì)同一函數(shù)名多次定義,所以可以手動(dòng)改一下上面"值傳遞.cpp中的"的swap函數(shù)名,隨便換一個(gè)其他的就行。

1.

在這里插入圖片描述

在這里插入圖片描述

2.

在這里插入圖片描述

在這里插入圖片描述

3.

在這里插入圖片描述

#include<iostream>
using namespace std;
void swap(int a, int b); 

4.

在這里插入圖片描述

#include"swap.h"
void swap(int a, int b)
{
	int temp = a;
	a = b;
	b = temp;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
}

在這里插入圖片描述

#include<iostream>
#include"swap.h"
using namespace std;

int main()
{
	int a = 10, b = 20;
	swap(a, b);
	system("pause");
	return 0;
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!           

相關(guān)文章

最新評(píng)論

四川省| 武乡县| 炉霍县| 杨浦区| 罗定市| 乐亭县| 新干县| 宽甸| 新沂市| 策勒县| 商洛市| 青海省| 金山区| 伊宁县| 广西| 门头沟区| 枝江市| 独山县| 凭祥市| 额敏县| 孝昌县| 于都县| 新宾| 寿宁县| 福清市| 肃南| 商南县| 博白县| 霍林郭勒市| 崇左市| 阳城县| 农安县| 青海省| 绩溪县| 榕江县| 名山县| 屏东县| 唐海县| 通辽市| 宜川县| 金坛市|