C語言程序設(shè)計(jì)課程設(shè)計(jì)(小結(jié)版)_第1頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)(小結(jié)版)_第2頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)(小結(jié)版)_第3頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)(小結(jié)版)_第4頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)(小結(jié)版)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C語言程序設(shè)計(jì)課程小結(jié)要求一、小結(jié)內(nèi)容1.關(guān)鍵字小結(jié): 表格形式列出所有32個(gè)關(guān)鍵字,簡要說明其作用(1面)。auto 聲明自動變量,缺省時(shí)編譯器一般默認(rèn)為autoint 聲明整型變量double 聲明雙精度變量long 聲明長整型變量char 聲明字符型變量float 聲明浮點(diǎn)型變量short 聲明短整型變量signed 聲明有符號類型變量unsigned 聲明無符號類型變量struct 聲明結(jié)構(gòu)體變量union 聲明聯(lián)合數(shù)據(jù)類型enum 聲明枚舉類型static 聲明靜態(tài)變量switch 用于開關(guān)語句case 開關(guān)語句分支default 開關(guān)語句中的“其他”分支break 跳出當(dāng)前循環(huán)re

2、gister 聲明寄存器變量const 聲明只讀變量volatile 說明變量在程序執(zhí)行中可被隱含地改變typedef 用以給數(shù)據(jù)類型取別名(當(dāng)然還有其他作用)extern 聲明變量是在其他文件正聲明(也可以看做是引用變量)return 子程序返回語句(可以帶參數(shù),也可不帶參數(shù))void 聲明函數(shù)無返回值或無參數(shù),聲明空類型指針continue 結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán)do 循環(huán)語句的循環(huán)體while 循環(huán)語句的循環(huán)條件if 條件語句else 條件語句否定分支(與 if 連用)for 一種循環(huán)語句(可意會不可言傳)goto 無條件跳轉(zhuǎn)語句sizeof 計(jì)算對象所占內(nèi)存空間大小2.運(yùn)算符小結(jié)

3、:表格形式列出所有45個(gè)運(yùn)算符的符號、名稱、優(yōu)先級、結(jié)合性、運(yùn)算目數(shù)(1面)。優(yōu)先級運(yùn)算符名稱或含義結(jié)合方向運(yùn)算目數(shù)1 數(shù)組下標(biāo)左到右 ()圓括號.成員選擇(對象)->成員選擇(指針)2-負(fù)號運(yùn)算符右到左單目運(yùn)算符(類型)強(qiáng)制類型轉(zhuǎn)換+自增運(yùn)算符-自減運(yùn)算符*取址運(yùn)算符&取地址運(yùn)算符!邏輯非運(yùn)算符按位取反運(yùn)算符sizeof長度運(yùn)算符3/除左到右雙目運(yùn)算符*乘%余數(shù)(取模)4+加左到右-減5<<左移左到右>>右移6>大于左到右>=大于等于<小于<=小于等于7= 等于左到右!= 不等于8& 按位與左到右9 按位異或左到右10|

4、按位或左到右11&& 邏輯與左到右12| 邏輯或左到右13? : 條件運(yùn)算符右到左三目運(yùn)算符 14=賦值運(yùn)算符右到左雙目運(yùn)算符/=除后賦值*=乘后賦值%=取模后賦值+=加后賦值-=減后賦值<<=左移后賦值>>=右移后賦值&=按位與后賦值=按位異或后賦值|=按位或后賦值15,逗號運(yùn)算符左到右3.數(shù)據(jù)類型小結(jié):表格形式列出11個(gè)基本類型的說明符、字節(jié)數(shù)、范圍(1面)。說明符字節(jié)數(shù)范圍char1-128127signed char1-128127unsigned char10255signed short2-3276832767unsigned sho

5、rt2065535signed int4-21474836482147483647signed long4-21474836482147483647unsigned long404294967295float4-3.4E-383.4E+38double81.7E-3081.7E+308long double81.7E-3081.7E+3084.預(yù)處理命令小結(jié):列出11個(gè)預(yù)處理命令,并簡要說明其作用(1面)。#define: 定義宏#undef: 取消已定義的宏#include: 包含一個(gè)源代碼文件#if: 如果給定條件為真,則編譯下面代碼#ifdef: 如果宏已經(jīng)定義,則編譯下面代碼#ifnd

