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

c語言標准函數庫速查手冊

發布時間: 2023-05-17 13:26:22

1. 什麼是c語言標准函數庫平常用的哪些函數屬於標准函數庫

你會發現,有一些頭文件(比如stdlib.h,stdio.h)每一個編譯器都有,而裡面的函數(如printf,malloc)每一個編譯器都支持。這些函數組成的集合就是標准函數庫。平常用的函數基本都屬於標准函數庫。
ANSI對此是有規定的

2. 在C中,什麼是標准庫函數

在C語言程序設計里,C 標准函數庫(C Standard library) 是所有符合標準的頭文件(head file)的集合,以及常用的函數庫實現程序,例如I/O 輸入輸出和字元串控制。不像COBOL、Fortran和PL/I等編程語言,在 C 語言的工作任務里不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程序都是由標准函數庫的函數來創建的。

每一個函數的名稱與特性會被寫成一個電腦文件,這個文件就稱為頭文件,但是實際的函數實現是被分存到函數庫文件里。頭文件的命名和領域是很常見的,但是函數庫的組織架構也會因為不同的編譯器而有所不同。標准函數庫通常會隨附在編譯器上。因為 C 編譯器常會提供一些額外的非ANSI C函數功能,所以某個隨附在特定編譯器上的標准函數庫,對其他不同的編譯器來說,是不兼容的。

3. c語言庫函數 下載

我有點呵呵

函數名: abort
功 能: 異常終止一個進程
用 法: void abort(void);
程序例:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
printf("Calling abort()\n");
abort();
return 0; /* This is never reached */
}

函數名: abs
功 能: 求整數的絕對值
用 法: int abs(int i);
程序例:
#include <stdio.h>
#include <math.h>

int main(void)
{
int number = -1234;

printf("number: %d absolute value: %d\n", number, abs(number));
return 0;
}

函數名: absread, abswirte
功 能: 絕對磁碟扇區讀、寫數據
用 法: int absread(int drive, int nsects, int sectno, void *buffer);
int abswrite(int drive, int nsects, in tsectno, void *buffer);
程序例:
/* absread example */

#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <dos.h>

int main(void)
{
int i, strt, ch_out, sector;
char buf[512];

printf("Insert a diskette into drive A and press any key\n");
getch();
sector = 0;
if (absread(0, 1, sector, &buf) != 0)
{
perror("Disk problem");
exit(1);
}
printf("Read OK\n");
strt = 3;
for (i=0; i<80; i++)
{
ch_out = buf[strt+i];
putchar(ch_out);
}
printf("\n");
return(0);
}

函數名: access
功 能: 確定文件的訪問許可權
用 法: int access(const char *filename, int amode);
程序例:
#include <stdio.h>
#include <io.h>

int file_exists(char *filename);

int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
return 0;
}

int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}

函數名: acos
功 能: 反餘弦函數
用 法: double acos(double x);
程序例:
#include <stdio.h>
#include <math.h>

int main(void)
{
double result;
double x = 0.5;

result = acos(x);
printf("The arc cosine of %lf is %lf\n", x, result);
return 0;
}

函數名: allocmem
功 能: 分配DOS存儲
用 法: int allocmem(unsigned size, unsigned *seg);
程序例:
#include <dos.h>
#include <alloc.h>
#include <stdio.h>

int main(void)
{
unsigned int size, segp;
int stat;

size = 64; /* (64 x 16) = 1024 bytes */
stat = allocmem(size, &segp);
if (stat == -1)
printf("Allocated memory at segment: %x\n", segp);
else
printf("Failed: maximum number of paragraphs available is %u\n",
stat);

return 0;
}

函數名: arc
功 能: 畫一弧線
用 法: void far arc(int x, int y, int stangle, int endangle, int radius);
程序例:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy;
int stangle = 45, endangle = 135;
int radius = 100;

/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult(); /* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();

exit(1); /* terminate with an error code */
}

midx = getmaxx() / 2;
midy = getmaxy() / 2;
setcolor(getmaxcolor());

/* draw arc */
arc(midx, midy, stangle, endangle, radius);

/* clean up */
getch();
closegraph();
return 0;
}

