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

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

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

1 概述

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

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

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

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

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

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

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

4、函數(shù)體語句:花括號內(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á)式;}

//定義一個兩整型數(shù)相加的函數(shù)
int add(int num1, int num2)//num1和num2并沒有真實數(shù)據(jù),只是一個形式上的參數(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ù)據(jù),稱為實際參數(shù),簡稱實參
	cout << c << endl;

	system("pause");
	return 0;
}

3 值傳遞

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

//定義一個交換數(shù)字的函數(shù)
//因為函數(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);
	//形參的改變并不影響實參本身
	cout << "a = " << a << "\n" << "b = " << b  << endl;
	system("pause");
	return 0;
}

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

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ù)的實際主體可以單獨定義。

當(dāng)自己創(chuàng)建的函數(shù)位于main函數(shù)下方的時候,編譯器會先運行main函數(shù),從而找不到我們定義的函數(shù)而報錯,所以需要函數(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個步驟:

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

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

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)文章

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

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

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

    c++string字符串的比較是否相等問題

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

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

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

    C語言實現(xiàn)俄羅斯方塊

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

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

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

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

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

    C++另辟蹊徑計算1到n的和

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

    使用Qt開發(fā)實現(xiàn)字幕滾動效果

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

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

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

    C++深入分析講解類的知識點

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

最新評論