1. 程式人生 > 其它 >C++基礎入門---6.函式【P50~P55】

C++基礎入門---6.函式【P50~P55】

技術標籤:C++學習

C++基礎入門---6.函式【P50~P55】

6. 函式

作用:將一段經常使用的程式碼封裝起來,減少重複程式碼
一個較大的程式,一般分為若干個程式塊,每個模組實現特定的功能

6.1 函式的定義

函式的定義一般分為5個步驟:
在這裡插入圖片描述

返回值型別 函式名 {引數列表}
{
		函式體語句

		return 表示式
}
#include <iostream>
using namespace std;

int add(int num1,
int num2) { int sum = num1 + num2; return sum; } int main() { cout << add(1, 2) << endl; system("pause"); return 0; }

6.2 函式的呼叫

#include <iostream>
using namespace std;

int add(int num1, int num2)//num1和num2是形參
{
	int sum = num1 + num2;
	return sum;
}
int main()
{
	//a和b是實際引數
int a = 10; int b = 20; cout << add(a, b) << endl; system("pause"); return 0; }

6.3 值傳遞

  • 所謂值傳遞,就是函式呼叫時實參將數值傳入給形參
  • 值傳遞時,如果形參發生改變,並不會影響實參
#include <iostream>
using namespace std;


//定義函式,用於實現兩個數字進行交換
void swap(int num1, int num2)
{
	cout << "num1 = " <<
num1<<endl; cout << "num2 = " << num2<<endl; int temp = num1; num1 = num2; num2 = temp; cout << "num1 = " << num1 << endl; cout << "num2 = " << num2 << endl; } int main() { //a和b是實際引數 int a = 10; int b = 20; swap(a,b); system("pause"); return 0; }

6.4 常見的樣式

  • 1.無參無返
  • 2.有參無返
  • 3.無參有返
  • 4.有參有返
#include <iostream>
using namespace std;


//函式的常見樣式
//1.無參無返
void test01()
{
	cout << "This is test01" << endl;
}

//2.有參無返
void  test02(int a)
{
	cout << "This is test02 a= " << a << endl;
}
//3.無參有返
int test03()
{
	cout << "This is test03" << endl;
	return 1000;
}
//有參有返
int test04(int a)
{
	cout << "This is test04 a= " << a << endl;
	return a;
}


int main()
{
	//01的函式呼叫
	test01;
	//02的呼叫
	int a = 10;
	test02(a);
	//03的呼叫
	int num1 = test03();
	cout << num1 << endl;
	//04的呼叫
	int num2=test04(10000);
	cout << num2 << endl;

	system("pause");
	return 0;
}

6.5 函式的宣告

作用:告訴編譯器函式名稱以及如何呼叫函式,函式的實際主體可以單獨定義。

  • 函式的宣告可以多次,但是函式的定義只能有一次。
#include<iostream>
using namespace std;

//函式的宣告:提前告訴編譯器函式的存在,這樣即使函式定義放在main
//後邊,程式也不會報錯

int max(int a, int b);


int main()
{
	int a = 10;
	int b = 20;
	cout << max(a, b) << endl;

	system("pause");
	return 0;
}
//比較函式,實現兩個整型數字進行比較,返回較大的值
int max(int a, int b)
{
	return a > b ? a : b;
}

6.6 函式的分檔案編寫

在這裡插入圖片描述