欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1 概述

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

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

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

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

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

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

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

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

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

定義語(yǔ)法

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

調(diào)用語(yǔ)法

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

示例:

#include<iostream>
using namespace std;

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

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

int main()
{	//main函數(shù)中調(diào)用add函數(shù)
	int a = 3, b = 4;
	
	//函數(shù)調(diào)用語(yǔ)法:函數(shù)名稱(chēng)(參數(shù))
	int c = add(a, b); //a和b是真實(shí)的數(shù)據(jù),稱(chēng)為實(shí)際參數(shù),簡(jiǎn)稱(chēng)實(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ù)沒(méi)有返回值,所以可以定義函數(shù)類(lèi)型為void-無(wú)類(lèi)型。
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í)際上是為形參開(kāi)辟一塊新的內(nèi)存地址,將實(shí)參的值傳遞給形參的內(nèi)存中,對(duì)形參進(jìn)行運(yùn)算,所以并不涉及到實(shí)參的改變。

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

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

  • 無(wú)參無(wú)返
  • 有參無(wú)返
  • 無(wú)參有返
  • 有參有返

示例:

#include<iostream>
using namespace std;

//1.無(wú)參無(wú)返
void test01()
{
	cout << "無(wú)參無(wú)返" << endl;
}
//2.有參無(wú)返
void test02(int num1,int num2)
{
	cout << "有參無(wú)返" << num1 << num2 << endl;
}
//3.無(wú)參有返
int test03()
{
	cout << "無(wú)參有返 " ;
	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ù)名稱(chēng)及如何調(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ù)的定義只能有一次

語(yǔ)法:

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

示例:

#include<iostream>
using namespace std;

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

int main()
{
	//int maxtest(int a, int b); 寫(xiě)這里也可以
	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ù)的分文件編寫(xiě)作用:讓代碼結(jié)構(gòu)更加清晰

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

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

  • 創(chuàng)建后綴名為.h的頭文件
  • 創(chuàng)建后綴名為.cpp的源文件
  • 文件中寫(xiě)函數(shù)的聲明
  • 文件中寫(xiě)函數(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é)

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

相關(guān)文章

  • C語(yǔ)言中的內(nèi)存管理詳情

    C語(yǔ)言中的內(nèi)存管理詳情

    這篇文章主要介紹了C語(yǔ)言中的內(nèi)存管理詳情,手工申請(qǐng)內(nèi)存使用malloc展開(kāi)全文內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • c++string字符串的比較是否相等問(wèn)題

    c++string字符串的比較是否相等問(wèn)題

    這篇文章主要介紹了c++string字符串的比較是否相等問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲

    C++實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語(yǔ)言實(shí)現(xiàn)俄羅斯方塊

    C語(yǔ)言實(shí)現(xiàn)俄羅斯方塊

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++實(shí)現(xiàn)LeetCode(80.有序數(shù)組中去除重復(fù)項(xiàng)之二)

    C++實(shí)現(xiàn)LeetCode(80.有序數(shù)組中去除重復(fù)項(xiàng)之二)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(80.有序數(shù)組中去除重復(fù)項(xiàng)之二),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Linux系統(tǒng)下C語(yǔ)言gets函數(shù)出現(xiàn)警告問(wèn)題的解決方法

    Linux系統(tǒng)下C語(yǔ)言gets函數(shù)出現(xiàn)警告問(wèn)題的解決方法

    這篇文章主要給大家介紹了關(guān)于在Linux系統(tǒng)下C語(yǔ)言gets函數(shù)出現(xiàn)警告問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • C++另辟蹊徑計(jì)算1到n的和

    C++另辟蹊徑計(jì)算1到n的和

    從1加到100,高斯的故事,我們學(xué)過(guò)。今天,我們寫(xiě)一個(gè)程序來(lái)試試。首先,用笨方法。一個(gè)數(shù)一個(gè)數(shù)的加,我們一般人就是這樣干的嗎。在計(jì)算機(jī)程序里面,怎么辦呢?1我們把求和的功能寫(xiě)成一個(gè)可以針對(duì)不同的N運(yùn)用的,C++里面叫函數(shù)
    2023-02-02
  • 使用Qt開(kāi)發(fā)實(shí)現(xiàn)字幕滾動(dòng)效果

    使用Qt開(kāi)發(fā)實(shí)現(xiàn)字幕滾動(dòng)效果

    我們經(jīng)常能夠在外面看到那種滾動(dòng)字幕,那么就拿qt來(lái)做一個(gè)吧,文章通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有有一定的參考價(jià)值,需要的朋友可以參考下
    2023-11-11
  • C/C++?Qt?TreeWidget?單層樹(shù)形組件應(yīng)用小結(jié)

    C/C++?Qt?TreeWidget?單層樹(shù)形組件應(yīng)用小結(jié)

    TreeWidget?目錄樹(shù)組件,該組件適用于創(chuàng)建和管理目錄樹(shù)結(jié)構(gòu),在開(kāi)發(fā)中我們經(jīng)常會(huì)把它當(dāng)作一個(gè)升級(jí)版的ListView組件使用,本文將通過(guò)TreeWidget實(shí)現(xiàn)多字段顯示,并增加一個(gè)自定義菜單,通過(guò)在指定記錄上右鍵可彈出該菜單并對(duì)指定記錄進(jìn)行操作
    2021-11-11
  • C++深入分析講解類(lèi)的知識(shí)點(diǎn)

    C++深入分析講解類(lèi)的知識(shí)點(diǎn)

    C++類(lèi),是指系統(tǒng)在第一次在程序中遇到一個(gè)類(lèi)時(shí)為這個(gè)類(lèi)建立它的所有類(lèi)變量的拷貝 - 這個(gè)類(lèi)的所有實(shí)例共享它的類(lèi)變量
    2022-06-06

最新評(píng)論