6、ef: 如果宏沒有定義,則編譯下面代碼#else:建立另一個(gè)選擇(在#if失敗的情況下)#elif: 如果前面的#if給定條件不為真,當(dāng)前條件為真,則編譯下面代碼#endif: 結(jié)束一個(gè)#if#else條件編譯塊Defined: 在#if 和#elif表達(dá)式中,常常是用defined運(yùn)算符來檢查是否定義了預(yù)處理器標(biāo)識符5.標(biāo)準(zhǔn)函數(shù)小結(jié):按頭文件(15個(gè))列出每個(gè)頭文件中的函數(shù)(146)、宏(86)、類型(18)、變量(1),共251個(gè)(25面),要求給出函數(shù)原型聲明、作用、成功返回和失敗返回的值。頭文件函數(shù)原型聲明、宏定義作用返回的值assert.hvoid assert(int expres

7、sion)測試一個(gè)條件并可能使程序終止無ctype.hint iscntrl(int c)測試控制字符如果c是控制字符,返回非零值;否則返回零int isprint(int c)測試顯示字符如果c是顯示字符(包括空格),返回非零值;否則返回零int isgraph(int c)測試圖形字符如果c是顯示字符(除了空格),返回非零值;否則返回零int isalnum(int c)測試是字母或數(shù)字如果isalnum是字母或數(shù)字,返回非零值;否則返回零。(如果isalph(c)或isdigit(c)為真,則c是字母或數(shù)字。)int isalpha(int c)測試字母如果isalnum是字母,返回非零

8、值;否則返回零。(如果islower(c)或isupper(c)為真,則c是字母。)int isupper(int c)測試大寫字母如果c是大寫字母,返回非零值;否則返回零int islower(int c)測試小寫字母如果c是小寫字母,返回非零值;否則返回零int isdigit(int c)測試數(shù)字如果c是數(shù)字,返回非零值;否則返回零int isxdigit(int c)測試十六進(jìn)制數(shù)字如果c是十六進(jìn)制數(shù)字(0-9、a-f、A-F),返回非零值;否則返回零int ispunct(int c)測試標(biāo)點(diǎn)字符如果c是標(biāo)點(diǎn)符號字符,返回非零值;否則返回零。除了空格、字母和數(shù)字字符以外,所有顯示字符

9、都可以看成是標(biāo)點(diǎn)符號int isspace(int c)測試空白字符如果c是空白字符,返回非零值;否則返回零??瞻鬃址锌崭瘢?#39; ')、換頁符('f')、換行符('n')、回車符('r'),橫向制表符('t')和縱向制表符('v')int tolower(int c)轉(zhuǎn)換成小寫字母如果c是大寫字母,則返回相應(yīng)的小寫字母。如果c不是大寫字母,則返回?zé)o變化的cint toupper(int c)轉(zhuǎn)換成大寫字母如果c是小寫字母,則返回相應(yīng)的大寫字母。如果c不是小寫字母,則返回?zé)o變化的cerrno.h#de

10、fine EDOM源自于函數(shù)的參數(shù)超出范圍,例如 sqrt(-1)#define ERANGE源自于函數(shù)的結(jié)果超出范圍extern int errno定義為一個(gè)int型態(tài)的左值, 包含任何函數(shù)使用errno功能所產(chǎn)生的上一個(gè)錯(cuò)誤碼float.h#define FLT_RADIX2 定義指數(shù)的基本表示(如base-2是二進(jìn)制,base-10是十進(jìn)制表示法,16是十六進(jìn)制)#define FLT_ROUNDS定義浮點(diǎn)型數(shù)值四舍五入的方式,-1是不確定,0是向0,1是向最近,2是向正無窮大,3是負(fù)無窮大#define FLT_DIG6 float類型精度(小數(shù)位數(shù))#define FLT_EPSIL

11、ON1E-5 使“1.0 + x != 1.0”成立的最小x#define FLT_MANT_DIG基數(shù)為FLT_RADIX的尾數(shù)中的數(shù)字?jǐn)?shù)#define FLT_MAX1E+37 最大浮點(diǎn)數(shù)#define FLT_MIN1E-37 最小的規(guī)范化浮點(diǎn)數(shù)#define FLT_MAX_EXP使FLT_RADIX(n-1)可表示的最大n#define FLT_MIN_EXP使10n為規(guī)范化數(shù)的最小n#define FLT_MAX_10_EXP10進(jìn)制表示法的的指數(shù)的最大整數(shù)值#define FLT_MIN_10_EXP10進(jìn)制表示法的的指數(shù)的最小整數(shù)值#define DBL_DIG10 doubl

