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

C語言中函數(shù)的創(chuàng)建以及使用
c語言max函數(shù)在哪個庫
c語言gets函數(shù)可以輸入數(shù)字嗎
如何給C語言中的函數(shù)定義兩個不同的名字?
EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù)

評論