成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

c語言程序中必有的函數(shù)是 c語言中有什么函數(shù)

每個c程序文件都必須有一個main()函數(shù)?

每個c程序文件都必須有一個main()函數(shù).

成都創(chuàng)新互聯(lián)專注于南潯網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供南潯營銷型網(wǎng)站建設(shè),南潯網(wǎng)站制作、南潯網(wǎng)頁設(shè)計(jì)、南潯網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造南潯網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供南潯網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

當(dāng)一個程序只能作為另一個程序的子程序的時候,那么該程序沒有主函數(shù)。主函數(shù)的位置不固定, 并且可以調(diào)用程序中的其他函數(shù) , 而其他函數(shù)不可以調(diào)用 main() 函數(shù) 。 函數(shù)中不可以再定義其他的函數(shù)。

1、main函數(shù)是程序唯一入口。也就是說,程序運(yùn)行時,首先從main函數(shù)開始執(zhí)行。

2、一個程序,必須要有一個main函數(shù),而且也只能有一個main函數(shù)。

擴(kuò)展資料:

C編譯器允許main()函數(shù)沒有參數(shù),或者有兩個參數(shù)?(有些實(shí)現(xiàn)允許更多的參數(shù),但這只是對標(biāo)準(zhǔn)的擴(kuò)展)。這兩個參數(shù),一個是int類型,一個是字符串類型。第一個參數(shù)是命令行中的字符串?dāng)?shù)。按照慣例(但不是必須的),這個int參數(shù)被稱為argc(argument count)。

第二個參數(shù)是一個指向字符串的指針數(shù)組。命令行中的每個字符串被存儲到內(nèi)存中,并且分配一個指針指向它。按照慣例,這個指針數(shù)組被稱為argv(argument value)。

系統(tǒng)使用空格把各個字符串格開。一般情況下,把程序本身的名字賦值給argv[0],接著,把最后的第一個字符串賦給argv[1]?,等等。

參考資料來源:百度百科-main函數(shù)

main函數(shù) 在每個c語言程序中都是必須的嗎

C語文程序中必須有main()函數(shù)。

C的設(shè)計(jì)原則是把函數(shù)作為程序的構(gòu)成模塊。main()函數(shù)稱之為主函數(shù),一個C程序總是從main()函數(shù)開始執(zhí)行的。

一、main()函數(shù)的形式

在最新的 C99 標(biāo)準(zhǔ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 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。

堅(jiān)持使用標(biāo)準(zhǔn)的意義在于:當(dāng)你把程序從一個編譯器移到另一個編譯器時,照樣能正常運(yùn)行。

二、main()函數(shù)的返回值

從前面我們知道m(xù)ain()函數(shù)的返回值類型是int型的,而程序最后的 return 0; 正與之遙相呼應(yīng),0就是main()函數(shù)的返回值。那么這個0返回到那里呢?返回給操作系統(tǒng),表示程序正常退出。因?yàn)閞eturn語句通常寫在程序的最后,不管返回什么值,只要到達(dá)這一步,說明程序已經(jīng)運(yùn)行完畢。而return的作用不僅在于返回一個值,還在于結(jié)束函數(shù)。

現(xiàn)在我們來做一個小試驗(yàn)來觀察main()函數(shù)的返回值。編寫如下代碼并編譯運(yùn)行:

//a.c

#include "stdio.h"

int main(void)

{

printf("I love you.");

return 0;

}

將這個文件保存為a.c,編譯運(yùn)行后會生成一個a.exe文件?,F(xiàn)在打開命令提示符,在命令行里運(yùn)行剛才編譯好的可執(zhí)行文件,然后輸入 echo %ERRORLEVEL% ,回車,就可以看到程序返回 一個0 。如果把 return 0; 改為 return 99; ,那么很顯然,再次執(zhí)行上述步驟以后你可以看到程序返回99。要是你這樣寫 return 99.99; 那還是返回99,因?yàn)?9.99被傳給操作系統(tǒng)之前,被強(qiáng)制類型轉(zhuǎn)換成整數(shù)類型了。

現(xiàn)在,我們把a(bǔ).c改回原來的代碼,然后再編寫另一個程序b.c:

//b.c

#include "stdio.h"

int main(void)

{

printf("I’m too.");

return 0;

}

編譯運(yùn)行后打開命令提示符,在命令行里輸入ab 回車,這樣你就可以看到《人鬼情未了》里面經(jīng)典的愛情對白:

I love you.

I’m too.

的含義是:如果 前面的程序正常退出,則繼續(xù)執(zhí)行 后面的程序,否則不執(zhí)行。所以,要是把a(bǔ).c里面的 return 0; 刪除或者改為 return 99; ,那么你只能看到 I love you. 。也就是說,程序b.c就不執(zhí)行了?,F(xiàn)在,大家該明白 return 0; 的作用了吧。

