文章目錄
- 一.函式的作用
- 二.函式的定義
- 三.函式的呼叫
- 1.函式的呼叫
- 2.總結
- 四.值傳遞
- 1.值傳遞
- 2.一張圖理解這個案例
- 五.函式的常見樣式
- 1.無參無返
- 2.有參無返
- 3.無參有返
- 4.有參有返
- 六.函式的宣告
- 七.函式的分檔案撰寫
- 八.系統函式
- 篇章
一.函式的作用
函式的作用:將一段經常使用的代碼封裝起來,減少代碼的重復使用,例如,一個較大的程式分成了若干個部分,每個部分都要寫特定的功能,
二.函式的定義
函式的定義語法:
回傳值型別 函式名(引數串列)
{
????函式體陳述句
????return 運算式
}
#include <iostream>
using namespace std;
int add(int num1,int num2) //定義一個加法函式
{
int add=num1+num2;
return add; //回傳一個整型變數
}
int main () //主函式
{
return 0;
}
三.函式的呼叫
1.函式的呼叫
功能:使用定義好的函式,
語法:函式名(引數)
#include <iostream>
using namespace std;
//在函式定義的時候,num1和num2沒有真實的資料,所以,它只是形式上的引數,簡稱形參,
int add(int num1,int num2) //定義一個加法函式
{
int c=num1+num2;
return c; //回傳一個整型變數
}
int main () //主函式
{
int a=10,b=20;
//呼叫add函式
int sum=add(a,b);//呼叫時的a,b稱為實際引數,簡稱實參
//當呼叫函式的時候,實參的值會傳遞給形參
//當形參有了值之后,就會把值回傳給c,再把值賦值給變數sum
cout << sum << endl; //30
a=1,b=2;
//呼叫add函式
sum=add(a,b);//呼叫時的a,b稱為實際引數,簡稱實參
cout << sum << endl; //3
return 0;
}
2.總結
形參和實參的區別:
形參:從字面意思來看,它是形式上的引數,也就是它沒有具體的值,
實參:從字面意思來看,它是實際上的引數,也就是它有具體的值,
區別:定義函式時的括號里的引數是形參,呼叫函式時的括號里的引數是實參
呼叫函式的流程:①將實參的值傳遞給形參,
????????②形參有了值,回傳這個值,
????????③把這個值賦值給主函式中的變數,
四.值傳遞
1.值傳遞
值傳遞:函式呼叫時實參將數值傳入給形參,
#include <iostream>
using namespace std;
//定義函式,寫一個兩個數字的交換的函式
//如果函式不需要回傳值,宣告的時候可以寫void
void swap(int num1,int num2) //有了void,就不用回傳值,就洗掉return,或者return后面不加數字
{
cout << "交換前:" << endl;
cout << num1 << "\t";
cout << num2 << endl;
cout << "交換后:" << endl;
int temp =num1;
num1 =num2;
num2 =temp;
cout << num1 << "\t";
cout << num2 << endl;
//return;
}
int main () //主函式
{
int a=1,b=2;
swap(a,b);
return 0;
}
運行效果

結論:值傳遞時,如果形參發生變化,就不會影響實參,
2.一張圖理解這個案例

五.函式的常見樣式
1.無參無返
#include <iostream>
using namespace std;
//無參無返(沒有引數和回傳值)
void test()
{
//無型別不可以創建變數,原因是無法分配記憶體,例如void a=10是錯誤的,
cout << "this is test" << endl;
}
int main()
{
test(); //函式呼叫
return 0;
}
運行效果

2.有參無返
#include <iostream>
using namespace std;
//有參無返(有引數和沒回傳值)
void test(int a) //形參
{
cout << "this is test---" << a << endl;
}
int main()
{
test(100); //函式呼叫,將引數100傳給a
return 0;
}
運行效果

3.無參有返
#include <iostream>
using namespace std;
//無參有返
int test() //形參
{
cout << "this is test" << endl;
return 100;
}
int main()
{
int num=test();
cout << num << endl;
return 0;
}
運行效果

4.有參有返
#include <iostream>
using namespace std;
//有參有返
int test(int a) //形參
{
cout << "this is test---" << a << endl;
return 100;
}
int main()
{
int num=test(200);
cout << num << endl;
return 0;
}
運行效果

六.函式的宣告
作用:告訴編譯器函式名稱以及如何呼叫函式,
#include <iostream>
using namespace std;
//宣告可以是多次,但是定義只能是一次
//函式的宣告:提前告訴編譯器的存在
int max(int a,int b);
//可以寫,也可以不寫,
//如果下面定義的比較函式放在了主函式的后面,那就最好寫一下,為了提前告訴編譯器的存在,
int max(int a,int b) //比較函式,實作兩個整數數字進行比較,回傳較大的值
{
return a>b?a:b;
}
int main()
{
int a=10,b=20;
int num=max(a,b);
cout << "max=" << num << endl;
return 0;
}
運行效果

結論:函式的宣告可以多次,但是定義只有一次,
七.函式的分檔案撰寫
作用:讓代碼的結構更加清晰,
函式分檔案撰寫一般有4個步驟:
1.創建后綴名.h的頭檔案,
max.h
2.創建后綴名為cpp的檔案,
max.cpp
3.在頭檔案中寫函式的宣告
#include <iostream>
using namespace std;
//函式的宣告
int max(int a, int b);
4.在源檔案中寫函式的定義
//函式的定義
int max(int a, int b)
{
return a > b ? a : b;
}
四個步驟之后,就到了主函式
#include "max.h" //引入自己寫的頭檔案
int main()
{
int a = 10, b = 20;
int num = max(a, b);
cout << "max=" << num << endl;
return 0;
}
八.系統函式
#include <iostream>
using namespace std;
int main() //主函式
{
cout << "開始" << endl;
system("pause"); //先出現“請按任意鍵繼續...”,點擊任意鍵之后,再出現結果,
system("cls"); //清除
cout << "結束" << endl;
return 0;
}
沒清除前的效果

清除后的效果

篇章
上一篇:C++基礎教程10-數學運算
下一篇:C++基礎教程12-指標
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/279266.html
標籤:python
