導航:首頁 > 源碼編譯 > c語言的函數單獨編譯

c語言的函數單獨編譯

發布時間:2022-01-28 21:18:40

Ⅰ c語言中的函數可不可以單獨進行編譯

是可以的。

庫函數是把函數放到庫里,供別人使用的一種方式。函數庫是由系統建立的具有一定功能的函數的集合。庫中存放函數的名稱和對應的目標代碼,以及連接過程中所需的重定位信息。用戶也可以根據自己的需要建立自己的用戶函數庫。

使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數printf。

(1)c語言的函數單獨編譯擴展閱讀

函數庫的分類

1、字元串、內存和字元函數

需要的包含文件:string.h、mem.h、ctype.h或string.h;

2、數學函數

需要的包含文件:math.h;

3、動態存儲分配

需要的包含文件:alloc.h或stdlib.h ;

Ⅱ C語言怎麼將各計算功能單獨編寫成函數還有主函數怎麼編

#include<stdio.h>
#include<math.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(r<0||j<0);
/*運算*/
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(a<0);
/*運算*/
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(a<0);
/*運算*/
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(r<0||h<0);
/*運算*/
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(a<0);
/*運算*/
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(r<0);
/*運算*/
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("請選擇計算對象(選擇數字)\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("是否繼續(y or n)\n");
scanf("%s",&c);
}while(c=='y');
}

Ⅲ 在C語言程序中,只有main函數才可單獨進行編譯,哪裡錯了

有函數的都可以單獨進行編譯,編譯是指把程序語句翻譯為機器代碼,對於C語言就是把.c文件翻譯為.obj文件。

此外,必須要有main函數的才可以完成連接為exe文件。

Ⅳ c語言學函數可以單獨進行編輯嗎

不能,因為每一個C源程序都必須有一個主函數

Ⅳ c語言程序中將一個演算法單獨寫成函數與直接寫在主函數中相比,運行起來前者是不是要比後者耗時更久

Ⅵ c語言調用其他文件的函數怎麼編譯

調用函數庫的話用#include<XXX.h>或者#include"XXX.h"區別是你庫文件放在同一個文件夾還是在IDE的安裝目錄下面,如果你庫文件在你工程文件夾裡面用#include<XXX.h>,否則用#include"XXX.h"

如果你說自己寫庫的話是需要兩個宏命令,#ifndef_XXX_H#define_XXX_H,然後你函數名用extern表示

如果你說編譯的話,你應該說的是編譯原理吧,你可以反匯編一下一個編譯好的程序,如果該處編譯了一個其他函數庫的函數,你可以看到程序把參數PUSH到內存後CALL或者LCALL了一個這個函數的地址,這就完成了匯編中調用函數的部分,我記得X86裡面CALL的機器碼是E8H吧,有興趣的話可以自己用反匯編看一下

這個CALL的話就是調用函數的功能

Ⅶ c語言課程設計里怎樣把一個函數單獨拿出來運行

想單獨拿來運行,自己新建工程,建文件,寫一個main入口函數,然後把這個函數復制main函數上面(不需要聲明),或者下面(需要聲明),最後在main里調用函數就可以了。
調用一個函數語言先了解其返回值和參數。在函數名左邊的就是返回值類型(表示調用的時候用什麼類型變數來接收,如不需要處理返回值,也可以不接收)。在函數右邊的括弧里就是參數,逗號分割,你要根據參數個數和類型在調用時括弧里寫對應的值或者變數。

Ⅷ c語言把自定義函數單獨放在一個文件中是什麼y意思vs2015中如何實現

就是把函數定義寫在一個與主函數文件不同的文件里,將這個文件名定義為頭文件(.h),在主函數所在文件中包含這個頭文件即可。

Ⅸ c語言中的函數可不可以單獨進行編譯為什麼

因為C語言中你編寫的函數中用到了基本的比如輸出,定義這些,這些都是頭文件裡面寫好的,如果你要單獨編譯,可以自己把這些東西定義在一個文件中,自己重新寫一遍,另外還得編譯器支持。

Ⅹ c語言中 如何單獨運行一個子函數啊或者說怎樣驗證一個子函數的正確性、以及其功能啊求助···

在main()中寫入你的子函數及其參數,觀察是否達到預期就行了。給一個簡單的解決方法,希望幫到你!

閱讀全文

與c語言的函數單獨編譯相關的資料

熱點內容
android圖片變灰 瀏覽:268
linuxvi下一個 瀏覽:975
安卓手機的應用鎖怎麼解 瀏覽:735
linux增加路徑 瀏覽:849
sql身份證號最後四位加密 瀏覽:533
xp系統表格加密 瀏覽:856
光遇安卓軍大衣什麼時候上線 瀏覽:840
android應用商店圖標 瀏覽:341
java計算圓的面積 瀏覽:643
應用編譯優化recovery 瀏覽:577
域控命令n 瀏覽:258
php導出文件 瀏覽:15
谷歌地圖網頁版無法連接伺服器地址 瀏覽:298
菜鳥工具在線編譯python 瀏覽:858
柵格化命令有何作用 瀏覽:825
為什麼壓縮文件不能解壓 瀏覽:311
足球app哪個軟體好 瀏覽:96
產品經理逼瘋程序員的一天 瀏覽:17
修改svn伺服器ip地址 瀏覽:584
下列關於編譯說法正確的是 瀏覽:246