12、e類型精度(小數(shù)位數(shù))#define DBL_EPSILON1E-9 使“1.0 + x != 1.0”成立的最小x#define DBL_MANT_DIG基數(shù)為FLT_RADIX的尾數(shù)中的數(shù)字?jǐn)?shù)#define DBL_MAX1E+37 最大雙精度浮點(diǎn)數(shù)#define DBL_MIN1E-37 最小的規(guī)范化雙精度浮點(diǎn)數(shù)#define DBL_MAX_EXP使FLT_RADIX(n-1)可表示的最大n#define DBL_MIN_EXP使10n為規(guī)范化數(shù)的最小n#define DBL_MAX_10_EXP10進(jìn)制表示法的的指數(shù)的最大整數(shù)值#define DBL_MIN_10_EXP10進(jìn)制表示

13、法的的指數(shù)的最小整數(shù)值#define LDBL_DIGLong double類型精度(小數(shù)位數(shù))#define LDBL_EPSILON能表示的最小有符號數(shù)#define LDBL_MANT_DIG定義數(shù)值里數(shù)字的個(gè)數(shù)#define LDBL_MAX浮點(diǎn)型的最大限#define LDBL_MIN浮點(diǎn)型的最小限#define LDBL_MAX_EXP指數(shù)的最大整數(shù)值#define LDBL_MIN_EXP指數(shù)的最小整數(shù)值#define LDBL_MAX_10_EXP10進(jìn)制表示法的的指數(shù)的最大整數(shù)值#define LDBL_MIN_10_EXP10進(jìn)制表示法的的指數(shù)的最小整數(shù)值limits.h#

14、define CHAR_BIT8 char類型的位數(shù)#define SCHAR_MAX+127 signed char類型的最大值#define SCHAR_MIN-127 signed char類型的最小值#define UCHAR_MAX255 unsigned char類型的最大值#define CHAR_MAXUCHAR_MA或SCHAR_MAX char類型的最大值#define CHAR_MIN0或SCHAR_MINchar類型的最小值#define SHRT_MAX+32767 short類型的最大值#define SHRT_MIN-32768 short類型的最小值#defin

15、e USHRT_MAX65535 unsigned short的最大值#define INT_MIN-32768 int類型的最小值#define INT_MAX32767 int類型的最大值#define UINT_MAX65535 unsigned int類型的最大值#define LONG_MIN-2147483648 long類型的最小值#define LONG_MAX2147483647 long的最大值#define ULONG_MAX4294967295 unsigned long的最大值locale.hstruct lconv保存當(dāng)前區(qū)域中的數(shù)字和貨幣信息#define LC_

16、ALL全部本地化信息#define LC_COLLATE影響strcoll和strxfrm#define LC_CTYPE影響字符處理函數(shù)和多行字符處理函數(shù)#define LC_MONETARY影響localeconv返回的貨幣格式化信息#define LC_NUMERIC影響格式化輸入輸出字符中的小數(shù)點(diǎn)符號#define LC_TIME影響strftime函數(shù)char * setlocale(int category,char* local)設(shè)置地區(qū)如果locale是空指針,就返回一個(gè)指向與當(dāng)前地區(qū)的category相關(guān)的字符串的指針。否則,返回一個(gè)指向與新地區(qū)的category相關(guān)的字符串

17、的指針。如果操作失敗,則返回空指針struct lconv * localeconv(void);獲取區(qū)域轉(zhuǎn)換指向結(jié)構(gòu)的指針,此結(jié)構(gòu)含有當(dāng)前區(qū)域信息math.hdouble sin(double x)計(jì)算sinx的值計(jì)算結(jié)果double cos(double x)計(jì)算cosx的值計(jì)算結(jié)果double tan(double x)計(jì)算tanx的值計(jì)算結(jié)果double asin(double x)計(jì)算的值計(jì)算結(jié)果double acos(double x)計(jì)算的值計(jì)算結(jié)果double atan(double x)計(jì)算的值計(jì)算結(jié)果double atan2(double y, double x)計(jì)算的值計(jì)

18、算結(jié)果double sinh(double x)計(jì)算sinhx的值計(jì)算結(jié)果double cosh(double x)計(jì)算coshx的值計(jì)算結(jié)果double tanh(double x)計(jì)算tanhx的值計(jì)算結(jié)果double exp(double x)計(jì)算ey的值計(jì)算結(jié)果double log(double x)計(jì)算lnx的值計(jì)算結(jié)果double log10(double x)計(jì)算的值計(jì)算結(jié)果double pow(double x, double y)計(jì)算xy的值計(jì)算結(jié)果double sqrt(double x)計(jì)算的值計(jì)算結(jié)果double ceil(double x)上整數(shù)大于或等于x的最小整數(shù)