函數名: asctime
功 能: 轉換日期和時間為ASCII碼
用 法: char *asctime(const struct tm *tblock);
程序例:
#include <stdio.h>
#include <string.h>
#include <time.h>

int main(void)
{
struct tm t;
char str[80];

/* sample loading of tm structure */

t.tm_sec = 1; /* Seconds */
t.tm_min = 30; /* Minutes */
t.tm_hour = 9; /* Hour */
t.tm_mday = 22; /* Day of the Month */
t.tm_mon = 11; /* Month */
t.tm_year = 56; /* Year - does not include century */
t.tm_wday = 4; /* Day of the week */
t.tm_yday = 0; /* Does not show in asctime */
t.tm_isdst = 0; /* Is Daylight SavTime; does not show in asctime */

/* converts structure to null terminated
string */

strcpy(str, asctime(&t));
printf("%s\n", str);

return 0;
}

函數名: asin
功 能: 反正弦函數
用 法: double asin(double x);
程序例:
#include <stdio.h>
#include <math.h>

int main(void)
{
double result;
double x = 0.5;

result = asin(x);
printf("The arc sin of %lf is %lf\n", x, result);
return(0);
}

函數名: assert
功 能: 測試一個條件並可能使程序終止
用 法: void assert(int test);
程序例:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

struct ITEM {
int key;
int value;
};

/* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
assert(itemptr != NULL);
/* add item to list */
}

int main(void)
{
additem(NULL);
return 0;
}

函數名: atan
功 能: 反正切函數
用 法: double atan(double x);
程序例:
#include <stdio.h>
#include <math.h>

int main(void)
{
double result;
double x = 0.5;

result = atan(x);
printf("The arc tangent of %lf is %lf\n", x, result);
return(0);
}

函數名: atan2
功 能: 計算Y/X的反正切值
用 法: double atan2(double y, double x);
程序例:
#include <stdio.h>
#include <math.h>

int main(void)
{
double result;
double x = 90.0, y = 45.0;

result = atan2(y, x);
printf("The arc tangent ratio of %lf is %lf\n", (y / x), result);
return 0;
}

函數名: atexit
功 能: 注冊終止函數
用 法: int atexit(atexit_t func);
程序例:
#include <stdio.h>
#include <stdlib.h>

void exit_fn1(void)
{
printf("Exit function #1 called\n");
}

void exit_fn2(void)
{
printf("Exit function #2 called\n");
}

int main(void)
{
/* post exit function #1 */
atexit(exit_fn1);
/* post exit function #2 */
atexit(exit_fn2);
return 0;
}

函數名: atof
功 能: 把字元串轉換成浮點數
用 法: double atof(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
float f;
char *str = "12345.67";

f = atof(str);
printf("string = %s float = %f\n", str, f);
return 0;
}

函數名: atoi
功 能: 把字元串轉換成長整型數
用 法: int atoi(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int n;
char *str = "12345.67";

n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}

函數名: atol
功 能: 把字元串轉換成長整型數
用 法: long atol(const char *nptr);
程序例:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
long l;
char *str = "98765432";

l = atol(lstr);
printf("string = %s integer = %ld\n", str, l);
return(0);
}

目錄

Null's

4. C語言函數參考手冊的前言

