以書中計算陣列和的兩段**為例:
1.未展開:
void psum1(float a, float p, long int n)
2.展開:
void psum2(float a, float p, long int n)
/* for odd n, finish remaining element */
if (i < n)
p[i] = p[i-1] + a[i];
}
以上兩段**在功能上是相等的(計算陣列和),但是經過展開的**執行起來會更快。關鍵在於,展開後的**使得編譯器需要執行的指令減少了。
當迴圈未展開時,採用for迴圈對整個陣列進行迭代,每次執行一次疊加操作——這意味著,陣列有多長,編譯器就會執行多少次對for迴圈條件的判斷運算。
for迴圈 while迴圈
迴圈結構 當重複執行相同的 或者是相似的 時。迴圈三要素 1 迴圈變數的宣告 用於控制迴圈次數的迴圈因子 2 迴圈條件 用於判斷是否執行相同或相似內容 迴圈體 的條件 3 迴圈變數的改變方向 向著迴圈結束的方向改變。1 for迴圈 語法 for 變數的宣告和初始化 迴圈條件 變數的改變方向 執行邏輯...
python while迴圈 for迴圈
1變數的初始化 while 條件2 條件滿足時候 執行該 條件滿足時候 執行該 3變數的更新 1 while 迴圈輸出1 100所有的數 while 迴圈輸出20次我愛你 迴圈輸出1 100累加和 1 100之間所有數的和 1變數的初始化 i 0 sum 0 儲存和 判斷條件 while i 100...
python while 迴圈 if 迴圈
python 程式設計中 while 語句用於迴圈執行程式,即在某條件下,迴圈執行某段程式,以處理需要重複處理的相同任務。其基本形式為 執行語句可以是單個語句或語句塊。判斷條件可以是任何表示式,任何非零 或非空 null 的值均為true。當判斷條件假false時,迴圈結束。執行流程圖如下 prin...