




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第6章 深入學習變量在實際編程中,經(jīng)常用變量存儲臨時的數(shù)據(jù)或資源,前面已經(jīng)了解了變量的概念,這一章來學習靜態(tài)變量、變量數(shù)組及動態(tài)管理數(shù)組變量。本章學習內(nèi)容:6.1 認識靜態(tài)變量 6.5 動態(tài)管理數(shù)組變量6.2 靜態(tài)變量的應用 6.6 定時提醒小程序練習6.3 變量的命令操作 6.7 課后練習6.4 變量數(shù)組的定義 在編程過程中,合理地運用變量能簡化或優(yōu)化程序代碼的運行效率。全局變量、程序集變量和局部變量,建立時都默認為非靜態(tài)變量,只有在子程序里的局部變量才有“靜態(tài)”屬性設置。所以,靜態(tài)變量又稱靜態(tài)局部變量。6.1 認識靜態(tài)變量在子程序里面建立兩個變量。分別命名為“靜態(tài)變量”和“非靜態(tài)變量”,用
2、鼠標在“靜態(tài)變量”的“靜態(tài)”屬性欄里單擊,出現(xiàn)“”符號,這樣,名為“靜態(tài)變量”的變量就具有了靜態(tài)屬性?!办o態(tài)”屬性欄里沒有“”符號,說明該變量為非靜態(tài)變量。1靜態(tài)變量與非靜態(tài)變量(動態(tài)變量)的區(qū)別:非靜態(tài)變量在其所在子程序開始被執(zhí)行前自動分配存儲空間并初始化,當所在子程序執(zhí)行完畢后自動釋放所分配的存儲空間,也就是說,動態(tài)變量的存儲空間僅在其所在子程序執(zhí)行過程中存在;而靜態(tài)變量在所在子程序執(zhí)行結束后仍然存在并保留當前內(nèi)容以供下次繼續(xù)使用。2全局變量和程序集變量具有“靜態(tài)”屬性嗎?雖然在全局變量和程序集變量里沒有設置“靜態(tài)”的選項,但是全局變量一旦賦值,變量就占據(jù)了指定的存儲空間,并在程序運行期間
3、都存在。全局變量僅在應用程序啟動運行前被初始化一次,只有程序結束,其存儲空間才被釋放。程序集變量與此相似,在程序集里,程序集變量一旦賦值,只有程序集退出(結束)時,其存儲空間才被釋放。所以,這兩類變量可被認為是靜態(tài)變量,但它們在定義時不需要特別指定其“靜態(tài)”。6.2 靜態(tài)變量應用下面通過實例來演示靜態(tài)變量的應用。新建一個易語言程序,加入一個畫板和一個按鈕組件,更改畫板的“邊框”屬性為“凹入式”,“畫板背景色”屬性為白色。雙擊按鈕進入程序設計界面,在“_按鈕1_被單擊”子程序里面建立兩個整數(shù)型變量,分別命名為“靜態(tài)變量”和“非靜態(tài)變量”,在靜態(tài)變量的“靜態(tài)”屬性欄里用鼠標點擊,出現(xiàn)“”符號,使其
4、成為靜態(tài)變量。順序輸入以下程序代碼。畫板1.滾動寫行 (靜態(tài)變量)畫板1.滾動寫行 (非靜態(tài)變量)靜態(tài)變量 靜態(tài)變量 1非靜態(tài)變量 非靜態(tài)變量 1按F5鍵運行程序,連續(xù)單擊3次按鈕。在畫板得出如下結果。001020從結果可以看出,整數(shù)型靜態(tài)變量和非靜態(tài)變量的初始化值都是0,子程序結束后非靜態(tài)變量的數(shù)據(jù)清空,而靜態(tài)變量的數(shù)據(jù)依舊保留。6.3 變量的命令操作建立變量并指定其數(shù)據(jù)類型后,如果不進行賦值操作,變量會按默認方式初始化。在系統(tǒng)核心支持庫里有變量的兩個操作命令。在上述支持庫面板中選中“賦值”項后按回車鍵,代碼窗口中會出現(xiàn)“?=?”的代碼行,在易語言里面賦值操作的符號是“=”,該符號右邊的數(shù)據(jù)
5、賦給左邊的變量??梢灾苯虞斎胱兞棵印?”加變量值。如:變量1=100變量2=“易語言”加入文本型變量3,輸入“連續(xù)賦值”命令,該命令第一個參數(shù)是用作賦于的數(shù)據(jù)或資源,第二個參數(shù)是被賦值的變量或變量數(shù)組,可以被重復添加。連續(xù)賦值 (“全中文全可視易語言”, 變量2, 變量3)運行程序后,變量2和變量3的值都等于“全中文全可視易語言”。這里不可以用連續(xù)賦值命令給變量1和變量2賦值,因為它們是不同類型的變量。6.4 變量數(shù)組的定義請打開上一章所完成的程序,將“_按鈕1_被單擊”子程序中的內(nèi)容全部刪除,然后按以下步驟操作:加入一個名為“單維變量”的整數(shù)型變量,在其數(shù)組屬性中輸入“3”,表明此變量為一
6、個單維數(shù)組,共有 3 個成員。加入一個名為多維變量的整數(shù)型變量,在其數(shù)組屬性中輸入“2,2”,表明此變量為一個二維數(shù)組,共有 4個成員(2 2 的結果)。順序輸入下列代碼行:單維變量 1 100多維變量 2 1 200畫板1.滾動寫行 (單維變量 1, 多維變量 2 1)畫板1.滾動寫行 (多維變量 3)多維變量 4 300畫板1.滾動寫行 (多維變量 2 2)按F5鍵運行程序,單擊按鈕。在畫板得出如下結果。100200200300通過上面的程序可以知道:數(shù)組變量可以有多個成員變量,每個成員變量等同于一個單獨變量。各成員變量的引用格式為:數(shù)組變量名 + “” +成員的位置(從 1 開始) +
7、“” + .譬如上面的單維變量,它有“單維變量 1”、“單維變量 2 ”、“單維變量 3 ”3個成員。二維數(shù)組成員的引用格式為:數(shù)組變量名第一維成員位置第二維成員位置例如,數(shù)組“多維變量”各成員為“多維變量 1 1 ”、“多維變量 1 2 ”、“多維變量2 1 ”、“多維變量2 2”四個成員。該表是所示為經(jīng)過上述運算后,兩個數(shù)組各成員變量變更后的數(shù)值。變量名初始值運行后的值單維變量 10100單維變量 200單維變量 300多維變量 1 100多維變量 1 200多維變量 2 10200多維變量 2 20300多維數(shù)組變量的成員也可以使用單維的方式來引用。譬如上面的“多維變量 3”等同于“多維
8、變量 2 1 ”,“多維變量4 ”等同于“多維變量 2 2 ”。此方法可用來遍歷數(shù)組的所有成員。請繼續(xù)進行以下操作:(1)加入一個名稱為變量1的整數(shù)型變量。(2)在上面程序代碼的后面添加以下幾句代碼。計次循環(huán)首 (取數(shù)組成員數(shù) (多維變量), 變量1)畫板1.滾動寫行 (多維變量變量1)計次循環(huán)尾 ()從運行結果可以看出,此段程序可以順序顯示出數(shù)組“多維變量”中所有成員的內(nèi)容。其中前4行是第一次的運行結果,后4行是剛才添加新代碼后的運行結果,再試一試將上面添加的程序段中的多維變量改為單維變量。計次循環(huán)首 (取數(shù)組成員數(shù) (單維變量), 變量1)畫板1.滾動寫行 (單維變量變量1)計次循環(huán)尾 (
9、)運行后查看結果。前面已說過數(shù)組變量的每個成員可以當成單個變量應用,但是每個成員的數(shù)據(jù)類型必須相同。如果數(shù)組變量是整數(shù)型,里面對應的每個成員也必須是整數(shù)型,否則變量賦值時會提示錯誤。6.5 動態(tài)管理數(shù)組變量下面將繼續(xù)講述如何動態(tài)管理數(shù)組變量,它是易語言的高級特性之一。在系統(tǒng)核心支持庫中有一組數(shù)組操作命令,我們通過一個簡單的例子來了解它們。在窗體上添加一個按鈕組件。把其寬度拉長,更改窗口標題為“動態(tài)顯示文字”。分別建立文本型變量“變量1”和整數(shù)型變量“變量2”,在變量1的數(shù)組屬性里輸入0,再繼續(xù)輸入以下代碼:重定義數(shù)組 (變量1, 假,7) /把變量1的成員數(shù)重定義為7變量1= “中”, “文”
10、, “編”, “程”, “易”, “語”, “言” /賦值給變量1每個成員對應的文本 按鈕1.標題=“” /清除按鈕1的標題文字計次循環(huán)首 (取數(shù)組成員數(shù) (變量1), 變量2) /循環(huán)次數(shù)為變量1的成員數(shù)按鈕1.標題 按鈕1.標題 到文本 (變量1 變量2) / 取變量1每個成員的文本值給按鈕1的標題延時(300) /每次取變量1成員內(nèi)容間隔的時間計次循環(huán)尾 ()按F5鍵運行程序,點擊按鈕1,按鈕的標題會動態(tài)顯示“中文編程易語言”。下面刪除代碼段:重定義數(shù)組 (變量1, 假, 7)再運行程序,發(fā)現(xiàn)結果一樣,所以得出結論:變量1 “中”, “文”, “編”, “程”, “易”, “語”, “言
11、” 這種用常量集賦值給數(shù)組變量“變量1”的操作,可以重新改變該變量的成員數(shù)目,并清除原先所有數(shù)據(jù)。該數(shù)組原來成員數(shù)為0,執(zhí)行后變?yōu)橛?個成員。再刪除循環(huán)的那一組代碼,添加一個新的文本型變量“變量3”,數(shù)組成員數(shù)為0,繼續(xù)輸入:變量3=變量1信息框(取數(shù)組成員數(shù)(變量3),0,)運行后,彈出信息框,顯示“7”(變量3的成員數(shù)),這說明:變量3=變量1 這行代碼把變量1的成員數(shù)及其內(nèi)容同時賦給變量3,等同于“復制數(shù)組”命令:復制數(shù)組(變量3,變量1)。用Ctrl+回車鍵把信息框代碼行置為草稿,接著輸入以下代碼:重定義數(shù)組 (變量3, 真, 3, 4) /把單維變量3重定義為二維數(shù)組變量信息框 (取
12、數(shù)組下標 (變量3, 1), 0, ) /得出變量3第一維的成員數(shù)信息框 (取數(shù)組下標 (變量3, 2), 0, ) /得出變量3第二維的成員數(shù)運行后得出變量3第一維的成員數(shù)為3;第二維的成員數(shù)為4。6.6 定時提醒小程序練習變量數(shù)組是編程中臨時存儲多個數(shù)據(jù)的“小倉庫”,其類型可以是整數(shù)、文本、字節(jié)集等等,在實際編程中需注意防止引用數(shù)組成員時超出下標范圍的錯誤!下面就來制作本節(jié)的定時提醒小程序。在新建的易程序窗口上添加如圖所示的組件,調(diào)整組件的位置大小并更改標題內(nèi)容。添加時鐘組件,在屬性面板上更改“時鐘周期”為1000,單位是毫秒,1秒=1000毫秒,目的是每1秒都執(zhí)行對應的周期事件。雙擊標題
13、為“加入提示”的按鈕,進入代碼編寫窗口。新建名稱分別為 “提示內(nèi)容”、“提示時間”的兩個文本型變量和名稱為“變量1”的整數(shù)型變量,并設置“提示時間”變量的數(shù)組屬性為0個成員。在“_按鈕1_被單擊” 子程序中輸入以下代碼:提示內(nèi)容 編輯框1.內(nèi)容提示時間 分割文本 (編輯框2.內(nèi)容, “:”, )切換到時鐘1屬性面板,在底部的下拉列表中選擇周期事件,進入“_時鐘1_周期事件”子程序代碼編寫窗口,也可以直接雙擊時鐘1組件進入“_時鐘1_周期事件”子程序代碼編寫窗口。輸入以下代碼:上面的命令代碼是取現(xiàn)在時間的小時部分和分鐘部分與指定提示的時間判斷,相同則執(zhí)行信息框提示。變量1的目的是控制一分鐘只提示
14、一次,當然你也可以讓程序提示兩次或多次。只需改為“如果真 (變量1 10 0)”代碼,等于每間隔10秒 提示一次。按F5鍵運行程序,立刻會彈出錯誤信息,問題在哪里呢?原來“提示時間”數(shù)組變量的成員數(shù)默認是0,用“提示時間1”引用成員當然出錯了。先把時鐘1的時鐘周期設為0,然后在“_按鈕1_.被單擊”子程序中添加代碼,判斷分割后的“提示時間”數(shù)組的成員數(shù),如果等于2,就分配時鐘1的時鐘周期為1000,不等于2還設為0。如果 (取數(shù)組成員數(shù) (提示時間) 2)時鐘1.時鐘周期 1000時鐘1.時鐘周期 0動態(tài)賦予時鐘1的時鐘周期可以很好地節(jié)約系統(tǒng)資源。時鐘周期事件是經(jīng)常用到的即時判斷條件的事件,但一直會占用系統(tǒng)資源,不需要時時鐘周期最好設為0。按F5鍵運行程序,在“提示文本”編輯框輸入一段文字,“我愛易語言!”,輸入提示時間,格式為“小時:分鐘”,因為程序是分割“:”到“”提示時間數(shù)組,點擊“加入提示”按鈕,程序到指定時間會彈出相應的提示內(nèi)容。上面提示程序的原理就是輸入時間數(shù)字,以“:”分割出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代教育技術支持下的教學模式創(chuàng)新研究
- 杭州概算控制管理辦法
- 粉末冶金鈦合金快速燒結過程研究:微觀組織變化及其機制
- 社區(qū)治理中的“老有所為”與積極老齡化路徑探索
- 園區(qū)低頻噪音管理辦法
- “數(shù)實融合”在皮革行業(yè)高質量發(fā)展中的作用研究
- 公務接待超市管理辦法
- 干濕和氧化條件下生物炭對溶液中Cd2吸附機制的研究
- 農(nóng)墾食品安全管理辦法
- 小學德育安全副校長工作總結
- 配產(chǎn)配注方法培訓
- 發(fā)動機缸徑測量實訓課件
- 八五普法考試答案
- 國家電網(wǎng)考試歷年真題(含解析)
- XX裝飾裝修工程施工設計方案
- 部編版九年級語文上冊教案
- 2023-2024學年黑龍江省寧安市初中語文七年級下冊期末高分通關試卷
- GB/T 6075.3-2011機械振動在非旋轉部件上測量評價機器的振動第3部分:額定功率大于15 kW額定轉速在120 r/min至15 000 r/min之間的在現(xiàn)場測量的工業(yè)機器
- GB/T 5594.4-2015電子元器件結構陶瓷材料性能測試方法第4部分:介電常數(shù)和介質損耗角正切值測試方法
- 預防保健科護理質量控制考核標準
- 林州重機710采煤機電控箱裝配流程
評論
0/150
提交評論