一道關於for迴圈於if else題

2021-05-25 18:06:04 字數 426 閱讀 2929

有這樣一道題:

寫出下面兩個迴圈的優缺點

1.   for(i=0;iif(condition)

dosomething;

else

dosomething;

2.   if(condition)

for(i=0;idosomething;

else

for(i=0;idosomething;

解答:第乙個優點:程式簡潔,缺點:是多執行了n-1次判斷並且不利於編譯器對**進行優化,降低了程式執行效率

第二個優點:避免了第乙個的缺點,執行效率高,缺點:程式不夠簡潔

思考:兩種方法都能得到想要的效果,但是它體現了一種程式設計風格,不管再小的程式都應該盡量的去完善它,去優化它,從小的方面做起,再大的專案中才能提高程式設計效率,提高**質量。

細節、習慣決定成敗!

一道有趣的迴圈題目

問題 輸入為 n,求乙個 n n的矩陣,規定沿 45度線遞增,形成乙個 zigzag 陣列 jepg 編碼裡取畫素資料的排列順序 用 c 實現。本人的實現思路 在 程式設計師面試寶典 中有另一種解法 問題的實質是把 0,n 1 中的整數依之字形填入乙個二維陣列。於是考慮按之字形遍歷陣列,遍歷時,方向...

一道有趣的迴圈題目

問題 輸入為 n,求乙個 n n的矩陣,規定沿 45度線遞增,形成乙個 zigzag 陣列 jepg 編碼裡取畫素資料的排列順序 用 c 實現。本人的實現思路 在 程式設計師面試寶典 中有另一種解法 問題的實質是把 0,n 1 中的整數依之字形填入乙個二維陣列。於是考慮按之字形遍歷陣列,遍歷時,方向...

一道關於訊號的題

用fork建立兩個子程序,呼叫signal 讓父程序接收鍵盤上的中斷訊號 control c 捕捉到訊號後父程序用kill 向子程序傳送自定義訊號,子程序捕捉到訊號後分別輸出如下資訊後終止 child process 1 is killed by parent child process 2 is ...