函數是指將一組能完成一個功能或多個功能的語句放在一起的 代碼結構。在C語言程序中,至少會包含一個函數,及主函數main()。本文將詳細講解關于函數的相關內容。
Part1函數概述
我們都知道函數是數學里的重要組成部分,數學中我們常見到函數的概念,但是你了解C語言中的函數嗎?其實函數就相當于一個子程序,那什么是子程序呢?
- 在計算機科學中,子程序是一個大型程序中的某部分代碼, 由一個或多個語句塊組成。它負責完成某項特定任務,而且相較于其他代 碼,具備相對的獨立性。
- 一般會有輸入參數并有返回值,提供對過程的封裝和細節的隱藏。這些代碼通常被集成為 軟件庫 。
Part2C語言中函數的分類
2.1 庫函數
2.1.1 什么是庫函數?
其實庫函數就是存放在函數庫中的函數,具有明確的功能、入口調用參數和返回值。下面舉一些例子:
- 我們知道在我們學習C語言編程的時候,總是在一個代碼編寫完成之后迫不及待的想知道結果,想把這個結果打印到我們的屏幕上看看。這個時候我們會頻繁的使用一個功能:將信息按照一定的格式打印到屏幕上 (printf) 。
- 在編程的過程中我們會頻繁的做一些字符串的拷貝工作 (strcpy) 。
- 在編程中我們也計算,總是會計算n的k次方這樣的運算(pow)。
2.1.2 庫函數是C語言提供的嗎?
不是,C語言標準中約定好,由編譯器的廠商提供實現。
2.1.3 為什么會有庫函數呢?
像上面我們描述的基礎功能,它們不是業務性的代碼。我們在開發的過程中每個程序員都可能用的到,為了支持可移植性和提高程序的效率,所以C語言的基礎庫中提供了一系列類似的庫函數,方便程序員進行軟件開發。
2.1.4 那怎么學習庫函數呢?
我們在開發的過程中每個程序員都可能用的到,為了支持可移植性和提高程序的效率,所以C語言的基礎庫中提供了一系列類似的庫函數,方便程序員進行軟件開發。
這里我給大家推薦一個可以很好查到有關庫函數的網站鏈接:https://cplusplus.com/
簡單的總結,C語言常用的庫函數都有:
- IO函數
- 字符串操作函數
- 字符操作函數
- 內存操作函數
- 時間/日期函數
- 數學函數
- 其他庫函數
注:庫函數必須知道的一個秘密就是:使用庫函數,必須包含 #include 對應的頭文件。
2.2 自定義函數
如果庫函數能干所有的事情,那還要程序員干什么?
所以更加重要的是 自定義函數 !!!**自定義函數和庫函數一樣,有函數名,返回值類型和函數參數。**所謂自定義就是這些都是我們自己來設計。這給我們自己一個很大的發揮空間!!!函數的組成,我們舉一個例子:寫一個函數可以找出兩個整數中的最大值。
#include < stdio.h >
//get_max函數的設計
int get_max(int x, int y)
{
return (x > y) ? (x) : (y);//三目運算符:x大于y返回x,x小于y返回y
}
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int max = get_max(num1, num2);
printf("max = %dn", max);
return0;
}
這里我們輸入a=10 b=20結果是正確的,說明我們自己定義的函數還是比較成功的哈
-
封裝
+關注
關注
128文章
9249瀏覽量
148614 -
C語言
+關注
關注
183文章
7644瀏覽量
145575 -
函數
+關注
關注
3文章
4417瀏覽量
67502 -
代碼
+關注
關注
30文章
4968瀏覽量
73960
發布評論請先 登錄
C語言中指針函數和函數指針的概念及應用示例
C語言中memmove函數的使用
c語言函數指針定義,指針函數和函數指針的區別
單片機C語言中如何使用nop函數進行短延時的效果資料和程序說明
c語言中函數的函數體用什么符號括起來
評論