C語言源程序是由:數(shù)據(jù)類型、常量與變量、數(shù)組、指針、字符串、文件輸入/輸出、運算構(gòu)成。
1、數(shù)據(jù)類型
C的數(shù)據(jù)類型包括:整型、字符型、實型或浮點型(單精度和雙精度)、枚舉類型、數(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、指針
如果一個變量聲明時在前面使用*號,表明這是個指針型變量。換句話說,該變量存儲一個地址,而*(此處特指單目運算符*,下同。C語言中另有雙目運算符*)則是取內(nèi)容操作符,意思是取這個內(nèi)存地址里存儲的內(nèi)容。指針是C語言區(qū)別于其他同時代高級語言的主要特征之一。
指針不僅可以是變量的地址,還可以是數(shù)組、數(shù)組元素、函數(shù)的地址。通過指針作為形式參數(shù)可以在函數(shù)的調(diào)用過程得到一個以上的返回值,不同于return(z)這樣的僅能得到一個返回值。
指針是一把雙刃劍,許多操作可以通過指針自然的表達,但是不正確的或者過分的使用指針又會給程序帶來大量潛在的錯誤。
5、字符串
C語言的字符串其實就是以'\0'字符結(jié)尾的char型數(shù)組,使用字符型并不需要引用庫,但是使用字符串就需要C標(biāo)準(zhǔn)庫里面的一些用于對字符串進行操作的函數(shù)。它們不同于字符數(shù)組。使用這些函數(shù)需要引用頭文件<string.h>。
6、文件輸入/輸出
在C語言中,輸入和輸出是經(jīng)由標(biāo)準(zhǔn)庫中的一組函數(shù)來實現(xiàn)的。在ANSIC中,這些函數(shù)被定義在頭文件<stdio.h>;中。
7、運算
C語言的運算非常靈活,功能十分豐富,運算種類遠多于其它程序設(shè)計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學(xué)者往往會覺的這種表達式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。
當(dāng)多種不同運算組成一個運算表達式,即一個運算式中出現(xiàn)多種運算符時,運算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。
在學(xué)習(xí)中,對此合理進行分類,找出它們與數(shù)學(xué)中所學(xué)到運算之間的不同點之后,記住這些運算也就不困難了,有些運算符在理解后更會牢記心中,將來用起來得心應(yīng)手,而有些可暫時放棄不記,等用到時再記不遲。
擴展資料:
C語言的特有特點:
1、C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域(variablescope)以及遞歸功能的過程式語言。
2、C語言傳遞參數(shù)均是以值傳遞(passbyvalue),另外也可以傳遞指針(apointerpassedbyvalue)。
3、不同的變量類型可以用結(jié)構(gòu)體(struct)組合在一起。
4、只有32個保留字(reservedkeywords),使變量、函數(shù)命名有更多彈性。
5、部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量。
6、通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
7、預(yù)編譯處理(preprocessor)讓C語言的編譯更具有彈性。