19、。double floor(double x)向下取整小于或等于x的最大整數(shù)。double fabs(double x)浮點(diǎn)數(shù)的絕對值x的絕對值double ldexp(double x, int n)聯(lián)合小數(shù)和指數(shù)x × 2exp的值。可能會發(fā)生取值范圍錯(cuò)誤。double frexp(double x, int* exp)分解成小數(shù)和指數(shù)f,即value的小數(shù)部分double modf(double x, double* ip)分解成整數(shù)和小數(shù)部分value的小數(shù)部分double fmod(double x, double y)浮點(diǎn)模數(shù)x除以y的余數(shù)。如果y為零,是發(fā)生定義域錯(cuò)誤還

20、是fmod函數(shù)返回零是由實(shí)現(xiàn)定義的。setjmp.htypedef structjmp_bufsetjmp將當(dāng)前信息保存在jmp_buf結(jié)構(gòu)類型中供longjmp使用int setjmp(jmp_buf env)準(zhǔn)備非局部跳轉(zhuǎn)當(dāng)直接調(diào)用時(shí),返回為零。當(dāng)從longjmp函數(shù)調(diào)用中返回時(shí),返回非零值void longjmp(jmp_buf env, int val)非區(qū)域跳轉(zhuǎn)無signal.hint raise(int sig)產(chǎn)生信號如果成功,返回零;否則返回非零值void (*signal(int sig,void (*handler)(int) )(int)安裝信號處理函數(shù)指向此信號前一個(gè)處

21、理函數(shù)的指針。如果無法安裝處理函數(shù),則返回SIG_ERR#define SIGABRT異常終止,如調(diào)用abort()。#define SIGFPE算術(shù)運(yùn)算出錯(cuò),如除數(shù)為0或溢出。#define SIGILL非法函數(shù)映象,如非法指令。#define SIGINT交互式信號,如中斷。#define SIGSEG非法訪問存儲器,如訪問不存在的內(nèi)存單元。#define SIGTERM發(fā)送給本程序的終止請求信號。#define SIG_DFL默認(rèn)信號處理函數(shù)#define SIG_ERR表示一個(gè)錯(cuò)誤信號,當(dāng)signal函數(shù)調(diào)用失敗時(shí)的返回值。#define SIG_IGN信號處理函數(shù),表示忽略該信號st

22、darg.htypedef void * va_list用來保存宏va_arg與宏va_end所需信息#define va_start(ap,parmN)使va_list指向起始的參數(shù)#define va_end(ap)釋放va_list#define va_arg(ap,type)檢索參數(shù)stddef.h#define NULL 0指針常量typedef int ptrdiff_t帶符號的整數(shù)類型, 用來表示指針相減的結(jié)果類型typedef unsigned int size_t無符號整數(shù)類型, 用來表示sizeof操作符的結(jié)果類型typedef unsigned short wchar_t

23、寬字符類型#define offsetof(type,member_name)獲得字段在結(jié)構(gòu)體中的偏移量stdio.h#define NULL 0指針常量#define EOF (-1)代表文件的結(jié)尾#define BUFSIZsetbuf函數(shù)所使用的緩沖區(qū)的大小#define FOPEN_MAX(20)同時(shí)打開的文件的最大數(shù)量#define FILENAME_MAX文件名的最大長度#define TMP_MAXtmpnam最多次數(shù)#define L_tmpnam整數(shù),最大長度的臨時(shí)文件名#define stdin標(biāo)準(zhǔn)輸入流,默認(rèn)為鍵盤#define stdout標(biāo)準(zhǔn)輸出流,默認(rèn)為屏幕

24、0;#define stderr標(biāo)準(zhǔn)錯(cuò)誤流,默認(rèn)為屏幕, 可輸出到文件#define _IOFBF表示完全緩沖#define _IOLBF表示線緩沖#define _IONBF表示無緩存#define SEEK_CUR取得目前文件位置#define SEEK_END將讀寫位置移到文件尾時(shí)#define SEEK_SET將讀寫位置移到文件開頭typedef unsigned int size_t運(yùn)算符sizeof產(chǎn)生的無符號整類型typedef struct FILE用于聲明文件指針typedef long fpos_t能夠唯一說明文件中的每個(gè)位置的對象FILE * fopen(char* fi

25、lename,char *mode)打開文件文件指針。在執(zhí)行下一次關(guān)于文件的操作時(shí)會用到此指針。如果無法打開文件則返回空指針FILE * freopen(char*fname,char*mode,FILE*stream)重新打開文件如果操作成功,返回stream的值。如果無法打開文件則返回空指針void setbuf(FILE *stream, char *buffer)設(shè)置緩沖區(qū)無int setvbuf(FILE*stream,char *buf,int mode,size_t size)設(shè)置緩沖區(qū)如果操作成功,就返回零。如果mode無效或者無法滿足要求,則返回非零值int fclose(F

26、ILE *stream)關(guān)閉文件如果成功,就返回零。如果檢測到錯(cuò)誤,就返回EOFsize_t fread(void *ptr,size_t size,size_t nmemb, FILE *stream)從文件讀塊實(shí)際讀入的元素(不是字符)數(shù)量。如果fread遇到文件末尾或檢測到讀取錯(cuò)誤,那么此數(shù)將會小于nmemb。如果nmemb或size為零,則返回值為零size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream)向文件寫塊實(shí)際寫入的元素(不是字符)的數(shù)量。如果fwrite函數(shù)檢測到寫錯(cuò)誤,則這個(gè)數(shù)將會小于nmembint