C語言作為當前程序開發中最流行的編程語言之一,以其簡單、高效、快捷、方便的特性吸引了大批用戶。根據筆者使用C語言的經驗,相信對C語言程序開發人員來說,C語言函數參考手冊是必需的。因此,筆者編寫了本書,希望能真正幫助C語言程序開發人員在編程時實現易查、易學、易用,並使其成為程序開發必備的工具書。
本書內容
本書按照C語言庫函數的頭文件進行分類,每個頭文件為一章內容,分別介紹了對應頭文件中常用的C語言函數。對每個頭文件中的函數按照字母進行排序,其中每個函數都按照功能、語法來介紹,在每個方法後都有相關的示例。
本書特點
* 即查、即學、即用
本書將查、學、用結合為一體,讀者能夠使用本書進行快速查詢和快速應用,既是實用的工具書,也是學習的參考書。
* 字母排序,快捷搜索
本書在講解C語言函數時按照頭文件進行分類,用戶在使用時可以根據頭文件快速地縮小查找范圍,並且每個頭文件以字母順序進行排序,以便讀者更快、更准確地查找相關內容。
* 內容全面,示例豐富
本書內容涵蓋了學習C語言應用的各方面技術。為了便於讀者快速掌握每個知識點,每個知識點都給出對應的一個或多個示例,並提供了詳盡的注釋。
* 精彩欄目,貼心提醒
本書根據需要在各章使用了「注意」、「說明」和「技巧」等小欄目,讓讀者可以在學習過程中更輕松地理解相關知識點及概念,並輕松地掌握個別技術的應用技巧。
本書配套資源
本書提供了內容豐富的配套資源,包括源程序、素材,以及模塊庫、案例庫、題庫、素材庫等多項輔助內容,讀者朋友可以通過如下方式獲取。
第1種方式:
(1)登錄清華大學出版社的網站,在網頁右上角的搜索文本框中輸入本書書名(注意區分大小寫和留出空格),或者輸入本書關鍵字,或者輸入本書ISBN號(注意去掉ISBN號間隔線「-」),單擊「搜索」按鈕。
(2)找到本書後單擊超鏈接,在該書的網頁下側單擊「網路資源」超鏈接,即可下載。
第2種方式:
訪問本書的新浪微博:C語言圖書,找到配套資源的鏈接地址進行下載。
讀者對象
本書適合以下人群閱讀。
? 初學編程的自學者 ? 編程愛好者
? 大中專院校的老師和學生 ? 相關培訓機構的老師和學員
? 初、中級程序開發人員 ? 程序測試及維護人員
? 參加實習的程序員

5. C語言演算法速查手冊的目錄

