函数的返回值可以不用赋值_C语言学习|函数的应用《一》
C語言為程序的結構提供了函數和模塊
一、函數的定義與使用
《編程之道》中寫道:“一個程序應該是靈活自由的、它的子過程就像串在一根線子上的珍珠。”子過程在C語言中被稱為”函數“。程序的執行從主函數開始,往復、循環、迭代地調用一個又一個函數。
函數的分類
1.庫函數
printf()、scanf()等都是ANSIC標準的庫函數。任何ANSI C的編譯器,無論在什么的平臺,都必須提供這些函數供用戶使用。僅調用ANSI C庫函數的程序,具有很好的移植性,能在多種平臺上編譯運行。還有數量巨大的第三方函數庫,完成ANSI C中不包括而又是程序設計需要的功能,例如:微積分運算,數據庫和圖形界面等。
2.自定義函數
定義一個函數我們需要確定三部分內容:
1.函數的返回值類型
2.函數的名稱
3.函數的參數
注:函數名的命名是函數的唯一標識,它的命名規則與變量沒什么不同的。
函數定義的語法結構如下:
返回值類型 函數名(類型參數1,類型 參數2)
{
局部變量定義語句
可執行語句序列
}
例子:比較兩個整數大小的函數
intMin(int a,int b)
{
int result=(x>y)?y:x;
return result;
}
這里定義名為Min的函數。它有兩個參數,返回值和參數的類型均為int,函數的作用是比較兩個整數那整數小。此例并非一個可運行的程序。有main()函數的程序才能運行;函數必須main()直接或間接調用才能發揮作用。
二、函數的調用、參數、參數傳遞和返回值
main()函數調用其他函數可以想象成給員工分配任務。
調用函數的實例如下:
比較兩個整數的大小程序;
#include<stdio.h>int max(int i,int t){ int result; result=i>t?i:t; return result; }int main(){ int a=36; int b=72; int larger; larger=max(a,b); printf("%d",larger); return 0; }程序運行結果
72
在主函數中變量a和b的值作為參數提供給了max()。這時開始執行max(),且把a與b的值分別復制給了max函數定義的i和t,這個過程就是參數傳遞。max函數內接收的數據的參數(即i和t)叫形式參數,簡稱形參;調用者提供的參數(主函數的a和b這兩個參數)叫實際參數;簡稱實參。
實參的數據必須與形參的數據相等,它們的類型必須匹配(匹配的原則與變量賦值的原則一致)。形參相當于在函數內定義的變量,也可以被賦值。實參與形參有各自的存儲空間,所以形參值得改變不會影響實參。
一個函數可以定義的形參并無明確的數量限制,用戶可以按照需要隨意定義。
參數的類型也沒有限制,任何可用類型均能使用,不同參數可以是不同的類型。例如
int fun(int a,float b,charc){ …}這樣子寫是合法的。
也可以定義沒有參數的函數,這種函數不需要調用者提供任何數據,例子
int func(void){ …}三、主函數main()的特殊性
C語言在設計中注重一致性。
1.一致性體現在各個函數都是平等的,沒有主從之分,可以隨意相互調用,每個函數都可以調用其他的函數,其他函數也可以在調用其他函數。函數也可以調用自己,被稱為”遞歸函數“;
2.一致性體現在定義各種函數的語法都遵守共同的語法規則。
盡管main函數也有返回值,但是有時在定義main()時,可以不指明其返回值類型,沒有參數也可以不用void。這種用法是符合C語言語法,任何函數也都可以如此定義。
關注更多C語言學習|函數的應用《二》
總結
以上是生活随笔為你收集整理的函数的返回值可以不用赋值_C语言学习|函数的应用《一》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axios 获取上传进度_PHP获取HT
- 下一篇: android things 系统镜像文