三、main()函數(shù)的參數(shù)

C編譯器允許main()函數(shù)沒有參數(shù),或者有兩個參數(shù)(有些實(shí)現(xiàn)允許更多的參數(shù),但這只是對標(biāo)準(zhǔn)的擴(kuò)展)。這兩個參數(shù),一個是int類型,一個是字符串類型。第一個參數(shù)是命令行中的字符串?dāng)?shù)。按照慣例(但不是必須的),這個int參數(shù)被稱為argc(argument count)。大家或許現(xiàn)在才明白這個形參為什么要取這么個奇怪的名字吧,呵呵!至于英文的意思,自己查字典吧。第二個參數(shù)是一個指向字符串的指針數(shù)組。命令行中的每個字符串被存儲到內(nèi)存中,并且分配一個指針指向它。按照慣例,這個指針數(shù)組被稱為argv(argument value)。系統(tǒng)使用空格把各個字符串格開。一般情況下,把程序本身的名字賦值給argv[0],接著,把最后的第一個字符串賦給argv[1],等等。

現(xiàn)在我們來看一個例子:

//c.c

#include "stdio.h"

int main(int argc, char *argv[])

{

int count;

printf("The command line has %d arguments:

", argc - 1);

for(count = 1; count argc; count++)

printf("%d: %s

", count, argv[count]);

return 0;

}

編譯運(yùn)行,在命令行輸入c I love you 回車,下面是從命令行運(yùn)行該程序的結(jié)果:

The command line has 3 arguments:

1:I

2:love

3:you

從本例可以看出,程序從命令行中接受到4個字符串(包括程序名),并將它們存放在字符串?dāng)?shù)組中,其對應(yīng)關(guān)系:

argv[0] ------ c(程序名)

argv[1] ------ I

argv[2] ------ love

argv[3] ------ you

至于argc的值,也即是參數(shù)的個數(shù),程序在運(yùn)行時會自動統(tǒng)計(jì),不必我們操心。

這個例子中,每個字符串都時一個單詞(字母),那既然是字符串,要把一句話當(dāng)作參數(shù)賦給程序該怎么辦?你可以在命令行里這樣輸入 c "I love you." "I’m too."。程序運(yùn)行結(jié)果:

The command line has 2 arguments:

1:I love you.

2:I’m too.

其對應(yīng)關(guān)系:

argv[0] ------ c(程序名)

argv[1] ------ I love you.

argv[2] ------ I’m too.

要注意的是,你在命令行的輸入都將作為字符串形式存儲于內(nèi)存中。也就是說,如果你輸入一個數(shù)字,那么要輸出這個數(shù)字,你應(yīng)該用%s格式而非%d或者其他。

再來看一個例子:

//d.c

#include "stdio.h"

int main(int argc, char *argv[])

{

FILE *fp;

fp = fopen(argv[1], "w");

fputs("I love you.", fp);

fclose(fp);

return 0;

}

編譯運(yùn)行,打開命令行并輸入d love.txt 回車。這樣,打開d.c文件所在的目錄,你會發(fā)現(xiàn)多了一個名為 love.txt 的文件,打開后里面的內(nèi)容正是世界上說的最多的那句話。

當(dāng)然,你可能會說我不需要使用命令行參數(shù)就可以做到這些。是的,你當(dāng)然可以。使用命令行參數(shù)的理由或許就是練習(xí)命令行用法,以備以后需要編寫基于命令行的程序。還有一個好處是,不需要C環(huán)境就可以運(yùn)行已經(jīng)編譯好的程序。比如,你把上面那個程序編譯后生成的d.exe發(fā)給你的女朋友,再告訴她怎么運(yùn)行,這樣,你的女朋友可以用另一種方式體會到你對她的濃情蜜意。

參考:

C語言常用的函數(shù)有哪些

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ù)類型包括:整型、字符型、實(shí)型或浮點(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ù)

當(dāng)前文章:c語言程序中必有的函數(shù)是 c語言中有什么函數(shù)
網(wǎng)頁路徑:http://jinyejixie.com/article34/dohphpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、ChatGPT面包屑導(dǎo)航、網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
石台县| 伽师县| 肥西县| 友谊县| 青田县| 海宁市| 紫云| 毕节市| 广元市| 资阳市| 萍乡市| 白山市| 甘泉县| 瓦房店市| 抚远县| 广元市| 沁水县| 武义县| 察隅县| 巴林右旗| 仁寿县| 渭南市| 酒泉市| 满城县| 隆化县| 垣曲县| 亳州市| 嫩江县| 海安县| 奉化市| 南宫市| 临西县| 松潘县| 定陶县| 遂平县| 封开县| 招远市| 西青区| 从江县| 休宁县| 华蓥市|