一個C語言程序總是從main()主函數(shù)開始執(zhí)行。main是相對來說的,如同音學(xué)理論之主調(diào)于泛音,泛音即程序中的除main之外的其他函數(shù),迎合人們的思考方式而生成的而非必定的模式。有主有次,執(zhí)行起來條清縷析,既可將程序模塊化又實現(xiàn)了一個閉合的整體。
為渝北等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及渝北網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、渝北網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
main 函數(shù)在程序啟動中完成對具有靜態(tài)存儲期的非局部對象的初始化之后被調(diào)用的。它是程序在有宿主 (hosted)環(huán)境(亦即有操作系統(tǒng))中所指定的入口點。自立程序(啟動加載器,操作系統(tǒng)內(nèi)核,等等)的入口點則由實現(xiàn)定義的。
主函數(shù)的兩個形參形式中的形參,允許從執(zhí)行環(huán)境中傳遞任意的多字節(jié)字符串(它們通常被稱為命令行參數(shù)),各個指針 argv[1] .. argv[argc-1] 指向每個這些字符串的第一個字符。argv[0] 是指向一個表示用于執(zhí)行該程序自身的名字的空結(jié)尾多字節(jié)字符串(或者當(dāng)執(zhí)行環(huán)境不支持時,為空字符串 "")的開頭字符的指針。
這些字符串是可以改動的,雖然對它們的改動并不會被傳回給執(zhí)行環(huán)境:比如可以用 std::strtok 來使用它們。由 argv 所指向的數(shù)組的大小至少為 argc+1,其最后一個元素 argv[argc] 保證為一個空指針。
擴展資料
main 函數(shù)的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統(tǒng))。
如果 main 函數(shù)的最后沒有寫 return 語句的話,C99 規(guī)定編譯器要自動在生成的目標(biāo)文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不過,建議在main函數(shù)的最后加上return 語句,雖然沒有這個必要,但這是一個好的習(xí)慣。
也就是說在最新的C語言標(biāo)準(zhǔn)中強制要求main函數(shù)的返回值類型為int,main函數(shù)的返回值是傳遞給操作系統(tǒng),讓操作系統(tǒng)判斷程序的執(zhí)行情況(是正常結(jié)束還是出現(xiàn)異常)。
一般來說,C語言都是從main函數(shù)開始運行的,這個main函數(shù)可以認(rèn)為是C語言程序的執(zhí)行起點。
更準(zhǔn)確的說法,應(yīng)該是C語言從入口函數(shù)開始執(zhí)行。
因為,雖然大多數(shù)編譯器都是以main為起始執(zhí)行函數(shù),也就是入口函數(shù),但還是有例外的,比如:
1、對于支持UNICODE
WIN32
應(yīng)用程序,其程序入口為tmain;
2、對于windows
窗體程序,其程序入口為WinMain;
3、gcc中,傳統(tǒng)有兩個編譯選項可以指定入口函數(shù)名,即:
gcc
-e
entryfunc
gcc
--Entry=entryfunc
對于當(dāng)前新版gcc,
僅支持-e。
比如編譯時用命令:
gcc
-e
my_main
a.c
-o
a.out
就會把my_main作為入口函數(shù)調(diào)用。
c程序的執(zhí)行總是從本程序的main函數(shù)開始執(zhí)行的。
一個C語言的執(zhí)行是從本程序的main函數(shù)開始,到main函數(shù)結(jié)束,但需要注意的是,也是有特殊情況的,若是代碼中出現(xiàn)了exit函數(shù),則直接結(jié)束程序。
c程序介紹
c程序C語言是世界上最流行、使用最廣泛的面向過程的高級程序設(shè)計語言。 C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進(jìn)行操作的場合,用C語言明顯優(yōu)于其它高級語言,許多大型應(yīng)用軟件都是用C語言編寫的。
C語言具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫是它數(shù)值計算的高級語言。
不僅如此,C語言也是在計算機中比較實用的程序設(shè)計工具,掌握了c語言之后,對用戶在日后學(xué)習(xí)JAVA、C++、VB等都是有好處的,可以打下良好的基礎(chǔ),主要是因為這些語言大部分都是由C語言擴充或衍生而來的。
C語言是一門面向過程、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產(chǎn)生少量的機器語言以及不需要任何運行環(huán)境支持便能運行的高效率程序設(shè)計語言。
一個c語言程序總是從main函數(shù)開始執(zhí)行。在一個C語言源程序中,無論main函數(shù)書寫在程序的前部,還是后部,程序的執(zhí)行總是從main函數(shù)開始,并且在main函數(shù)中結(jié)束。
一個c程序有且僅有一個main函數(shù),除main函數(shù)之外可以有若干個其它的函數(shù),每個函數(shù)實現(xiàn)某一特定的操作。
main函數(shù),又稱主函數(shù),是程序執(zhí)行的起點,main是相對來說的,如同音學(xué)理論之主調(diào)于泛音,泛音即程序中的除main之外的其他函數(shù),迎合人們的思考方式而生成的而非必定的模式。有主有次,執(zhí)行起來條清縷析,既可將程序模塊化又實現(xiàn)了一個閉合的整體。
在執(zhí)行程序時,由系統(tǒng)調(diào)用main函數(shù) 。main 函數(shù)是在程序啟動中完成對具有靜態(tài)存儲期的非局部對象的初始化之后被調(diào)用的。它是程序在有宿主 (hosted)環(huán)境(亦即有操作系統(tǒng))中所指定的入口點。自立程序(啟動加載器,操作系統(tǒng)內(nèi)核,等等)的入口點則是由實現(xiàn)定義的。
主函數(shù)的兩個形參形式中的形參,允許從執(zhí)行環(huán)境中傳遞任意的多字節(jié)字符串(它們通常被稱為命令行參數(shù)),各個指針 argv[1] .. argv[argc-1] 指向每個這些字符串的第一個字符。
argv[0] 是指向一個表示用于執(zhí)行該程序自身的名字的空結(jié)尾多字節(jié)字符串(或者當(dāng)執(zhí)行環(huán)境不支持時,為空字符串 “”)的開頭字符的指針。這些字符串是可以改動的,雖然對它們的改動并不會被傳回給執(zhí)行環(huán)境:比如可以用 std::strtok 來使用它們。
由 argv 所指向的數(shù)組的大小至少為 argc+1,其最后一個元素 argv[argc] 保證為一個空指針。
一個C語言的執(zhí)行是從本程序的main函數(shù)開始,到main函數(shù)結(jié)束,但需要注意的是,也是有特殊情況的,若是代碼中出現(xiàn)了exit函數(shù),則直接結(jié)束程序。
C 語言具有各種各樣的數(shù)據(jù)類型, 并引入了指針概念, 可使程序效率更高。另外C 語言也具有強大的圖形功能, 支持多種顯示器和驅(qū)動器。而且計算功能、邏輯判斷功能也比較強大, 可以實現(xiàn)決策目的。
擴展資料:
注意事項:
數(shù)組是有前后每個值的下標(biāo)之間是有數(shù)學(xué)關(guān)聯(lián)的。例如數(shù)組a第一個值的下標(biāo)是i,數(shù)組長度為n,最末一個值的下標(biāo)則是n-1-i。當(dāng)i遞增時,(n-1-i)也隨著遞減。
函數(shù)用數(shù)組作為參數(shù),例如func(int a[]),本身就是把數(shù)組的地址傳入函數(shù)中,所以如果修改,會修改原數(shù)組的內(nèi)容。不會從新建立一個數(shù)組。
數(shù)組名雖然相當(dāng)于指針。但是還是由區(qū)別的。數(shù)組名不能用于加運算。例如char a[]={"I am here"},while(1){printf("%d",a);a++,if (*a!='\0') break;}是不合法的。必須要把數(shù)組名賦值給指針,然后用指針運算。
參考資料來源:百度百科-c語言