當前位置:首頁 » 編程語言 » c語言函數庫下載
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言函數庫下載

發布時間: 2022-11-29 08:57:17

『壹』 c語言的庫函數放在什麼地方(在什麼目錄里)

C語言的庫函數在LIB目錄裡面。

庫函數是將函數封裝入庫,供用戶使用的一種方式。方法是把一些常用到的函數編完放到一個文件里,供不同的人進行調用。調用的時候把它所在的文件名用#include<>加到裡面就可以了。一般是放到lib文件里的。

(1)c語言函數庫下載擴展閱讀:

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

C語言的庫函數並不是C語言本身的一部分,它是由編譯程序根據一般用戶的需要編制並提供用戶使用的一組程序。C的庫函數極大地方便了用戶,同時也補充了C語言本身的不足。事實上,在編寫C語言程序時,應當盡可能多地使用庫函數,這樣既可以提高程序的運行效率,又可以提高編程的質量。

『貳』 C語言常用的函數有哪些

C語言庫函數,常用庫函數有:

1、scanf格式輸入函數

2、printf格式輸出函數

3、systemdos命令函數

4、sort排序

5、main主函數

6、fgets文件讀取字元串函數

7、fputs文件寫入字元串函數

8、fscanf文件格式讀取函數

9、fprintf文件格式寫入函數

10、fopen打開文件函數

11、getchar輸入字元函數

12、putchar輸出字元函數

13、malloc動態申請內存函數

14、free釋放內存函數

15、abs求絕對值數學函數

16、sqrt求平方根數學函數

(2)c語言函數庫下載擴展閱讀

語言組成:


1、數據類型

C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。

2、常量與變數

常量其值不可改變,符號常量名通常用大寫。

變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。

3、數組

如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。

4、指針

如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。

『叄』 在C語言里,關於庫函數中各種數學函數的代碼。

你說的就是庫函數的源碼,也就是glibc,源碼在ftp://ftp.gnu.org/gnu/glibc可以下到,比如下載ftp://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.gz,打開後就可以看到你需要的各種庫的具體實現代碼,比如在string中的strcat.c中就有

char*strcat(dest,src)
char*dest;
constchar*src;
{
char*s1=dest;
constchar*s2=src;
reg_charc;
/*Findtheendofthestring.*/
do
c=*s1++;
while(c!='');
/*,sowecanincrement
itwhilememoryisread(winsonpipelinedcpus).*/
s1-=2;
do
{
c=*s2++;
*++s1=c;
}
while(c!='');
returndest;
}

『肆』 求C語言標准函數庫的源代碼

標准庫只是定義介面,具體怎麼實現就得看操作系統,你說win下和linux下這些函數的實現會一樣嗎。當然不一樣,看這些學源碼,不如看看c標准,c89或c99.

那可以看內核,看系統調用是怎麼樣實現的,你說的那些都是基於系統調用的

『伍』 求一個chm版的C語言庫函數速查手冊

網路 搜索:「c++庫函數(中文).chm」 有很多資源,包含C語言庫函數。

提供一個下載地址: http://down.51cto.com/data/160655

『陸』 VC 6.0的C語言庫函數的源代碼可以在哪找到

深入printf
/***
*printf.c - print formatted
*
* Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
* defines printf() - print formatted data
*
*******************************************************************************/

#include
#include
#include
#include
#include
#include
#include

/***
*int printf(format, ...) - print formatted data
*
*Purpose:
* Prints formatted data on stdout using the format string to
* format data and getting as many arguments as called for
* Uses temporary buffering to improve efficiency.
* _output does the real work here
*
*Entry:
* char *format - format string to control data format/number of arguments
* followed by list of arguments, number and type controlled by
* format string
*
*Exit:
* returns number of characters printed
*
*Exceptions:
*
*******************************************************************************/