27、 printf(const char *format, .)格式化寫寫入的字符數(shù)量。如果發(fā)生錯(cuò)誤就返回負(fù)值int fprintf(FILE *stream, const char *format, .)格式化寫文件寫入的字符數(shù)量。如果發(fā)生錯(cuò)誤就返回負(fù)值int sprintf(char *str, const char *format, .)格式串寫存儲到數(shù)組中的字符數(shù)量,不計(jì)空字符int vprintf(const char *format, va_list arg)用可變實(shí)際參數(shù)列表格式化寫寫入的字符數(shù)量。如果發(fā)生錯(cuò)誤就返回負(fù)值int vfprintf(FILE *stream, const

28、 char *format, va_list arg)用可變實(shí)際參數(shù)列表格式化寫文件寫入的字符數(shù)量。如果發(fā)生錯(cuò)誤就返回負(fù)值int vsprintf(char *str,char *format, va_list arg)用可變實(shí)際參數(shù)列表格式化寫字符串存儲的字符數(shù)量,但不計(jì)空字符int scanf(const char *format, .)格式化讀成功讀入并且存儲的數(shù)據(jù)項(xiàng)數(shù)量。如果發(fā)生錯(cuò)誤或在可以讀入任意數(shù)據(jù)項(xiàng)之前到達(dá)了文件末尾,就返回EOFint fscanf(FILE *stream, const char *format, .)格式化讀文件成功讀入并且存儲的數(shù)據(jù)項(xiàng)數(shù)量。如果發(fā)生錯(cuò)誤或在

29、可以讀數(shù)據(jù)項(xiàng)前到達(dá)了文件末尾,那么就返回EOFint sscanf(char *str, const char *format, .)格式串讀成功讀入并且存儲的數(shù)據(jù)項(xiàng)數(shù)量。如果在可以讀入任意數(shù)據(jù)項(xiàng)之前到達(dá)了字符串末尾,就返回EOFchar *fgets(char *str, int n, FILE *stream)從文件中讀取字符串s(指向數(shù)組的指針,此數(shù)組存儲著輸入)。如果讀取操作錯(cuò)誤或fgets函數(shù)在存儲任何字符之前遇到了流的末尾,都會返回空指針int fputs(const char *str, FILE *stream)向文件寫字符串如果成功,返回非負(fù)值。如果寫發(fā)生錯(cuò)誤,則返回EOFc

30、har *gets(char *str)讀入字符串s(即存儲輸入的數(shù)組的指針)。如果讀取發(fā)生錯(cuò)誤或gets函數(shù)在存儲任何字符之前遇到流的末尾,那么返回空指針int puts(const char *str)寫字符串如果成功返回非負(fù)值。如果寫發(fā)生錯(cuò)誤則返回EOFint fgetc(FILE *stream)從文件中讀取字符讀到的字符。如果fgetc函數(shù)遇到流的末尾,則設(shè)置流的文件尾指示器并且返回EOF。如果讀取發(fā)生錯(cuò)誤,fgetc函數(shù)設(shè)置流的錯(cuò)誤指示器并且返回EOFint fputc(int char, FILE *stream)向文件寫字符c(寫入的字符)。如果寫發(fā)生錯(cuò)誤,fputc函數(shù)會為s

