在最新的 C99 標(biāo)準(zhǔn)中,只有以下兩種定義方式是正確的:
創(chuàng)新互聯(lián)是一家專業(yè)提供懷仁企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為懷仁眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
int main( void ) /* 無參數(shù)形式 */
{
return 0;
}
int main( int argc, char *argv[] ) /* 帶參數(shù)形式 */
{
return 0;
}
int指明了main()函數(shù)的返回類型,函數(shù)名后面的圓括號一般包含傳遞給函數(shù)的信息。void表示沒有給函數(shù)傳遞參數(shù)。關(guān)于帶參數(shù)的形式,我們等會討論。
瀏覽老版本的C代碼,將會發(fā)現(xiàn)程序常常以。
main()
這種形式開始。C90標(biāo)準(zhǔn)允許這種形式,但是C99標(biāo)準(zhǔn)不允許。因此即使你當(dāng)前的編譯器允許,也不要這么寫。
你還可能看到過另一種形式。
void main()
有些編譯器允許這種形式,但是還沒有任何標(biāo)準(zhǔn)考慮接受它。C++ 之父 Bjarne Stroustrup 在他的主頁上的 FAQ 中明確地表示:void main( ) 的定義從來就不存在于 C++ 或者 C 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。
你會發(fā)現(xiàn),有一些頭文件(比如stdlib.h,stdio.h)每一個編譯器都有,而里面的函數(shù)(如printf,malloc)每一個編譯器都支持。這些函數(shù)組成的集合就是標(biāo)準(zhǔn)函數(shù)庫。平常用的函數(shù)基本都屬于標(biāo)準(zhǔn)函數(shù)庫。
ANSI對此是有規(guī)定的
C語言庫函數(shù),常用庫函數(shù)有:
1、scanf格式輸入函數(shù)
2、printf格式輸出函數(shù)
3、systemdos命令函數(shù)
4、sort排序
5、main主函數(shù)
6、fgets文件讀取字符串函數(shù)
7、fputs文件寫入字符串函數(shù)
8、fscanf文件格式讀取函數(shù)
9、fprintf文件格式寫入函數(shù)
10、fopen打開文件函數(shù)
11、getchar輸入字符函數(shù)
12、putchar輸出字符函數(shù)
13、malloc動態(tài)申請內(nèi)存函數(shù)
14、free釋放內(nèi)存函數(shù)
15、abs求絕對值數(shù)學(xué)函數(shù)
16、sqrt求平方根數(shù)學(xué)函數(shù)
擴(kuò)展資料
語言組成:
1、數(shù)據(jù)類型
C的數(shù)據(jù)類型包括:整型、字符型、實型或浮點(diǎn)型(單精度和雙精度)、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。
2、常量與變量
常量其值不可改變,符號常量名通常用大寫。
變量是以某標(biāo)識符為名字,其值可以改變的量。標(biāo)識符是以字母或下劃線開頭的一串由字母、數(shù)字或下劃線構(gòu)成的序列,請注意第一個字符必須為字母或下劃線,否則為不合法的變量名。變量在編譯時為其分配相應(yīng)存儲單元。
3、數(shù)組
如果一個變量名后面跟著一個有數(shù)字的中括號,這個聲明就是數(shù)組聲明。字符串也是一種數(shù)組。它們以ASCII的NULL作為數(shù)組的結(jié)束。要特別注意的是,方括內(nèi)的索引值是從0算起的。
4、指針
如果一個變量聲明時在前面使用 * 號,表明這是個指針型變量。換句話說,該變量存儲一個地址,而 *(此處特指單目運(yùn)算符 * ,下同。C語言中另有 雙目運(yùn)算符 *) 則是取內(nèi)容操作符,意思是取這個內(nèi)存地址里存儲的內(nèi)容。指針是 C 語言區(qū)別于其他同時代高級語言的主要特征之一。
參考資料來源:百度百科-函數(shù)
c語言中標(biāo)準(zhǔn)函數(shù)指由標(biāo)準(zhǔn)頭文件定義和實現(xiàn)的函數(shù),即“系統(tǒng)自帶的”,用戶函數(shù)是由程序員自己定義實現(xiàn)的。
無參函數(shù)就是函數(shù)沒有定義參數(shù),有參函數(shù)就是函數(shù)定義了參數(shù)。
C語言編譯系統(tǒng)提供了眾多的預(yù)定義庫函數(shù)和宏。用戶在編寫程序時,可以直接調(diào)用這些庫函數(shù)和宏。這里選擇了初學(xué)者常用的一些庫函數(shù),簡單介紹了各函數(shù)的用法和所在的頭文件。
1.測試函數(shù)
Isalnum
原型:int isalnum(int c)
功能:測試參數(shù)c是否為字母或數(shù)字:是則返回非零;否則返回零
頭文件:ctype.h
Isapha
原型:int isapha(int c)
功能:測試參數(shù)c是否為字母:是則返回非零;否則返回零
頭文件:ctype.h
Isascii
原型:int isascii(int c)
功能:測試參數(shù)c是否為ASCII碼(0x00~0x7F):是則返回非零;否則返回零
頭文件:ctype.h
Iscntrl
原型:int iscntrl(int c)
功能:測試參數(shù)c是否為控制字符(0x00~0x1F、0x7F):是則返回非零;否則返回零
頭文件:ctype.h
Isdigit
原型:int isdigit(int c)
功能:測試參數(shù)c是否為數(shù)字:是則返回非零;否則返回零。
頭文件:ctype.h
Isgraph
原型:int isgraph(int c)
功能:測試參數(shù)c是否為可打印字符(0x21~0x7E):是則返回非零;否則返回零
頭文件:ctype.h
Islower
原型:int islower(int c)
功能:測試參數(shù)c是否為小寫字母:是則返回非零;否則返回零
頭文件:ctype.h
Isprint
原型:int isprint(int c)
功能:測試參數(shù)c是否為可打印字符(含空格符0x20~0x7E):是則返回非零;否則返回零
頭文件:ctype.h
Ispunct
原型:int ispunct(int c)
功能:測試參數(shù)c是否為標(biāo)點(diǎn)符號:是則返回非零;否則返回零
頭文件:ctype.h
Isupper
原型:int isupper(inr c)
功能:測試參數(shù)c是否為大寫字母:是則返回非零;否則返回零
Isxdigit
原型:int isxdigit(int c)
功能:測試參數(shù)c是否為十六進(jìn)制數(shù):是則返回非零;否則返回零
2.數(shù)學(xué)函數(shù)
abs
原型:int abs(int i)
功能:返回整數(shù)型參數(shù)i的絕對值
頭文件:stdlib.h,math.h
acos
原型:double acos(double x)
功能:返回雙精度參數(shù)x的反余弦三角函數(shù)值
頭文件:math.h
asin
原型:double asin(double x)
功能:返回雙精度參數(shù)x的反正弦三角函數(shù)值
頭文件:math.h
atan
原型:double atan(double x)
功能:返回雙精度參數(shù)的反正切三角函數(shù)值
頭文件:math.h
atan2
原型:double atan2(double y,double x)
功能:返回雙精度參數(shù)y和x由式y(tǒng)/x所計算的反正切三角函數(shù)值
頭文件:math.h
cabs
原型:double cabs(struct complex znum)
功能:返回一個雙精度數(shù),為計算出復(fù)數(shù)znum的絕對值。Complex的結(jié)構(gòu)模式在math.h中給出定義,其定義如下:
struct complex {
double a,y
};
頭文件:stdlib.h,math.h
ceil
原型:double ceil(double x)
功能:返回不小于參數(shù)x的最小整數(shù)
頭文件:math.h
_clear87
原型:unsigned int _clear87(void)
功能:清除浮點(diǎn)運(yùn)算器狀態(tài)字
頭文件:float.h
_control87
原型:unsigned int _control87(unsigned int newvals,unsigned int mask)
功能:取得或改變浮點(diǎn)運(yùn)算器控制字
頭文件:float.h
cos
原型:double cos(double x)
功能:返回參數(shù)x的余弦函數(shù)值
頭文件:math.h
cosh
原型:double cosh(double x)
功能:返回參數(shù)的雙曲線余弦函數(shù)值
頭文件:math.h
ecvt
原型:char*ecvt(double value,int ndigit,int*decpt,int*sign)
功能:把雙精度數(shù)value轉(zhuǎn)換為ndigit位數(shù)字的以空格字符結(jié)束的字符串,decpt指向小數(shù)點(diǎn)位置,sign為符號標(biāo)志。函數(shù)返回值為指向轉(zhuǎn)換后的字符串的指針
頭文件:stdlib.h
exp
原型:double exp(double x)
功能:返回參數(shù)x的指數(shù)函數(shù)值
頭文件:math.h
fabs
原型:double fabs(double x)
功能:返回參數(shù)x的絕對值
頭文件:math.h
floor
原型:double floor(double x)
功能:返回不大于參數(shù)x的最大整數(shù)
頭文件:math.h
fmod
原型:double fmod(double x,double y)
功能:計算x/y的余數(shù)。返回值為所求的余數(shù)值
頭文件:math.h
_fprest
原型:void _fprest(void)
功能:重新初始化浮點(diǎn)型數(shù)數(shù)學(xué)包
頭文件:float.h
frexp
原型:double frexp(double value,int*eptr)
功能:把雙精度函數(shù)value分解成尾數(shù)和指數(shù)。函數(shù)返回尾數(shù)值,指數(shù)值存放在eptr所指的單元中
頭文件:math.h
hypot
原型:double frexp(double x,double y)
功能:返回由參數(shù)x和y所計算的直角三角形的斜邊長
頭文件:math.h
labs
原型:long labs(long n)
功能:返回長整數(shù)型參數(shù)n的絕對值
頭文件:stdlib.h
ldexp
原型:double ldexp(double value,int exp)
功能:返回value*2exp的值
頭文件:math.h
log
原型:double log(double x)
功能:返回參數(shù)x的自然對數(shù)(ln x)的值
頭文件:math.h
log10
原型:double log10(double x)
功能:返回參數(shù)x以10為底的自然對數(shù)(lg x)的值
頭文件:math.h
modf
原型:double modf(double value,double*iptr)
功能:把雙精度數(shù)value分為整數(shù)部分和小數(shù)部分。整數(shù)部分保存在iptr中,小數(shù)部分作為函數(shù)的返回值
頭文件:math.h
poly
原型 :double poly(double x,int n,double c[ ])
功能:根據(jù)參數(shù)產(chǎn)生x的一個n次多項式,其系數(shù)為 c[0],c[1],…c[n]。函數(shù)返回值為給定x的多項式的值
頭文件:math.h
pow
原型:double pow(double x,double y)
功能:返回計算xy的值
頭文件:math.h
pow10
原型:double pow10(int p)
功能:返回計算10p的值
頭文件:math.h
rand
原型:int rand(void)
功能:隨機(jī)函數(shù),返回一個范圍在0~215-1的隨機(jī)整數(shù)
頭文件:stdlib.h
sin
原型:double sin(double x)
功能:返回參數(shù)x的正弦函數(shù)值
頭文件:math.h
sinh
原型double sinh(double x)
功能:返回參數(shù)x的雙曲正弦函數(shù)值
頭文件:math.h
sqrt
原型:double sqrt
功能:返回參數(shù)x的平方根值
頭文件:math.h
srand
原型:void srand(unsigned seed)
功能:初始化隨機(jī)函數(shù)發(fā)生器
頭文件:stdlib.h
_status87
原型:unsigned int_status87()
功能:取浮點(diǎn)狀態(tài)
頭文件:float.h
tan
原型:dounle tan(double x)
功能:返回參數(shù)x的正切函數(shù)值
頭文件:math.h
tanh
原型:double tan(double x)
功能:返回參數(shù)x的雙曲正切函數(shù)值
頭文件:math.h