科銳課堂筆記 2017 2 28 迴圈相關

2021-07-27 15:41:35 字數 888 閱讀 8026

大數階乘演算法優化,例求10的階乘1*2*3*4*5*6*7*8*9*10可轉換成(1*3*5*7*9)*(2*4*6*8*10)=(1*3*5*7*9)*(1*2*3*4*5)*2,即把乙個大數階乘轉換成若干小數階乘,乘多少次2可用左移指令完成,其中2*5可去掉,記住有多少次2*5結果末位就加上多少個0,這樣一來計算量大大減少,執行結果時間也大幅縮短。

vc6 watch視窗中若有表示式,在除錯狀態中,每一條語句前都會執行一次表示式。

if、for、while要加花括號,即便後面看上去只有一條語句,因為有時候很難分清呼叫的到底是函式還是巨集,而有的引數巨集會擴充套件成多條語句導致執行不正確(這種錯誤較隱蔽不易察覺)。

用if、goto模擬3種迴圈過程:

第1種do while迴圈:

loop:

// do{}迴圈內容

if(/*while判斷條件*/)

第2種while迴圈:

loop:

if(/*while判斷反條件*/)

// 迴圈語句

goto loop;

end:

第3種for迴圈:

// for初始化

goto _2;

_1:// for尾部語句

_2:if(/*for判斷反條件*/)

// 迴圈內容

goto _1;

end:

可見for迴圈比起do while或while迴圈開銷更大,但for語句結構清晰簡明,在原始碼中可讀性較好。

科銳課堂筆記 2017 3 17 結構體

結構體是不同資料 包括型別或邏輯意義 的集合。在設計定義乙個結構體時,要把其合理的資料組織在一塊。點 運算子用來訪問結構體成員,點運算子優先順序僅次於括號。vc6中預設的編譯選項,結構體成員對齊為8位元組 zp8 結構體成員的偏移位址規則是,必須是結構體成員對齊位元組數 zp?和該成員型別長度 字串...

科銳課堂筆記 2017 4 19 虛函式

我們知道c 是一門物件導向的語言,它有三大特性 封裝 繼承 多型。其中多型是最具有物件導向程式設計的特性。多型分靜態多型和動態多型。靜態多型也稱編譯時多型,指通過函式過載 運算子過載等,根據引數列表在編譯時刻確定呼叫函式。動態多型也叫執行時多型,是在執行時刻才確定呼叫的函式,執行時多型是通過類中的虛...

科銳課堂筆記 2017 2 23 浮點小數儲存格式

階乘100的解題思路用陣列存數模擬手工算乘法。結果值有150多位 遞迴比迴圈效率低多了,能不用就不用。線性問題優先使用迴圈。數字後加f表示單精度,不加雙精度 對小數而言 定點小數優點快速高效,但缺乏靈活性。單精度浮點小數儲存格式 共4位元組 如圖 這裡需要注意,指數部分存的是指轉換成二進位制下小數點...