31、tream設(shè)置錯(cuò)誤指示器,并且返回EOFint getc(FILE *stream)從文件讀入字符讀入的字符。如果getc函數(shù)遇到流的末尾,那么它會設(shè)置流的文件尾指示器并且返回EOF。如果讀取發(fā)生錯(cuò)誤,那么getc函數(shù)設(shè)置流的錯(cuò)誤指示器并且返回EOFint putc(int char, FILE *stream)向文件寫字符c(寫入的字符)。如果寫發(fā)生錯(cuò)誤,putc函數(shù)會設(shè)置流的錯(cuò)誤指示器,并且返回EOFint getchar(void)讀入字符讀入的字符。如果getc函數(shù)遇到輸入流的末尾,那么它會設(shè)置stdin流的文件尾指示器并且返回EOF。如果讀取發(fā)生錯(cuò)誤,那么getc函數(shù)設(shè)置stdin流

32、的錯(cuò)誤指示器并且返回EOFint putchar(int char)寫字符c(寫入的字符)。如果寫發(fā)生錯(cuò)誤,putchar函數(shù)設(shè)置流的錯(cuò)誤指示器,并且返回EOFint ungetc(int char, FILE *stream)未讀取的字符c(回退的字符)。如果沒有讀取操作或者文件定位操作就試圖回退過多的字符,那么函數(shù)將會返回EOFint fflush(FILE *stream)清洗文件緩沖區(qū)如果成功就返回零。如果檢測到錯(cuò)誤,就返回EOFint remove(const char *filename)移除文件如果成功就返回零;否則返回非零值int rename(char *old_filena

33、me, char *new_filename)重命名文件如果改名成功就返回零。如果操作失敗,就返回非零值(可能因?yàn)榕f文件目前是打開的FILE * tmpfile(void)創(chuàng)建臨時(shí)文件文件指針。當(dāng)執(zhí)行對此文件的后續(xù)操作時(shí)候用到此指針。如果無法創(chuàng)建文件,則返回空631附錄 D 標(biāo)準(zhǔn)庫函數(shù) 437指針char * tmpnam(char *str)產(chǎn)生臨時(shí)文件名指向文件名的指針void rewind(FILE *stream)返回到文件頭無int fseek(FILE *stream, long int offset, int whence)文件查找如果操作成功就返回零。否則返回非零值long i

34、nt ftell(FILE *stream)確定文件位置返回stream指向的流的當(dāng)前文件位置指示器。如果調(diào)用失敗,返回-1L,并且把由實(shí)現(xiàn)定義的錯(cuò)誤碼存儲在errno中int fgetpos(FILE *stream, fpos_t *pos)獲得文件位置如果成功就返回零。如果調(diào)用失敗,則返回非零值,并且把由實(shí)現(xiàn)定義的錯(cuò)誤碼存儲到errno中int fsetpos(FILE *stream, const fpos_t *pos)設(shè)置文件位置如果成功就返回零。如果調(diào)用失敗,返回非零值,并且把由實(shí)現(xiàn)定義的錯(cuò)誤碼存儲在errno中int feof(FILE *stream)檢測文件末尾如果為str

35、eam指向的流設(shè)置了文件尾指示器,那么返回非零值。否則返回零int ferror(FILE *stream)檢測文件錯(cuò)誤如果為stream指向的流設(shè)置了文件錯(cuò)誤指示器,那么返回非零值。否則返回零。void clearerr(FILE *stream)清除流錯(cuò)誤無void perror(const char *str)顯示錯(cuò)誤信息無stdlib.h#define NULL 0指針常量的值#define EXIT_SUCCESS 0成功狀態(tài)碼#define EXIT_FAILURE 1失敗狀態(tài)碼#define RAND_MAXrand的最大返回值#define MB_CUR_MAX多字節(jié)字符中的最

36、大字節(jié)數(shù)typedef unsigned int size_tunsigned integer類型typedef unsigned short wchar_t一個(gè)寬字符的大小typedef struct int quot;int rem; div_t是結(jié)構(gòu)體類型 作為div函數(shù)的返回類型typedef struct long quot;long rem; ldiv_t是結(jié)構(gòu)體類型 作為ldiv函數(shù)的返回類型double atof(const char *str)把字符串轉(zhuǎn)換成浮點(diǎn)數(shù)對應(yīng)字符串最長初始部分的double型值,此字符串是由nptr指向的,且字符串最長初始部分具有浮點(diǎn)數(shù)的格式。如果無

