導航:首頁 > 軟體知識 > 如何分析源程序代碼結構

如何分析源程序代碼結構

發布時間:2025-01-02 04:07:23

⑴ C語言源程序是由什麼構成的

C語言源程序是由:數據類型、常量與變數、數組、指針、字元串、文件輸入/輸出、運算構成。

1、數據類型

C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。

2、常量與變數

常量其值不可改變,符號常量名通常用大寫。

變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。

3、數組

如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。

4、指針

如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。

指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。

指針是一把雙刃劍,許多操作可以通過指針自然的表達,但是不正確的或者過分的使用指針又會給程序帶來大量潛在的錯誤。

5、字元串

C語言的字元串其實就是以''字元結尾的char型數組,使用字元型並不需要引用庫,但是使用字元串就需要C標准庫裡面的一些用於對字元串進行操作的函數。它們不同於字元數組。使用這些函數需要引用頭文件<string.h>。

6、文件輸入/輸出

在C語言中,輸入和輸出是經由標准庫中的一組函數來實現的。在ANSI C中,這些函數被定義在頭文件<stdio.h>;中。

7、運算

C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。

當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。

在學習中,對此合理進行分類,找出它們與數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。

(1)如何分析源程序代碼結構擴展閱讀:

C語言的特有特點:

1、C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。

2、C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。

3、不同的變數類型可以用結構體(struct)組合在一起。

4、只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。

5、部份的變數類型可以轉換,例如整型和字元型變數。

6、通過指針(pointer),C語言可以容易的對存儲器進行低級控制。

7、預編譯處理(preprocessor)讓C語言的編譯更具有彈性。

⑵ C語言源程序的基本結構是什麼

C程序的基本結構 = 主函數+m*自定義函數+n*文件包含,(其中m、n均大於等於0)。

從公式可以看出一個C程序必須有且僅有一個主函數,因為主函數是C程序的入口點和結束點。而自定義函數和文件包含可以沒有。

結構可以看成是特殊的數組。結構名等同數組名。結構變數等同 數組名,這樣理解起來比較易懂。

數組含一組數,它們是同一類型的。整型數組,它的所有元素都是整型。float 數組,它的所有元素都是float型。結構含一組數,它們往往是不同類型的。 它的成員有整型,有float型,有 char 型。有沒有結構變數,就同有沒有數組變數一樣。

(2)如何分析源程序代碼結構擴展閱讀

用goto語句和if語句構成循環1到100求和的源代碼如下

main()

{

int i,sum=0;

i=1;

loop: if (i<=100)

{

sum=sum+i;

i++;

goto loop;

}

printf("%d ",sum);

}

閱讀全文

與如何分析源程序代碼結構相關的資料

熱點內容
領導怕我學會了技術怎麼辦 瀏覽:681
阿里怎麼查違規產品 瀏覽:656
萊陽賣馬犬市場在哪裡 瀏覽:567
籃球技術代表了什麼 瀏覽:718
查找文獻線索的資料庫有哪些 瀏覽:29
惠水快遞代理如何加盟 瀏覽:70
濮陽市家電舊貨市場在什麼地方 瀏覽:401
產品漏驗率怎麼計算 瀏覽:696
超級賬本中如何保證數據的私密性 瀏覽:93
污泥固化技術哪個最好 瀏覽:915
市場競爭如何發展 瀏覽:991
什麼叫無球技術包括哪些內容 瀏覽:691
贛州房子交易滿二年有哪些費用 瀏覽:75
如何刪除交易物流小助手的記錄 瀏覽:262
樂搖搖產品是什麼意思 瀏覽:3
炒股如何炒出高手的技術 瀏覽:537
第三方數據介面不規范什麼意思 瀏覽:810
csgo可以在哪裡交易 瀏覽:752
東莞窗簾布批發市場在什麼地方 瀏覽:609
北京母嬰信息管理系統多少錢 瀏覽:35