int __cdecl printf (
const char *format,
...
)
/*
* stdout ''PRINT'', ''F''ormatted
*/
{
va_list arglist;
int buffing;
int retval;

va_start(arglist, format);

_ASSERTE(format != NULL);//斷言宏。如果輸出格式字元串指針為空,則在DEBUG版下斷言,報告錯誤。

_lock_str2(1, stdout);

buffing = _stbuf(stdout);//stdout:指定輸出到屏幕

retval = _output(stdout,format,arglist);

_ftbuf(buffing, stdout);

_unlock_str2(1, stdout);

return(retval);
}
以上為printf()的源代碼
1、從含有可選參數函數中獲得可選參數,以及操作這些參數
typedef char *va_list;
void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
假定函數含有一個必選參數和多個可選參數,必選參數聲明為普通數據類型,且能通過參數名來獲得該變數的值。可選參數通過宏va_start、va_arg和va_end(定義在stdarg.h或varargs.h中)來進行操作,即通過設置指向第一個可選參數指針、返回當前參數、在返回參數後重新設置指針來操作所有的可選參數。
va_start:為獲取可變數目參數的函數的參數提供一種便捷手段。設置arg_ptr為指向傳給函數參數列表中的第一個可選參數的指針,且該參數必須是va_list類型。prev_param是在參數列表中第一個可選參數前的必選參數。
va_arg:返回由arg_ptr所指向的參數的值,且自增指向下一個參數的地址。type為當前參數的類型,用來計算該參數的長度,確定下一個參數的起始位置。它可以在函數中應用多次,直到得到函數的所有參數為止,但必須在宏va_start後面調用。
va_end:在獲取所有的參數後,設置指針arg_ptr為NULL。
下面舉例說明:
#include
#include
int average( int first, ... );
void main( void )
{
/* Call with 3 integers (-1 is used as terminator). */
printf( "Average is: %d\n", average( 2, 3, 4, -1 ) );

/* Call with 4 integers. */
printf( "Average is: %d\n", average( 5, 7, 9, 11, -1 ) );

/* Call with just -1 terminator. */
printf( "Average is: %d\n", average( -1 ) );
}