37、法表示此數(shù),那么函數(shù)的行為將是未定義的int atoi(const char *str)把字符串轉(zhuǎn)換成整數(shù)對應(yīng)字符串最長初始部分的整數(shù),此字符串是由nptr指向的,且字符串最長初始部分具有整數(shù)的格式。如果無法表示此數(shù),那么函數(shù)的行為將是未定義的long atol(const char *str)把字符串轉(zhuǎn)換成長整數(shù)對應(yīng)字符串最長初始部分的長整數(shù),此字符串是由nptr指向的,且字符串最長初始部分具有整數(shù)的格式。如果無法表示此數(shù),那么函數(shù)的行為將是未定義的double strtod(const char *str, char *endptr)把字符串轉(zhuǎn)換成雙精度數(shù)轉(zhuǎn)換的數(shù)。如果沒有轉(zhuǎn)換可以執(zhí)行,就

38、返回零。如果要表示的數(shù)過大,則返回正的或負(fù)的HUGE_VAL,這要依賴于數(shù)的符號而定。如果要表示的數(shù)過小,則返回零long strtol(char *str, char *endptr, int base)把字符串轉(zhuǎn)換成長整數(shù)轉(zhuǎn)換的數(shù)。如果沒有轉(zhuǎn)換可以執(zhí)行,則返回零。如果無法表示數(shù),則依賴于數(shù)的符號返回LONG_MAX或者LONG_MINunsigned long strtoul(char *str,char *endptr, int base)把字符串轉(zhuǎn)換成無符號長整數(shù)轉(zhuǎn)換的數(shù)。如果沒有轉(zhuǎn)換可以執(zhí)行,則返回零。如果無法表示數(shù),則返回ULONG_MAXvoid * calloc(size_t

39、nitems, size_t size)分配并清除內(nèi)存塊指向內(nèi)存塊開始處的指針。如果不能分配所要求大小的內(nèi)存塊,那么返回空指針void free(void *ptr)釋放內(nèi)存塊無void * malloc(size_t size)分配內(nèi)存塊指向內(nèi)存塊開始處的指針。如果無法分配要求尺寸的內(nèi)存塊,那么返回空指針void * realloc(void *ptr, size_t size)調(diào)整內(nèi)存塊指向新內(nèi)存塊開始處的指針。如果無法分配要求尺寸的內(nèi)存塊,那么返回空指針void abort(void)異常終止程序無int atexit(void (*func)(void)在程序退出處注冊要調(diào)用的函數(shù)如果

40、成功,返回零。如果不成功,則返回非零(達(dá)到由實(shí)現(xiàn)定義的限制)void exit(int status)退出程序無char * getenv(const char *name)獲取外部環(huán)境字符串與匹配名相關(guān)的字符串的指針。如果沒有找到匹配則返回空指針int system(const char *string)執(zhí)行操作系統(tǒng)命令當(dāng)string是空指針時(shí),如果命令處理器有效,則返回非零值。如果string不是空指針,則返回由實(shí)現(xiàn)定義的值void * bsearch(void*key,void*base,size_t nitems, size_t size, int (*compar)( void *,

41、 void *)二分檢索指向數(shù)組元素的指針,此數(shù)組元素是用來測試是否等于關(guān)鍵字的。如果沒有找到關(guān)鍵字,那么返回空指針void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)排序數(shù)組無int abs(int x)整數(shù)的絕對值整數(shù)j的絕對值。如果不能表示j的絕對值,那么函數(shù)的行為是未定義的long int labs(long int x)長整數(shù)的絕對值j的絕對值。如果不能表示j的絕對值,那么函數(shù)的行為是未定義的div_t div(int numer, int denom)整

42、數(shù)除法含有quot(numer除以denom時(shí)的商)和rem(余數(shù))的結(jié)構(gòu)。如果無法表示結(jié)果,那么函數(shù)的行為是未定義的ldiv_t ldiv(long numer, long denom)長整數(shù)除法含有quot(numer除以denom的商)和rem(余數(shù))的結(jié)構(gòu)。如果無法表示結(jié)果,那么函數(shù)的行為是未定義的int rand(void)產(chǎn)生偽隨機(jī)數(shù)0到RAND_MAX(包括RAND_MAX在內(nèi))之間的偽隨機(jī)整數(shù)void srand(unsigned int seed)啟動偽隨機(jī)數(shù)產(chǎn)生器無int mblen(const char *str, size_t n)計(jì)算多字節(jié)字符的長度如果s是空指針,返

43、回非零值還是零值依賴于多字節(jié)字符是否是依賴狀態(tài)編碼。如果s指向空字符則返回零;如果接下來n個(gè)或幾個(gè)字節(jié)形成了一個(gè)有效的字符,那么返回s指向的多字節(jié)字符中的字節(jié)數(shù)量;否則返回-1size_t mbstowcs(schar_t *pwcs,char *str, size_t n)把多字節(jié)字符串轉(zhuǎn)換成寬字符串修改的數(shù)組元素的個(gè)數(shù),無論如何也不包括終止碼。如果遇到無效的多字節(jié)字符,則返回(size_t)-1int mbtowc(whcar_t *pwc, char *str, size_t n)把多字節(jié)字符轉(zhuǎn)換成寬字符如果s是空指針,則返回非零值還是零值依賴于多字節(jié)字符是否是依賴狀態(tài)編碼。如果s指向空

44、字符,則返回零。如果接下來n個(gè)或幾個(gè)字節(jié)形成了一個(gè)有效的字符,那么返回s指向的多字節(jié)字符中的字節(jié)數(shù)量。如果不是這樣,則返回1size_t wcstombs(char *str,wchar_t *pwcs, size_t n)把寬字符串轉(zhuǎn)換成多字節(jié)字符串存儲的字節(jié)數(shù),不包括空字符。如果遇到一個(gè)代碼不對應(yīng)有效多字節(jié)字符時(shí),則返回(size_t)-1int wctomb(char *str, wchar_t wchar)把寬字符轉(zhuǎn)換成多字節(jié)字符如果s是空指針,則返回非零值或零值,這依賴于多字節(jié)字符是否是依賴狀態(tài)編碼的。如果wchar對應(yīng)一個(gè)有效的多字節(jié)字符,則返回字符中字節(jié)的數(shù)量,如果不是這樣,則返

45、回-1string.h#define NULL 0空typedef unsigned size_tunsigned類型void * memchr(const void *str, int c, size_t n)搜索內(nèi)存塊字符指向字符的指針,此字符是s所指向?qū)ο蟮那皀個(gè)字符中第一個(gè)遇到的字符c。如果沒有找到c,則返回空指針int memcmp(void *str1, void *str2, size_t n)比較內(nèi)存塊負(fù)整數(shù)、零還是正整數(shù)依賴于s1所指向?qū)ο蟮那皀個(gè)字符是小于、等于還是大于s2所指向?qū)ο蟮那皀個(gè)字符void * memcpy(void *str1, void *str2, si

46、ze_t n)復(fù)制內(nèi)存塊s1(指向目的的指針)void * memmove(void *str1, void *str2, size_t n)復(fù)制內(nèi)存塊s1(指向目的的指針)void * memset(void *str, int c, size_t n)初始化內(nèi)存塊s(指向內(nèi)存塊的指針)char * strcat(char *str1, const char *str2)字符串的連接s1(指向連接后字符串的指針)char * strncat(char *str1, char *str2, size_t n)有限制的字符串的連接s1(指向連接后字符串的指針)char * strcpy(char

47、 *str1, const char *str2)字符串復(fù)制s1(指向目的的指針)char * strncpy(char *str1,char *str2, size_t n)有限制的字符串復(fù)s1(指向目的的指針)int strcmp(const char *str1, const char *str2)比較字符串負(fù)數(shù)、零還是正整數(shù),依賴于s1所指向的字符串是小于、等于還是大于s2所指的字符串int strncmp(char *str1,char *str2, size_t n)有限制的字符串比較負(fù)整數(shù)、零還是正整數(shù),依賴于s1所指向的數(shù)組的前n個(gè)字符是小于、等于還是大于s2所指向的數(shù)組的前n

