C語(yǔ)言中的函數(shù)相當(dāng)于其它高級(jí)語(yǔ)言的子程序。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、霍爾果斯網(wǎng)站維護(hù)、網(wǎng)站推廣。
C程序中大都只有一個(gè)主函數(shù)main(),
但實(shí)用程序往往由多個(gè)函數(shù)組成,通過(guò)對(duì)函數(shù)模塊的調(diào)用實(shí)現(xiàn)特定的功能
.....
從函數(shù)定義的角度看,函數(shù)可分為庫(kù)函數(shù)和用戶定義函數(shù)兩種。
1) 庫(kù)函數(shù):由C系統(tǒng)提供,用戶無(wú)須定義,也不必在程序中作類型說(shuō)明,只需在程序前包含有該函數(shù)原型的頭文件即可在程序中直接調(diào)用。在前面各章的例題中反復(fù)用到printf、scanf、getchar、putchar、gets、puts、strcat 等函數(shù)均屬此類。
2) 用戶定義函數(shù):由用戶按需要寫的函數(shù)。對(duì)于用戶自定義函數(shù),不僅要在程序中定義函數(shù)本身,而且在主調(diào)函數(shù)模塊中還必須對(duì)該被調(diào)函數(shù)進(jìn)行類型說(shuō)明,然后才能使用。
例:
#includestdio.h
intsushu(intx)
{inti;
for(i=2;ix;i++)
if(x%i==0)break;
if(i==x)return1;
elsereturn0;
}
main()
{inti,n=0;
for(i=2;i=1000;i++)
if(sushu(i)==1)n++:
printf("n=%d",n);
}
擴(kuò)展資料
使用vfork()新建子進(jìn)程,然后調(diào)用exec函數(shù)族
#includeunistd.h
main()
{
char*argv[]={“l(fā)s”,”-al”,”/etc/passwd”,(char*)};
if(vfork()==0)
{
execv(“/bin/ls”,argv);
}else{
printf(“Thisistheparentprocess\n”);
}
}
C語(yǔ)言 把別的計(jì)算機(jī)語(yǔ)言中稱“函數(shù)”或稱“子程序”的程序塊 統(tǒng)稱為 “函數(shù)”,沒(méi)有術(shù)語(yǔ)“子程序”。別的計(jì)算機(jī)語(yǔ)言中稱為“子程序”的程序塊,C語(yǔ)言叫 void 型 函數(shù)。
C語(yǔ)言 函數(shù)定義 出現(xiàn)在 main() 函數(shù) 以后的,則要在 main() 函數(shù) 以前 加寫 函數(shù)原型聲明。
例如:計(jì)算10個(gè)數(shù)的平均值,最大值,最小值子程序:
#includestdio.h
#includestdlib.h
void f(int n, int *a, int *a_max, int *a_min, float *a_mean);// 函數(shù)原型聲明
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int a_max,a_min;
float av;
f(10,a,a_max,a_min,av); // 函數(shù)調(diào)用
printf("max=%d min=%d mean=%f\n",a_max,a_min,av);
}
//函數(shù)定義
void f(int n, int *a, int *a_max, int *a_min, float *a_mean){
int i,b,s;
float m=0.0;
b = a[0]; s=a[0];
for (i=0;in;i++){
if (a[i] b) b = a[i];
if (a[i] s) s = a[i];
m = m + a[i];
}
*a_mean = m / n;
*a_max = b;
*a_min = s;
}
如果把 函數(shù)定義 寫到 main() 以前,就不要 函數(shù)原型聲明 那行