當前位置:才華齋>計算機>C語言>

C語言優化小技巧

C語言 閱讀(9.67K)

在編寫C語言程式後,經常需要對原始碼進行優化,以提高程式的執行效率,不妨看看C語言優化小技巧都有哪些吧。以下僅供參考!

C語言優化小技巧

1、C於程式碼在程式中的優化

現在的C編譯器會自動對程式碼進行優化,但這些優化是對執行速度和程式碼長度的平衡。如果要獲得更小且執行效率更高的程式碼,需要程式設計師手工對程式碼進行優化。

上海上嵌資訊科技有限公司,一家專注口碑的嵌入式基地,嚴管理,重質量!

2、變數型別的定義

不同的資料型別所生成的機器程式碼長度相差很多,變數型別選取的範圍越小執行速度越快,佔用的記憶體越少。能夠使用字元型)定義的變數,就不要使用整型(int)變數定義;能夠使用整型變數定義的變數就不要用長整型(long int),能不使用浮點(float)變數就不要使用浮點型(double)變數。

相同型別的資料型別,有無符號對機器程式碼長度也有影響。因此我們應按照實際需要合理的選用資料型別。當然,在定義變數後不要超過變數的作用範圍,如果超過變數的範圍賦值,C編譯器並不報錯,但程式執行結果卻錯了,而且這樣的錯誤很難發現。

3、提高迴圈語言的效率

在 C 語言中迴圈語句使用頻繁,提高迴圈體效率的基本辦法就是降低迴圈體的複雜性。在多重迴圈中,應將最長的迴圈放在最內層,最短的迴圈放在最外層。這樣可以減少 CPU跨切迴圈的次數。如例 1-1 的效率比 1-2 的效率要高:

int i,j;

for (i = 0; i < 10; i++)

{

for (j = 0; j < 20; j++)

{

... ...

}

} // 例子 1-1

for (j = 0; j < 20; j++)

{

for (i = 0; i < 10; i++)

{

... ...

}

} // 例子 1-2

4、採用數學方法優化程式

數學是計算機之母,沒有數學的'依據和基礎,就沒有計算機的發展,所以在編寫程式的時候,採用一些數學演算法會對程式的執行效率有數量級的提高。有時候這個問題常常被大家忽略, 對於沒有經驗的程式設計師來說更是如此。例如:求 1到100的自然數和sum = 100*(100+1)/2; 數學公式. (n +1)*n/2。

優化演算法和資料結構對提高程式碼的效率有很大的幫助。當然有時候時間效率和空間效率是對立的,此時應分析哪個更重要,做出適當的折中。另外,在進行優化的時候不要片面的追求緊湊的程式碼,因為緊湊的程式碼並不能產生高效率的機器碼。