int average( int first, ... )
{
int count = 0, sum = 0, i = first;
va_list marker;

va_start( marker, first ); /* Initialize variable arguments. */
while( i != -1 )
{
sum += i;
count++;
i = va_arg( marker, int);
}
va_end( marker ); /* Reset variable arguments. */
return( sum ? (sum / count) : 0 );
}
返回值為:
Average is: 3
Average is: 8
Average is: 0
綜上所述,在printf()函數中,可以只輸出一個字元串,也可按照一定的形式輸出含有多個可選參數的字元串信息。因此,首先就要通過這些宏來獲取所有的可選參數。在上面的源碼可以看出printf()中,只使用了宏at_start,將可選參數的首地址賦給了arglist。
2、鎖定字元串及輸出字元串到屏幕
#define _lock_str2(i,s) _lock_file2(i,s)
void __cdecl _lock_file2(int, void *);
#define _unlock_str2(i,s) _unlock_file2(i,s)
void __cdecl _unlock_file2(int, void *);
int __cdecl _stbuf(FILE *);
void __cdecl _ftbuf(int, FILE *);
int __cdecl _output(FILE *, const char *, va_list);
在output函數中,讀取格式字元串中的每一個字元,然後對其進行處理,處理方式根據每一個字元所代表的意義來進行,如:普通字元直接利用函數WRITE_CHAR(ch, &charsout);輸出到控制台。
其中的主要部分是對轉換說明符(d,c,s,f)的處理,現在將對其中的部分代碼進行詳細說明,這里只說明最基本的轉換說明符,對這些須基本的轉換說明符進行修飾的修飾符,程序中單獨進行處理。下面是函數output()(output.c)部分源代碼:
case ST_TYPE:
//表示當前處理的字元的類型為轉換說明符。
...
switch (ch) {
//下面對參數的獲取都是利用宏va_arg( va_list arg_ptr, type );來進行的。
case ''c'': {
//從參數表中獲取單個字元,輸出到緩沖字元串中,此時,type=int
buffer[0] = (char) get_int_arg(&argptr); /* get char to print */
text = buffer;
textlen = 1; /* print just a single character */
}
break;

case ''s'': {
//從參數表中獲取字元串,輸出到緩沖字元串中,此時,type=char*
int i;
char *p; /* temps */
text = get_ptr_arg(&argptr);
...
}
break;

case ''w'': {
//對寬字元進行處理
...
} /* case ''w'' */
break;
...
case ''e'':
case ''f'':
case ''g'': {
//對浮點數進行操作
...
#if !LONGDOUBLE_IS_DOUBLE
/* do the conversion */
if (flags & FL_LONGDOUBLE) {
_cldcvt((LONGDOUBLE*)argptr, text, ch, precision, capexp);
va_arg(argptr, LONGDOUBLE);
//對長雙精度型進行處理,此時,type=long double
}
else
#endif /* !LONGDOUBLE_IS_DOUBLE */
{

//對雙精度型進行處理,此時,type=double
_cfltcvt((DOUBLE*)argptr, text, ch, precision, capexp);
va_arg(argptr, DOUBLE);
}
...
break;
//對整型變數處理
case ''d'':
case ''i'':
...
goto COMMON_INT;

case ''u'':
radix = 10;
goto COMMON_INT;

case ''p'':
...
goto COMMON_INT;

case ''o'':
...

註:對於浮點型double和long double,有相應的轉換說明符(%f表示雙精度型,%lf表示長雙精度型),而float卻沒有。其中的原因是,在K&RC下,float值用於表達式或用作參數前,會自動轉換成double類型。而ANSI C一般不會自動把float轉換成double。有些程序已假定其中的float參數會被轉換成double,為了保護大量這樣的程序,所有printf()函數的float參數還是被自動轉換成double型。因此,在K&RC或ANSI C下,都無需用特定的轉換說明符來顯示float型。
綜上所述,轉換說明符必須與待列印字元的類型。通常,用戶有種選擇。例如,如要列印一個int類型的值。則只可以使用%d,%x或%o。所有這些說明符都表示要列印一個int類型的值;它們只不過提供了一個數值的幾種不同表示。類似一,可以用%f、%g和%e來表示double類型的值。但如果轉換說明與類型不匹配,將會出現意想不到的結果。為什麼呢?問題就在於C向函數傳遞信息的方式。
這個失敗的根本細節與具體實現相關。它決定了系統中的參數以何方式傳遞。函數調用如下:
float n1;
double n2;
long n3;
long n4;
...
printf("%ld,%ld,%ld,%ld",n1,n2,n3,n4);
這個調用告訴計算機,要把變數n1,n2,n3和n4的值交給計算機,它把這些變數放進稱作棧(stack)的內存區域中,來完成這一任務。計算機把這些值放進棧中,其根據是變數的類型而不是轉換說明符,比如n1,把8個位元組放入棧中(float被轉換成double),類似地,為n2放了8位元組,其後給n3和n4各放了4個位元組。接著,控制的對象轉移到printf();此函數從棧中讀數,不過在這一過程中,它是在轉換說明符的指導下,讀取數值的。說明符%ld指定printf()應讀4個位元組(va_arg( va_list arg_ptr, type )中type=long),因此printf()讀入棧中的4個位元組,作為它的第一個值。但是這只是n1的前半部分,這個值被看成一個long整數。下一個說明符%ld讀入4個位元組,這正是n1的後半部分,這個值被看成第二個long整數。類似地,第三、第四次又讀入n2的前後兩部分。因此,盡管我們對n3和n4使用了正確的說明符,printf()仍然會產生錯誤。

這里也可以下載
http://mirrors.kernel.org/gnu/glibc/glibc-2.7.tar.gz

『柒』 c語言的圖形函數庫有哪些

圖形和圖像函數包含在graphics.h裡面(一) 像素函數56. putpiel() 畫像素點函數57. getpixel()返回像素色函數(二) 直線和線型函數58. line() 畫線函數59. lineto() 畫線函數60. linerel() 相對畫線函數61. setlinestyle() 設置線型函數62. getlinesettings() 獲取線型設置函數63. setwritemode() 設置畫線模式函數(三)、多邊形函數64. rectangle() 畫矩形函數65. bar() 畫條函數66. bar3d() 畫條塊函數67. drawpoly() 畫多邊形函數(四)、 圓、弧和曲線函數68. getaspectratio()獲取縱橫比函數69. circle()畫圓函數70. arc() 畫圓弧函數71. ellipse()畫橢圓弧函數72. fillellipse() 畫橢圓區函數73. pieslice() 畫扇區函數74. sector() 畫橢圓扇區函數75. getarccoords()獲取圓弧坐標函數(五)、 填充函數76. setfillstyle() 設置填充圖樣和顏色函數77. setfillpattern() 設置用戶圖樣函數78. floodfill() 填充閉域函數79. fillpoly() 填充多邊形函數80. getfillsettings() 獲取填充設置函數81. getfillpattern() 獲取用戶圖樣設置函數(六)、圖像函數82. imagesize() 圖像存儲大小函數83. getimage() 保存圖像函數84. putimage() 輸出圖像函數四、圖形和圖像函數對許多圖形應用程序,直線和曲線是非常有用的。但對有些圖形只能靠操作單個像素才能畫出。當然如果沒有畫像素的功能,就無法操作直線和曲線的函數。而且通過大規模使用像素功能,整個圖形就可以保存、寫、擦除和與屏幕上的原有圖形進行疊加。(一) 像素函數56. putpixel() 畫像素點函數功能: 函數putpixel() 在圖形模式下屏幕上畫一個像素點。用法: 函數調用方式為void putpixel(int x,int y,int color);說明: 參數x,y為像素點的坐標,color是該像素點的顏色,它可以是顏色符號名,也可以是整型色彩值。此函數相應的頭文件是graphics.h返回值: 無例: 在屏幕上(6,8)處畫一個紅色像素點:putpixel(6,8,RED);57. getpixel()返回像素色函數功能: 函數getpixel()返回像素點顏色值。用法: 該函數調用方式為int getpixel(int x,int y);說明: 參數x,y為像素點坐標。函數的返回值可以不反映實際彩色值,這取決於調色板的設置情況(參見setpalette()函數)。這個函數相應的頭文件為graphics.h返回值: 返回一個像素點色彩值。例: 把屏幕上(8,6)點的像素顏色值賦給變數color。color=getpixel(8,6);

『捌』 C語言中的標准函數有哪些

C語言輸入輸出函數有很多,標准I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

int getc(FILE *fp)
getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為 (ch = getc(fp)) != EOF.EOF為文件結束標志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin時,getc(stdin)就等同於getchar()了.

int putc(int ch,FILE *fp)
putc主要是把字元ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.

int getchar(void)

getchar主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字元.當然也可以在while循環中指定終止字元,如下面的語句:while ((c = getchar()) != '#')這是以#來結束的.

int putchar(int ch)

putchar(ch)主要是把字元ch寫到標准流stdout中去.

char * gets(char *str)
gets主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去.

int puts(char *str)
puts主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.

char *fgets(char *str, int num, FILE *fp)
str是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是讀一行字元,該行的字元數不大於num-1.因為fgets函數會在末尾加上一個空字元以構成一個字元串.另外fgets在讀取到換行符後不會將其省略.

int fputs(char *str, file *fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在列印時並不添加換行符.

int fgetc(FILE *fp)
fgetc從fp的當前位置讀取一個字元.

int fputc(int ch, file *fp)
fputc是將ch寫入fp當前指定位置.

int fscanf(FILE *fp, char *format, 輸入列表)
fscanf按照指定格式從文件中出讀出數據,並賦值到參數列表中.

int fprintf(FILE *fp, char *format, 輸出列表)
fprintf將格式化數據寫入流式文件中.

數據塊讀寫函數

fread (buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數說明:
buffer:是一個指針。
對fread 來說,它是讀入數據的存放地址。
對fwrite來說,是要輸出數據的地址(均指起始地址)。
size: 要讀寫的位元組數。
count: 要進行讀寫多少個size位元組的數據項。
fp: 文件型指針。

『玖』 C語言中初等函數有哪些

c語言中的函數分為兩大類,第一個是庫函數,這個是標准函數庫,也就是前輩們編寫好的直接可以拿來使用的啊!關於標准函數庫,網上有下載!第二個是自定義函數,這個你是自己定義的函數!

『拾』 c語言函數

這個我來回答你,你說的函數大全也就是函數庫。這個你可以在你用的編譯系統中找得到,如果你用Turbo c的話在庫函數幫助,那裡就 可以找得到,那裡有簡單的說明和調用的例題。
編譯系統都有自己的函數庫,用來免費提供給程序員的,你用的是別的編譯器就在文件夾目錄里自己找或點幫助。或是上這里http://www.bccn.net/Soft/kfyy/c/200410/13.html

另一種函數庫就是你用的操作系統庫了,我用的是windows。他也有庫,不過他的庫已經封裝成dll文件了,只要在程序里直接掉用這些函數就可以實現。調用的方法就是api(介面的意思)。你可以找一些windows api相關的書籍,或在網上搜索,就可以下載到說明。

還有很多庫函數。也可以在網上下載得到二方庫,和三方庫。http://www.cplusplus.com/reference/clibrary/

希望對你有幫助。