第1章緒論1
1.1程序設計語言概述1
1.1.1機器語言1
1.1.2匯編語言2
1.1.3高級語言2
1.1.4C語言3
1.2C語言的優點和缺點4
1.2.1C語言的優點4
1.2.2C語言的缺點6
1.3演算法概述7
1.3.1演算法的基本特徵7
1.3.2演算法的復雜度8
1.3.3演算法的准確性10
1.3.4演算法的穩定性14
第2章復數運算18
2.1復數的四則運算18
2.1.1[演算法1]復數乘法18
2.1.2[演算法2]復數除法20
2.1.3【實例5】 復數的四則運算22
2.2復數的常用函數運算23
2.2.1[演算法3]復數的乘冪23
2.2.2[演算法4]復數的n次方根25
2.2.3[演算法5]復數指數27
2.2.4[演算法6]復數對數29
2.2.5[演算法7]復數正弦30
2.2.6[演算法8]復數餘弦32
2.2.7【實例6】 復數的函數運算34
第3章多項式計算37
3.1多項式的表示方法37
3.1.1系數表示法37
3.1.2點表示法38
3.1.3[演算法9]系數表示轉化為點表示38
3.1.4[演算法10]點表示轉化為系數表示42
3.1.5【實例7】系數表示法與點表示法的轉化46
3.2多項式運算47
3.2.1[演算法11]復系數多項式相乘47
3.2.2[演算法12]實系數多項式相乘50
3.2.3[演算法13]復系數多項式相除52
3.2.4[演算法14]實系數多項式相除54
3.2.5【實例8】復系數多項式的乘除法56
3.2.6【實例9】實系數多項式的乘除法57
3.3多項式的求值59
3.3.1[演算法15]一元多項式求值59
3.3.2[演算法16]一元多項式多組求值60
3.3.3[演算法17]二元多項式求值63
3.3.4【實例10】一元多項式求值65
3.3.5【實例11】二元多項式求值66
第4章矩陣計算68
4.1矩陣相乘68
4.1.1[演算法18]實矩陣相乘68
4.1.2[演算法19]復矩陣相乘70
4.1.3【實例12】 實矩陣與復矩陣的乘法72
4.2矩陣的秩與行列式值73
4.2.1[演算法20]求矩陣的秩73
4.2.2[演算法21]求一般矩陣的行列式值76
4.2.3[演算法22]求對稱正定矩陣的行列式值80
4.2.4【實例13】 求矩陣的秩和行列式值82
4.3矩陣求逆84
4.3.1[演算法23]求一般復矩陣的逆84
4.3.2[演算法24]求對稱正定矩陣的逆90
4.3.3[演算法25]求托貝里斯矩陣逆的Trench方法92
4.3.4【實例14】 驗證矩陣求逆演算法97
4.3.5【實例15】 驗證T矩陣求逆演算法99
4.4矩陣分解與相似變換102
4.4.1[演算法26]實對稱矩陣的LDL分解102
4.4.2[演算法27]對稱正定實矩陣的Cholesky分解104
4.4.3[演算法28]一般實矩陣的全選主元LU分解107
4.4.4[演算法29]一般實矩陣的QR分解112
4.4.5[演算法30]對稱實矩陣相似變換為對稱三對角陣116
4.4.6[演算法31]一般實矩陣相似變換為上Hessen-Burg矩陣121
4.4.7【實例16】 對一般實矩陣進行QR分解126
4.4.8【實例17】 對稱矩陣的相似變換127
4.4.9【實例18】 一般實矩陣相似變換129
4.5矩陣特徵值的計算130
4.5.1[演算法32]求上Hessen-Burg矩陣全部特徵值的QR方法130
4.5.2[演算法33]求對稱三對角陣的全部特徵值137
4.5.3[演算法34]求對稱矩陣特徵值的雅可比法143
4.5.4[演算法35]求對稱矩陣特徵值的雅可比過關法147
4.5.5【實例19】 求上Hessen-Burg矩陣特徵值151
4.5.6【實例20】 分別用兩種雅克比法求對稱矩陣特徵值152
第5章線性代數方程組的求解154
5.1高斯消去法154
5.1.1[演算法36]求解復系數方程組的全選主元高斯消去法155
5.1.2[演算法37]求解實系數方程組的全選主元高斯消去法160
5.1.3[演算法38]求解復系數方程組的全選主元高斯-約當消去法163
5.1.4[演算法39]求解實系數方程組的全選主元高斯-約當消去法168
5.1.5[演算法40]求解大型稀疏系數矩陣方程組的高斯-約當消去法171
5.1.6[演算法41]求解三對角線方程組的追趕法174
5.1.7[演算法42]求解帶型方程組的方法176
5.1.8【實例21】 解線性實系數方程組179
5.1.9【實例22】 解線性復系數方程組180
5.1.10【實例23】 解三對角線方程組182
5.2矩陣分解法184
5.2.1[演算法43]求解對稱方程組的LDL分解法184
5.2.2[演算法44]求解對稱正定方程組的Cholesky分解法186
5.2.3[演算法45]求解線性最小二乘問題的QR分解法188
5.2.4【實例24】 求解對稱正定方程組191
5.2.5【實例25】 求解線性最小二乘問題192
5.3迭代方法193
5.3.1[演算法46]病態方程組的求解193
5.3.2[演算法47]雅克比迭代法197
5.3.3[演算法48]高斯-塞德爾迭代法200
5.3.4[演算法49]超鬆弛方法203
5.3.5[演算法50]求解對稱正定方程組的共軛梯度方法205
5.3.6[演算法51]求解托貝里斯方程組的列文遜方法209
5.3.7【實例26】 解病態方程組214
5.3.8【實例27】 用迭代法解方程組215
5.3.9【實例28】 求解托貝里斯方程組217
第6章非線性方程與方程組的求解219
6.1非線性方程求根的基本過程219
6.1.1確定非線性方程實根的初始近似值或根的所在區間219
6.1.2求非線性方程根的精確解221
6.2求非線性方程一個實根的方法221
6.2.1[演算法52]對分法221
6.2.2[演算法53]牛頓法223
6.2.3[演算法54]插值法226
6.2.4[演算法55]埃特金迭代法229
6.2.5【實例29】 用對分法求非線性方程組的實根232
6.2.6【實例30】 用牛頓法求非線性方程組的實根233
6.2.7【實例31】 用插值法求非線性方程組的實根235
6.2.8【實例32】 用埃特金迭代法求非線性方程組的實根237
6.3求實系數多項式方程全部根的方法238
6.3.1[演算法56]QR方法238
6.3.2【實例33】用QR方法求解多項式的全部根240
6.4求非線性方程組一組實根的方法241
6.4.1[演算法57]梯度法241
6.4.2[演算法58]擬牛頓法244
6.4.3【實例34】 用梯度法計算非線性方程組的一組實根250
6.4.4【實例35】 用擬牛頓法計算非線性方程組的一組實根252
第7章代數插值法254
7.1拉格朗日插值法254
7.1.1[演算法59]線性插值255
7.1.2[演算法60]二次拋物線插值256
7.1.3[演算法61]全區間插值259
7.1.4【實例36】 拉格朗日插值262
7.2埃爾米特插值263
7.2.1[演算法62]埃爾米特不等距插值263
7.2.2[演算法63]埃爾米特等距插值267
7.2.3【實例37】 埃爾米特插值法270
7.3埃特金逐步插值271
7.3.1[演算法64]埃特金不等距插值272
7.3.2[演算法65]埃特金等距插值275
7.3.3【實例38】 埃特金插值278
7.4光滑插值279
7.4.1[演算法66]光滑不等距插值279
7.4.2[演算法67]光滑等距插值283
7.4.3【實例39】 光滑插值286
7.5三次樣條插值287
7.5.1[演算法68]第一類邊界條件的三次樣條函數插值287
7.5.2[演算法69]第二類邊界條件的三次樣條函數插值292
7.5.3[演算法70]第三類邊界條件的三次樣條函數插值296
7.5.4【實例40】 樣條插值法301
7.6連分式插值303
7.6.1[演算法71]連分式插值304
7.6.2【實例41】 驗證連分式插值的函數308
第8章數值積分法309
8.1變步長求積法310
8.1.1[演算法72]變步長梯形求積法310
8.1.2[演算法73]自適應梯形求積法313
8.1.3[演算法74]變步長辛卜生求積法316
8.1.4[演算法75]變步長辛卜生二重積分方法318
8.1.5[演算法76]龍貝格積分322
8.1.6【實例42】 變步長積分法進行一重積分325
8.1.7【實例43】 變步長辛卜生積分法進行二重積分326
8.2高斯求積法328
8.2.1[演算法77]勒讓德-高斯求積法328
8.2.2[演算法78]切比雪夫求積法331
8.2.3[演算法79]拉蓋爾-高斯求積法334
8.2.4[演算法80]埃爾米特-高斯求積法336
8.2.5[演算法81]自適應高斯求積方法337
8.2.6【實例44】 有限區間高斯求積法342
8.2.7【實例45】 半無限區間內高斯求積法343
8.2.8【實例46】 無限區間內高斯求積法345
8.3連分式法346
8.3.1[演算法82]計算一重積分的連分式方法346
8.3.2[演算法83]計算二重積分的連分式方法350
8.3.3【實例47】 連分式法進行一重積分354
8.3.4【實例48】 連分式法進行二重積分355
8.4蒙特卡洛法356
8.4.1[演算法84]蒙特卡洛法進行一重積分356
8.4.2[演算法85]蒙特卡洛法進行二重積分358
8.4.3【實例49】 一重積分的蒙特卡洛法360
8.4.4【實例50】 二重積分的蒙特卡洛法361
第9章常微分方程(組)初值問題的求解363
9.1歐拉方法364
9.1.1[演算法86]定步長歐拉方法364
9.1.2[演算法87]變步長歐拉方法366
9.1.3[演算法88]改進的歐拉方法370
9.1.4【實例51】 歐拉方法求常微分方程數值解372
9.2龍格-庫塔方法376
9.2.1[演算法89]定步長龍格-庫塔方法376
9.2.2[演算法90]變步長龍格-庫塔方法379
9.2.3[演算法91]變步長基爾方法383
9.2.4【實例52】 龍格-庫塔方法求常微分方程的初值問題386
9.3線性多步法390
9.3.1[演算法92]阿當姆斯預報校正法390
9.3.2[演算法93]哈明方法394
9.3.3[演算法94]全區間積分的雙邊法399
9.3.4【實例53】 線性多步法求常微分方程組初值問題401
第10章擬合與逼近405
10.1一元多項式擬合405
10.1.1[演算法95]最小二乘擬合405
10.1.2[演算法96]最佳一致逼近的里米茲方法412
10.1.3【實例54】 一元多項式擬合417
10.2矩形區域曲面擬合419
10.2.1[演算法97]矩形區域最小二乘曲面擬合419
10.2.2【實例55】 二元多項式擬合428
第11章特殊函數430
11.1連分式級數和指數積分430
11.1.1[演算法98]連分式級數求值430
11.1.2[演算法99]指數積分433
11.1.3【實例56】 連分式級數求值436
11.1.4【實例57】 指數積分求值438
11.2伽馬函數439
11.2.1[演算法100]伽馬函數439
11.2.2[演算法101]貝塔函數441
11.2.3[演算法102]階乘442
11.2.4【實例58】伽馬函數和貝塔函數求值443
11.2.5【實例59】階乘求值444
11.3不完全伽馬函數445
11.3.1[演算法103]不完全伽馬函數445
11.3.2[演算法104]誤差函數448
11.3.3[演算法105]卡方分布函數450
11.3.4【實例60】不完全伽馬函數求值451
11.3.5【實例61】誤差函數求值452
11.3.6【實例62】卡方分布函數求值453
11.4不完全貝塔函數454
11.4.1[演算法106]不完全貝塔函數454
11.4.2[演算法107]學生分布函數457
11.4.3[演算法108]累積二項式分布函數458
11.4.4【實例63】不完全貝塔函數求值459
11.5貝塞爾函數461
11.5.1[演算法109]第一類整數階貝塞爾函數461
11.5.2[演算法110]第二類整數階貝塞爾函數466
11.5.3[演算法111]變型第一類整數階貝塞爾函數469
11.5.4[演算法112]變型第二類整數階貝塞爾函數473
11.5.5【實例64】貝塞爾函數求值476
11.5.6【實例65】變型貝塞爾函數求值477
11.6Carlson橢圓積分479
11.6.1[演算法113]第一類橢圓積分479
11.6.2[演算法114]第一類橢圓積分的退化形式481
11.6.3[演算法115]第二類橢圓積分483
11.6.4[演算法116]第三類橢圓積分486
11.6.5【實例66】第一類勒讓德橢圓函數積分求值490
11.6.6【實例67】第二類勒讓德橢圓函數積分求值492
第12章極值問題494
12.1一維極值求解方法494
12.1.1[演算法117]確定極小值點所在的區間494
12.1.2[演算法118]一維黃金分割搜索499
12.1.3[演算法119]一維Brent方法502
12.1.4[演算法120]使用一階導數的Brent方法506
12.1.5【實例68】使用黃金分割搜索法求極值511
12.1.6【實例69】使用Brent法求極值513
12.1.7【實例70】使用帶導數的Brent法求極值515
12.2多元函數求極值517
12.2.1[演算法121]不需要導數的一維搜索517
12.2.2[演算法122]需要導數的一維搜索519
12.2.3[演算法123]Powell方法522
12.2.4[演算法124]共軛梯度法525
12.2.5[演算法125]准牛頓法531
12.2.6【實例71】驗證不使用導數的一維搜索536
12.2.7【實例72】用Powell演算法求極值537
12.2.8【實例73】用共軛梯度法求極值539
12.2.9【實例74】用准牛頓法求極值540
12.3單純形法542
12.3.1[演算法126]求無約束條件下n維極值的單純形法542
12.3.2[演算法127]求有約束條件下n維極值的單純形法548
12.3.3[演算法128]解線性規劃問題的單純形法556
12.3.4【實例75】用單純形法求無約束條件下N維的極值568
12.3.5【實例76】用單純形法求有約束條件下N維的極值569
12.3.6【實例77】求解線性規劃問題571
第13章隨機數產生與統計描述574
13.1均勻分布隨機序列574
13.1.1[演算法129]產生0到1之間均勻分布的一個隨機數574
13.1.2[演算法130]產生0到1之間均勻分布的隨機數序列576
13.1.3[演算法131]產生任意區間內均勻分布的一個隨機整數577
13.1.4[演算法132]產生任意區間內均勻分布的隨機整數序列578
13.1.5【實例78】產生0到1之間均勻分布的隨機數序列580
13.1.6【實例79】產生任意區間內均勻分布的隨機整數序列581
13.2正態分布隨機序列582
13.2.1[演算法133]產生任意均值與方差的正態分布的一個隨機數582
13.2.2[演算法134]產生任意均值與方差的正態分布的隨機數序列585
13.2.3【實例80】產生任意均值與方差的正態分布的一個隨機數587
13.2.4【實例81】產生任意均值與方差的正態分布的隨機數序列588
13.3統計描述589
13.3.1[演算法135]分布的矩589
13.3.2[演算法136]方差相同時的t分布檢驗591
13.3.3[演算法137]方差不同時的t分布檢驗594
13.3.4[演算法138]方差的F檢驗596
13.3.5[演算法139]卡方檢驗599
13.3.6【實例82】計算隨機樣本的矩601
13.3.7【實例83】t分布檢驗602
13.3.8【實例84】F分布檢驗605
13.3.9【實例85】檢驗卡方檢驗的演算法607
第14章查找609
14.1基本查找609
14.1.1[演算法140]有序數組的二分查找609
14.1.2[演算法141]無序數組同時查找最大和最小的元素611
14.1.3[演算法142]無序數組查找第M小的元素613
14.1.4【實例86】基本查找615
14.2結構體和磁碟文件的查找617
14.2.1[演算法143]無序結構體數組的順序查找617
14.2.2[演算法144]磁碟文件中記錄的順序查找618
14.2.3【實例87】結構體數組和文件中的查找619
14.3哈希查找622
14.3.1[演算法145]字元串哈希函數622
14.3.2[演算法146]哈希函數626
14.3.3[演算法147]向哈希表中插入元素628
14.3.4[演算法148]在哈希表中查找元素629
14.3.5[演算法149]在哈希表中刪除元素631
14.3.6【實例88】構造哈希表並進行查找632
第15章排序636
15.1插入排序636
15.1.1[演算法150]直接插入排序636
15.1.2[演算法151]希爾排序637
15.1.3【實例89】插入排序639
15.2交換排序641
15.2.1[演算法152]氣泡排序641
15.2.2[演算法153]快速排序642
15.2.3【實例90】交換排序644
15.3選擇排序646
15.3.1[演算法154]直接選擇排序646
15.3.2[演算法155]堆排序647
15.3.3【實例91】選擇排序650
15.4線性時間排序651
15.4.1[演算法156]計數排序651
15.4.2[演算法157]基數排序653
15.4.3【實例92】線性時間排序656
15.5歸並排序657
15.5.1[演算法158]二路歸並排序658
15.5.2【實例93】二路歸並排序660
第16章數學變換與濾波662
16.1快速傅里葉變換662
16.1.1[演算法159]復數據快速傅里葉變換662
16.1.2[演算法160]復數據快速傅里葉逆變換666
16.1.3[演算法161]實數據快速傅里葉變換669
16.1.4【實例94】驗證傅里葉變換的函數671
16.2其他常用變換674
16.2.1[演算法162]快速沃爾什變換674
16.2.2[演算法163]快速哈達瑪變換678
16.2.3[演算法164]快速餘弦變換682
16.2.4【實例95】驗證沃爾什變換和哈達瑪的函數684
16.2.5【實例96】驗證離散餘弦變換的函數687
16.3平滑和濾波688
16.3.1[演算法165]五點三次平滑689
16.3.2[演算法166]α-β-γ濾波690
16.3.3【實例97】驗證五點三次平滑692
16.3.4【實例98】驗證α-β-γ濾波演算法693

6. C語言常用函數速查手冊的介紹

本書全面、系統地講解了C語言相關的21個函數庫,所涉及的函數多悉燃達352個。為了方便讀者學塌陸信習,每一個函數都依次對其作用、語法形式、參數、返回值進行了講解。同時,每個函數都配有專門的例子,供讀者參考學習。最後給出了本書所涉及C語言函數的索團輪引,便於讀者檢索。