函數(shù)是一組一起執(zhí)行一個任務(wù)的語句。每個 C 程序都至少有一個函數(shù),即主函數(shù) main() ,所有簡單的程序都可以定義其他額外的函數(shù)。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站建設(shè)、忻州網(wǎng)絡(luò)推廣、微信平臺小程序開發(fā)、忻州網(wǎng)絡(luò)營銷、忻州企業(yè)策劃、忻州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供忻州建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
您可以把代碼劃分到不同的函數(shù)中。如何劃分代碼到不同的函數(shù)中是由您來決定的,但在邏輯上,劃分通常是根據(jù)每個函數(shù)執(zhí)行一個特定的任務(wù)來進(jìn)行的。
C 標(biāo)準(zhǔn)庫提供了大量的程序可以調(diào)用的內(nèi)置函數(shù)。例如,函數(shù) strcat() 用來連接兩個字符串,函數(shù) memcpy() 用來復(fù)制內(nèi)存到另一個位置。
函數(shù)還有很多叫法,比如方法、子例程或程序,等等。
C 語言中的函數(shù)定義的一般形式如下:
在 C 語言中,函數(shù)由一個函數(shù)頭和一個函數(shù)主體組成。下面列出一個函數(shù)的所有組成部分:
以下是 max() 函數(shù)的源代碼。該函數(shù)有兩個參數(shù) num1 和 num2,會返回這兩個數(shù)中較大的那個數(shù):
創(chuàng)建 C 函數(shù)時,會定義函數(shù)做什么,然后通過調(diào)用函數(shù)來完成已定義的任務(wù)。
當(dāng)程序調(diào)用函數(shù)時,程序控制權(quán)會轉(zhuǎn)移給被調(diào)用的函數(shù)。被調(diào)用的函數(shù)執(zhí)行已定義的任務(wù),當(dāng)函數(shù)的返回語句被執(zhí)行時,或到達(dá)函數(shù)的結(jié)束括號時,會把程序控制權(quán)交還給主程序。
調(diào)用函數(shù)時,傳遞所需參數(shù),如果函數(shù)返回一個值,則可以存儲返回值。例如:
如上把 max() 函數(shù)和 main() 函數(shù)放一塊,編譯源代碼。當(dāng)運行最后的可執(zhí)行文件時,會產(chǎn)生下列結(jié)果:
形式參數(shù)就像函數(shù)內(nèi)的其他局部變量,在進(jìn)入函數(shù)時被創(chuàng)建,退出函數(shù)時被銷毀。
當(dāng)調(diào)用函數(shù)時,有兩種向函數(shù)傳遞參數(shù)的方式:
默認(rèn)情況下,C 使用 傳值調(diào)用 來傳遞參數(shù)。一般來說,這意味著函數(shù)內(nèi)的代碼不能改變用于調(diào)用函數(shù)的實際參數(shù)。
從參數(shù)角度分類:1.有參函數(shù):函數(shù)有形參,可以是一個,或者多個,參數(shù)的類型隨便,完全取決于函數(shù)的功能。2.無參函數(shù):函數(shù)沒有參數(shù),在形參列表的位置寫一個viod或什么都不寫。
每個C程序都至少有一個函數(shù),即主函數(shù)main(),如果程序的任務(wù)比較簡單,全部的代碼都寫在main()函數(shù)中,但是,在實際開發(fā)中,程序的任務(wù)往往比較復(fù)雜,如果全部的代碼都寫在main()函數(shù)中,main()函數(shù)將非常龐大臃腫,結(jié)構(gòu)復(fù)雜,代碼重復(fù)。
詳細(xì)信息:
我們可以根據(jù)程序的邏輯和任務(wù)的分工把代碼劃分到不同的自定義函數(shù)中,main()更關(guān)心業(yè)務(wù)邏輯和處理流程,需要執(zhí)行具體任務(wù)的時候,調(diào)用這些自定義的函數(shù)就可以了。
為了方使理解,我們把函數(shù)分為兩種:一種是庫函數(shù),一種是自定義函數(shù)。庫函數(shù)是C語言提供的,或系統(tǒng)提供的,實現(xiàn)了某些基本的功能,例如scanf、printf,在程序中可以直接使用。
自定義函數(shù)是程序員為了完成某項任務(wù)而編寫的函數(shù),目的是為了實現(xiàn)某項的功能或讓主程序更簡潔。程序員在使用自定義函數(shù)之前,必須先聲明和定義。
C語言程序結(jié)構(gòu)的特點是順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
1、順序結(jié)構(gòu),默認(rèn)的流程結(jié)構(gòu),按照書寫順序執(zhí)行每一條語句。
2、選擇結(jié)構(gòu),對給定的條件進(jìn)行判斷,再根據(jù)判斷結(jié)果來決定執(zhí)行那一段代碼。
3、循環(huán)結(jié)構(gòu),在給定條件成立的情況下,反復(fù)執(zhí)行某一段代碼。只有滿足條件是才會執(zhí)行循環(huán)體,特別注意是否進(jìn)入了死循環(huán)。
擴(kuò)展資料
C語言程序設(shè)計還能幫助我們學(xué)習(xí)其它計算機(jī)語言如我們熟悉的java語言vb語 言的設(shè)計,因此C語言是初學(xué)者必備的語言。
馮.諾依曼在1945年提出了現(xiàn)代計算機(jī)的若干思想,被后人稱為馮.諾依曼思想,這是計算機(jī)發(fā)展史上的里程碑。自1945 年至今大多采用其結(jié)構(gòu),因此馮.諾依曼被稱為計算機(jī)之父。
他的體系結(jié)構(gòu)計算機(jī)由運算器,控制器,存儲器,輸入設(shè)備,輸出設(shè)備五大部件構(gòu)成。C語言擁有一套完整的理論體系經(jīng)過了漫長的發(fā)展歷史,在編程語言中具有舉足輕重的地位。
參考資料來源:?百度百科—c語言
參考資料來源:百度百科-c語言程序設(shè)計
(1)素數(shù)判斷函數(shù):是返回1,否則返回0
int?prime(int?n){
int?i;
if(n2??!(n1)?||?n2)
return?0;
for(i=3;i*i=n;i+=2)
if(!(n%i))
return?0;
return?1;
}
(2)編寫排序函數(shù)(冒泡排序、選擇排序)
void?bubbling(int?*p,int?n){//冒泡
int?i,j,k;
for(i=0;in;i++)
for(j=1;jn;j++)
if(p[j]p[j-1])
k=p[j],p[j]=p[j-1],p[j-1]=k;
}
void?select(int?*p,int?n){//選擇
int?i,j,k;
for(n--,i=0;in;i++){
for(k=i,j=k+1;j=n;j++)
if(p[k]p[j])
k=j;
if(k-i)
j=p[k],p[k]=p[i],p[i]=j;
}
}
(3)查找函數(shù),找到返回下標(biāo),否則返回-1
int?find(int?*p,int?n,int?x){//順序
int?i;
for(i=0;in;i++)
if(p[i]==x)
return?i;
return?-1;
}
int?fihalf(int?*p,int?n,int?x){//折半,升序為例
int?l,r,m;
l=0,r=n-1;
while(m=(l+r)1,lr??p[m]-x)
p[m]x???l=m+1?:?r=m-1;
return?p[m]==x???m?:?-1;
}
(4)插入函數(shù),升序為例