48、個(gè)字符。如果在其中某個(gè)數(shù)組中遇到空字符,比較都會停止char * strchr(const char *str, int c)搜索字符串中字符指向字符的指針,此字符是s所指向的字符串的前n個(gè)字符中第一個(gè)遇到的字符c。如果沒有找到c,則返回空指針size_t strlen(const char *str)字符串長度s指向的字符串長度,不包括空字符int strcoll(const char *str1, const char *str2)采用指定地區(qū)的比較序列進(jìn)行字符串比較負(fù)數(shù)、零還是正整數(shù),依賴于s1所指向的字符串是小于、等于還是大于s2所指的字符串。根據(jù)當(dāng)前地區(qū)的LC_COLLATE類型規(guī)則來執(zhí)行比較操作size_t strcspn(const char *str1, const char *str2)搜索集合中不在初始范圍內(nèi)的字符串最長的初始字符段的長度,此初始字符段由s1指向的,但是不包含s2指向的字符串中的任何字符char * strerror(int errnum)把錯(cuò)誤數(shù)轉(zhuǎn)換成為字符串指向字符串的指針,此字符串含有的出錯(cuò)消息對應(yīng)errnum的值char * strpbrk(const char *str1, const char *str2)為一組字符之一搜索字符串指向字符的指針,此字符是s1所指向字符串中與s2所指向字符串中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論