可以的。
五華網(wǎng)站建設公司創(chuàng)新互聯(lián),五華網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經驗。已為五華上千余家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿網(wǎng)站建設公司要多少錢,請找那個售后服務好的五華做網(wǎng)站的公司定做!
例如庫函數(shù)就是把函數(shù)放到庫里,把一些常用到的函數(shù)編譯完放到一個文件里,供不同的人進行調用。C語言的庫函數(shù)并不是C語言本身的一部分,它是由編譯程序根據(jù)一般用戶的需要編制并提供用戶使用的一組程序。
windows中靜態(tài)編譯將導出聲明和實現(xiàn)都放在lib中。動態(tài)LIB文件相當于一個C語言中的h文件,是函數(shù)導出部分的聲明,而不將實現(xiàn)過程嵌入到程序本身中,編譯后只是將函數(shù)地址存在宿主程序中,運行到調用函數(shù)是調用DLL并載入函數(shù)來實現(xiàn)函數(shù)的具體操作。
因此,c語言中的函數(shù)是可以單獨進行編譯并導出的。
擴展資料:
單獨編譯的相關方式及文件:
1、lib文件是必須在編譯期就連接到應用程序中的,而dll文件是運行期才會被調用的。如果有dll文件,那么對應的lib文件一般是一些索引信息,具體的實現(xiàn)在dll文件中。如果只有l(wèi)ib文件,那么這個lib文件是靜態(tài)編譯出來的,索引和實現(xiàn)都在其中。
2、靜態(tài)編譯的lib文件有好處:給用戶安裝時就不需要再掛動態(tài)庫了。但也有缺點,就是導致應用程序比較大,而且失去了動態(tài)庫的靈活性,在版本升級時,同時要發(fā)布新的應用程序才行。
參考資料來源:百度百科-庫函數(shù)
參考資料來源:百度百科-lib文件
有函數(shù)的都可以單獨進行編譯,編譯是指把程序語句翻譯為機器代碼,對于C語言就是把.c文件翻譯為.obj文件。
此外,必須要有main函數(shù)的才可以完成連接為exe文件。
#includestdio.h
#includemath.h
#define PI 3.1415
void sx()/*計算扇形面積及周長*/
{ float r,j,S,C;
do{
printf("請輸入半徑r=");
scanf("%f",r);
printf("請輸入角度(360制)j=");
scanf("%f",j);
}while(r0||j0);
/*運算*/
S=PI*r*r*j/360;
C=2*PI*r*j/360+2*r;
printf("該扇形面積S=%f\n周長C=%f\n",S,C);
}
void wb()/*計算正5邊形面積及周長*/
{ float a,S,C;
do{
printf("請輸入邊長a=");
scanf("%f",a);
}while(a0);
/*運算*/
S=1.72*a*a;
C=5*a;
printf("該正5邊形面積S=%f\n周長C=%f\n",S,C);
}
void lb()/*計算正6邊形面積及周長*/
{ float a,S,C;
do{
printf("請輸入邊長a=");
scanf("%f",a);
}while(a0);
/*運算*/
S=2.598*a*a;
C=6*a;
printf("該正6邊形面積S=%f\n周長C=%f\n",S,C);
}
void qg()/*計算球冠表面積及體積*/
{ float r,h,S,V;
do{
printf("請輸入半徑r=");
scanf("%f",r);
printf("請高度h=");
scanf("%f",h);
}while(r0||h0);
/*運算*/
if(h=r)
{
S=2*PI*r*h;
V=PI*(h*h)*(r-h/3);
}
else
{
S=4*PI*r*r-2*PI*r*h;
V=(4/3)*PI*r*r*r-PI*(h*h)*(r-h/3);
}
printf("該球冠面積S=%f\n體積V=%f\n",S,V);
}
void smt()/*計算正4面體的表面積及體積。*/
{ float a,S,V;
do{
printf("請輸入邊長a=");
scanf("%f",a);
}while(a0);
/*運算*/
S=a*a*sqrt(3);
V=0.11111111*(S/4)*a*sqrt(6);
printf("該正4面體面積S=%f\n體積V=%f\n",S,V);
}
void zy()/*計算正圓面積及周長*/
{ float r,S,C;
do{
printf("請輸入半徑r=");
scanf("%f",r);
}while(r0);
/*運算*/
S=PI*r*r;
C=2*PI*r;
printf("該正圓面積S=%f\n周長C=%f\n",S,C);
}
void main()
{ int a;
char c;
do{
printf("請選擇計算對象(選擇數(shù)字)\n");
printf("1:扇形 2:正5邊形 3:正6邊形 4:球冠 5:正4面體 6:正圓\n");
scanf("%d",a);
switch(a)
{
case 1:sx();break;
case 2:wb();break;
case 3:lb();break;
case 4:qg();break;
case 5:smt();break;
case 6:zy();
}
printf("是否繼續(xù)(y or n)\n");
scanf("%s",c);
}while(c=='y');
}
因為C語言中你編寫的函數(shù)中用到了基本的比如輸出,定義這些,這些都是頭文件里面寫好的,如果你要單獨編譯,可以自己把這些東西定義在一個文件中,自己重新寫一遍,另外還得編譯器支持。
不是
要單獨運行一個函數(shù),只需直接調用就可以了。為了驗證子函數(shù)的正確性,可以先生成一些數(shù)據(jù)與期望的結果(包括邊界條件),測試子函數(shù)的輸出是否滿足期望。
或者你說的是軟件工程的東西?有白盒測試和黑盒測試兩種,像上面那種就是黑盒測試。白盒測試需要逐句審查語句,有多種方法,書里講得很明白。
網(wǎng)頁題目:c語言函數(shù)可以單獨編輯嗎 c語言可以自己定義函數(shù)嗎
網(wǎng)址分享:http://www.rwnh.cn/article2/dooheic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、做網(wǎng)站、、營銷型網(wǎng)站建設、微信小程序、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)