




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章應(yīng)試指南(略)
第數(shù)據(jù)結(jié)構(gòu)與算法(公共基礎(chǔ)部分)
第3程序設(shè)計(jì)基礎(chǔ)(公共基礎(chǔ)部分)
第4軟件工程基礎(chǔ)(公共基礎(chǔ)部分)
第5數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)(公共基礎(chǔ)部分)
第6VB程序設(shè)計(jì)的初步知識(shí)
第:數(shù)據(jù)輸入輸出7.1.2與Print方法有關(guān)的函數(shù)
7.1.4Cis方法與Move方法7.1.5MsgBox函數(shù)
第8章VisualBasic控制結(jié)構(gòu)8.1.1Hf函數(shù)
第9數(shù)組與過程9.1.2默認(rèn)數(shù)組
第10章鍵盤與鼠標(biāo)事件10.1.1KeyDown和KeyUp事件
第1I可視化程序設(shè)計(jì)11.1.2彈出式菜單
第12串?dāng)?shù)據(jù)文件
第13章筆試模擬試卷及解析(略)
第14章機(jī)試指導(dǎo)、分類解析及模擬(略)
第2章數(shù)據(jù)結(jié)構(gòu)與算法
本章節(jié)主要考查算法的基本概念、基本的數(shù)據(jù)結(jié)構(gòu)及其基本操作、查找和排序算法。本章
的內(nèi)容在歷次試題中所占的比例約為11.2%,都是以選擇題和填空題的形式出現(xiàn)的。
2.1.1考點(diǎn)1:算法的定義
算法是對(duì)一個(gè)問題求解步驟的一種描述,是求解問題的方法,它是指令的有限序列,其
中每條指令表示一個(gè)或者多個(gè)操作。一般來說,一個(gè)算法具有以下5個(gè)主要的特征。
(1)有窮性:一個(gè)算法(對(duì)任何合法的輸入)在執(zhí)行有窮步后能夠結(jié)束,并且在有限的
時(shí)間內(nèi)完成。
(2)確定性:算法中的每一步都有確切的含義。
(3)可行性:算法中的操作能夠用已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來實(shí)現(xiàn)。
(4)輸入:一個(gè)算法有零個(gè)或者多個(gè)輸入,零個(gè)輸入就是算法本身缺定了初始條件。
(5)輸出:一個(gè)算法有?個(gè)或者多個(gè)輸出,以反映出數(shù)據(jù)加工的結(jié)果。
例2.1.1問題處理方案的正確而完整的描述稱為o[2005年4月填空第5題]
答案:算法
例2.1.2一個(gè)算法應(yīng)該具有“確定性”等5個(gè)特性,下面對(duì)另外4個(gè)特性的描述中錯(cuò)誤的是
()。
A.有零個(gè)或多個(gè)輸入B.有零個(gè)或多個(gè)輸出
C.有窮性D.可行性
答案:B
例2.1.3算法具有5個(gè)特性,以下選項(xiàng)中不屬于算法特性的是()。
A.有窮性B.簡潔性C.可行性D.確定性
答案:B
第3章程序設(shè)計(jì)基礎(chǔ)
本章主要考查程序設(shè)計(jì)的一些基本知識(shí),比如程序設(shè)計(jì)的方法與風(fēng)格、結(jié)構(gòu)化程序設(shè)計(jì)與
面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想。從歷次的試題來看,本章試題分值約占2.4%,屬于非重點(diǎn)
考查對(duì)象。盡管分值所占的比例較少,但基本上每次至少有一道試題。試題以選擇和填空
的形式出現(xiàn)。
3.1程序設(shè)計(jì)
該節(jié)知識(shí)點(diǎn)所占試題比重為17%,屬于非重點(diǎn)考查對(duì)象。到目前為止,該知識(shí)點(diǎn)只出
過一道選擇題。從考試大綱來看,主要考查程序設(shè)計(jì)的方法、程序設(shè)計(jì)風(fēng)格。
3.1.1考點(diǎn)1:程序設(shè)計(jì)的方法
程序是指令的有序集合,它是為了解決某一問題而設(shè)計(jì)的一系列指令。程序設(shè)計(jì)是使用計(jì)
算機(jī)系統(tǒng)的指令或語句,組成求解不同問題,實(shí)現(xiàn)不同算法所需的完整序列的一個(gè)工作過
程。隨著計(jì)算機(jī)硬件技術(shù)的發(fā)展以及計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,根據(jù)需求程序設(shè)計(jì)的方法也
經(jīng)過了幾個(gè)發(fā)展的過程。
在程序設(shè)計(jì)早期,由于受到計(jì)算機(jī)硬件的限制,運(yùn)行速度慢,存儲(chǔ)空間少,使得程序
員不得不提高程序的效率,在這種情況下,編程成了一種技巧和藝術(shù),程序的可理解性和
可擴(kuò)充性沒有得到重視。在這個(gè)時(shí)期出現(xiàn)的高級(jí)語言有Fortran、COBOL.ALGOL.Basic
等語言,在這個(gè)時(shí)期不注重程序的結(jié)構(gòu),可以說這是沒有固定程序設(shè)計(jì)方法的時(shí)期。
計(jì)算機(jī)硬件得到了很大的發(fā)展,在編程的時(shí)候,運(yùn)行速度和存儲(chǔ)空間不再困擾程序員,
計(jì)算機(jī)技術(shù)應(yīng)用范圍的擴(kuò)大使得程序必須要有良好的結(jié)構(gòu),在這種需求下,提出了結(jié)構(gòu)化
程序設(shè)計(jì)方法。這時(shí)出現(xiàn)的高級(jí)語言有PASCAL、C等。20世紀(jì)60年代后期,提出了類
和對(duì)象的概念,程序設(shè)計(jì)已經(jīng)不是問題的中心,如何更好地描述問題已經(jīng)成為了主題,因
此在這種情況下,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法發(fā)展起來了,并得到廣泛地應(yīng)用。進(jìn)入20世紀(jì)
80年代后,出現(xiàn)了一系列的面向?qū)ο蟪绦蛟O(shè)計(jì)語言,如C++等。
下面我們會(huì)詳細(xì)討論結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)。
3.1.2考點(diǎn)2:程序設(shè)計(jì)的風(fēng)格
我們?cè)诰帉懗绦驎r(shí)要養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣,對(duì)程序的要求不僅能夠在計(jì)算機(jī)上正
確運(yùn)行,而且要便于閱讀和被別人理解,便于程序的調(diào)試和維護(hù)。好的程序設(shè)計(jì)風(fēng)格有助
于提高程序的正確性、可讀性、可維護(hù)性和可用性。要使程序具有良好的風(fēng)格,概括起來
可以分成4部分:源程序文檔化、數(shù)據(jù)說明、語句結(jié)構(gòu)、輸入/輸出方法。
1.源程序文檔化
源程序文檔化主要包括:標(biāo)識(shí)符的命名、程序中添加注釋以及程序的編輯風(fēng)格。
(1)標(biāo)識(shí)符的命名
標(biāo)識(shí)符即符號(hào)名,包括變量名、模塊名、常量名、標(biāo)號(hào)名、函數(shù)名、數(shù)據(jù)區(qū)名和緩沖
區(qū)名等。一個(gè)程序中必然有很多的標(biāo)識(shí)符,特別是在一個(gè)復(fù)雜大型的程序中,標(biāo)識(shí)符可能
成千上萬,對(duì)標(biāo)識(shí)符作用的正確理解是讀懂程序的前提,如果程序員隨意命名標(biāo)識(shí)符,程
序的可讀性會(huì)很差。
因此,標(biāo)識(shí)符的命名應(yīng)該要規(guī)范化,具體要根據(jù)下面幾個(gè)原則來命名。
①選取有實(shí)際意義的標(biāo)識(shí)符名稱。為了方便理解標(biāo)識(shí)符的作用,標(biāo)識(shí)符的名字要能夠
反映其作用,如用于存儲(chǔ)數(shù)量的變量的名稱可以是count等。
②為了便于程序的輸入,標(biāo)識(shí)符的名字不宜太長。必要時(shí)可以用一些縮寫,但是要注
意縮寫規(guī)則要一致,并且要給每一個(gè)變量加上注釋。
③為了便于區(qū)分,不同的標(biāo)識(shí)符不要取過于相似的名字。
④由于程序中通常需要大量不同類型的標(biāo)識(shí)符,為了使說明部分閱讀起來更加清晰,
在對(duì)其進(jìn)行類型說明時(shí)應(yīng)注意以下幾點(diǎn):按照某種頁序?qū)Ω鞣N類型的變量進(jìn)行集中說明,
如先說簡單類型,再說明記錄類型;在使用一個(gè)說明語句對(duì)同一類型的多個(gè)變量進(jìn)行說明
時(shí),按照變量名中的字母順序進(jìn)行排列。
(2)不辨中加注釋
注釋是程序員與日后的程序讀者之間通信的重要工具,用自然語言或偽碼描述。它說
明了程序的功能,特別在維護(hù)階段,對(duì)理解程序提供了明確指導(dǎo)。一些正規(guī)的程序文本中,
注釋行的數(shù)量占到整個(gè)源程序的1/3~1/2,甚至更多。注釋分序言性注釋和功能性注釋。
①序言性注釋:一般置于每個(gè)程序模塊的開頭部分,它應(yīng)當(dāng)給出程序的整體說明,用
來引導(dǎo)讀者理解程序。主要描述內(nèi)容可以包括:程序標(biāo)題、程序功能說明、主要算法、接
口說明、有關(guān)數(shù)據(jù)描述、程序位置、開發(fā)簡歷、程序設(shè)計(jì)者、復(fù)審者、復(fù)審日期和修改日
期等。
②功能性注釋:一般置于程序體中,用來描述其后的語句或程序段是用來做什么的,
或者是執(zhí)行了其下面的語句或程序段會(huì)產(chǎn)生什么樣的效果,而不要解釋下面該怎么做。
(3)程序的編輯風(fēng)格
為了使程序的結(jié)構(gòu)一目了然,可以在程序中利用空格、空行、縮進(jìn)等技巧使程序?qū)哟?/p>
清晰,便于程序的理解??梢园凑找韵聨讉€(gè)原則來編輯程序。
①恰當(dāng)?shù)乩美ㄌ?hào),可以突出運(yùn)算的優(yōu)先性,避免發(fā)生運(yùn)算錯(cuò)誤。
②程序段之間可用空行隔開。
③對(duì)于選擇語句和循環(huán)語句,應(yīng)該做適當(dāng)?shù)目s進(jìn),使得程序的邏輯結(jié)構(gòu)更加清晰。
2.數(shù)據(jù)說明
在程序設(shè)計(jì)時(shí),應(yīng)該注意數(shù)據(jù)說明的風(fēng)格。為了使數(shù)據(jù)定義更易于理解和維護(hù),有以
下指導(dǎo)原則。
(1)數(shù)據(jù)說明順序應(yīng)規(guī)范化,使數(shù)據(jù)的屬性更易于查找,從而有利于測試、糾錯(cuò)與維
護(hù)。原則上,數(shù)據(jù)說明的次序與語法無關(guān),其次序是任意的,但是便于閱讀和理解,最好
使其規(guī)范化,使說明次序按照某種規(guī)則固定。例如,按以下順序:常量說明、類型說明、
全程量說明及局部量說明。
(2)語句中變量的說明應(yīng)有序化,多個(gè)變量在同一個(gè)說明語句中說明時(shí),各變量名按
字典序排列。
(3)使用注釋來說明復(fù)雜的數(shù)據(jù)結(jié)構(gòu)時(shí),要說明在程序?qū)崿F(xiàn)這個(gè)數(shù)據(jù)結(jié)構(gòu)時(shí)的特點(diǎn)。
3.語句康
單個(gè)語句結(jié)構(gòu)是編碼階段的任務(wù),語句結(jié)構(gòu)追求簡單直接,不能為了追求效率而使代
碼復(fù)雜化。我們可以根據(jù)下面的原則來構(gòu)造語句。
①為了便于閱讀和理解,不要一行多個(gè)語句。
②不同層次的語句采用縮進(jìn)形式,使程序的邏輯結(jié)構(gòu)和功能特征更加清晰。
③要避免復(fù)雜的判定條件,避免多重的循環(huán)嵌套。
④表達(dá)式中使用括號(hào)以提高運(yùn)算次序的清晰度。
⑤程序編寫首先應(yīng)當(dāng)考慮程序結(jié)構(gòu)的清晰性,不要刻意追求技巧性,使得程序復(fù)雜。
⑥除非對(duì)效率有特殊要求,否則先要考慮程序的清晰性,不要追求高效率而喪失程序
的清晰度。
⑦程序編寫要簡單,要直截了當(dāng)?shù)乇磉_(dá)出程序員的用意。
⑧首先要保證程序正確,然后才要求提高速度。
⑨避免使用臨時(shí)變量而使程序可讀性下降。
⑩盡可能使用庫函數(shù)。
4.輸入和輸出
輸入和輸出是程序的一個(gè)重要的組成部分,是用戶和計(jì)算機(jī)交互直接相關(guān)的。輸入和
輸出的方式應(yīng)當(dāng)盡量方便用戶的使用。一定要避免輸入輸出的不當(dāng)而導(dǎo)致用戶使用軟件麻
煩。因此,在軟件需求分析階段和設(shè)計(jì)階段,就應(yīng)基本確定輸入和輸出的風(fēng)格。軟件能否
被用戶接受,有時(shí)就取決于輸入和輸出的風(fēng)格。
一個(gè)良好的輸入輸出風(fēng)格能夠使用戶很方便地使用系統(tǒng),我們?cè)诰幋a階段可以根據(jù)下
面的原則來設(shè)計(jì)一個(gè)好的輸入輸出。
①對(duì)所有輸入的數(shù)據(jù)都要進(jìn)行有效性檢查,要能夠識(shí)別出錯(cuò)誤的輸入,對(duì)錯(cuò)誤的輸入
做出異常處理,使得每個(gè)輸入數(shù)據(jù)都具有有效性。
②檢查輸入數(shù)據(jù)項(xiàng)的各種重要組合的合理性,必要時(shí)報(bào)告輸入狀態(tài)信息。
③在輸入時(shí),輸入的步驟和方式應(yīng)該盡量簡單。
④輸入數(shù)據(jù)時(shí),應(yīng)允許使用自由格式輸入。
⑤允許默認(rèn)值
⑥輸入一批數(shù)據(jù)時(shí),最好使用輸入結(jié)束標(biāo)志,而不要用戶指定輸入數(shù)據(jù)數(shù)目。
⑦在交互輸入時(shí),要給用戶提示信息,如可使用選擇項(xiàng)的種類和取值范圍,在輸入結(jié)
束時(shí),給出狀態(tài)信息。
⑧當(dāng)程序設(shè)計(jì)語言對(duì)輸入/輸出格式有嚴(yán)格要求時(shí),應(yīng)保持輸入格式與輸入語句的要求
的一致性。
⑨給所有的輸出加注解,并設(shè)計(jì)輸出報(bào)表格式。
例3.1.1以下敘述中錯(cuò)誤的是()。[2005年9月選擇第11題]
A.用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字
B.用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意”
C.用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭
D.用戶定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)
答案:A
第4章軟件工程基礎(chǔ)
本章主要掌握以下幾個(gè)方面內(nèi)容。
(1)軟件工程的基本概念、軟件生命周期概念、軟件工具和軟件開發(fā)環(huán)境;
(2)結(jié)構(gòu)化分析方法、數(shù)據(jù)流圖、數(shù)據(jù)字典和軟件需求規(guī)格說明書;
(3)結(jié)構(gòu)化設(shè)計(jì)方法、總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)
(4)軟件測試的方法、白盒測試與黑盒測試、測試用例設(shè)計(jì)、軟件測試的實(shí)施、單元測
試、集成測試和系統(tǒng)測試;
(5)程序調(diào)試、靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試;
(6)軟件維護(hù)。
通過對(duì)歷次試卷內(nèi)容的分析,軟件工程考核內(nèi)容占卷面分?jǐn)?shù)6.8%。
4.1軟件工程的基本概念
軟件工程的基本概念所涉及的試題分值在本章中所占比重為16%
4.1.1考點(diǎn)1:軟件與軟件工程概述
1.軟件的定義
軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合,相對(duì)于計(jì)算機(jī)硬件而言,軟件是邏輯產(chǎn)品而不是
物理產(chǎn)品,是計(jì)算機(jī)的無形部分。
軟件包括系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件是計(jì)算機(jī)管理自身資源,提高計(jì)算機(jī)使用效率
而編寫的軟件。系統(tǒng)軟件依賴于機(jī)器的指令系統(tǒng)、中斷系統(tǒng),以及運(yùn)算、控制、存儲(chǔ)部件
和外部設(shè)備。系統(tǒng)軟件包括操作系統(tǒng)(如Windows、UNIX、Linux、Macintosh等)、各種
語言編譯的編譯程序、數(shù)據(jù)庫管理系統(tǒng)、文件編輯系統(tǒng)、系統(tǒng)檢查與診斷軟件等。應(yīng)用軟
件是專門為了某種使用目的而編寫的程序系統(tǒng),常用的有文字處理軟件(如WPS和
Word)、專用的財(cái)務(wù)軟件、人事管理軟件、計(jì)算機(jī)輔助軟件(如AutoCAD)和繪圖軟件
(如3DS)等。
與硬件相比,軟件的特點(diǎn)包括:
(1)軟件是一種邏輯實(shí)體;
(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;
(3)軟件在運(yùn)行、使用期間不存在磨損、老化問題;
(4)軟件的開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件
存在移植的問題;
(5)軟件復(fù)雜性高,成本昂貴;
(6)軟件開發(fā)涉及諸多的社會(huì)因素。
2.軟件工程的定義
隨著計(jì)算機(jī)的應(yīng)用范圍“益廣泛,傳統(tǒng)的軟件開發(fā)成本難以控制,進(jìn)度不可預(yù)計(jì);軟件
系統(tǒng)的質(zhì)量和可靠性很差;軟件文檔相當(dāng)缺乏,軟件系統(tǒng)不可維護(hù);軟件開發(fā)生產(chǎn)率很低,
軟件產(chǎn)品供不應(yīng)求;軟件產(chǎn)品成本十分昂貴等特點(diǎn)「I益顯現(xiàn),成為計(jì)算機(jī)應(yīng)用的一個(gè)“瓶
頸”,出現(xiàn)了所謂的“軟件危機(jī)”。1968年,北大西洋公約組織(NATO)召開計(jì)算機(jī)科學(xué)會(huì)
議,首次提出了軟件工程的概念,試圖用工程化的方法開發(fā)軟件,從而解決或緩解軟件危
機(jī)。
軟件工程是采用工程化的方法開發(fā)和維護(hù)軟件的工程學(xué)科。把經(jīng)過時(shí)間考驗(yàn)而證明正確
的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)和方法結(jié)合起來,以便經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟
件并有效地維護(hù)它。軟件工程包括3個(gè)要素,分別是方法、工具和過程。
軟件工程的基本思想是在軟件開發(fā)過程中需要應(yīng)用工程化原則進(jìn)行軟件開發(fā),并將這個(gè)
思想貫穿到軟件開發(fā)的整個(gè)過程中O
軟件工程的目標(biāo)是在給定成本、進(jìn)度的前提下,利用工程化原則,開發(fā)出具有可修改性、
有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適用性、可移植性、可追蹤性和可
互操作性并滿足用戶需求的軟件產(chǎn)品。
3.例題
例4.1.1下列描述中正確的是()。[2005年4月選擇第8題]
A.程序就是軟件B.軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
C.軟件既是邏輯實(shí)體,又是物理實(shí)體D.是程序、數(shù)據(jù)與相關(guān)文檔的集合
答案:D
例4.1.2下列描述中正確的是()。[2005年9月選擇第5題]
A.軟件工程只是解決軟件項(xiàng)目的管理問題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題
答案:C
第5章數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)
本章主要掌握以下幾個(gè)方面內(nèi)容。
(1)數(shù)據(jù)庫的基本概念、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng);
(2)數(shù)據(jù)模型、實(shí)體聯(lián)系模型、E-R圖和從E-R圖導(dǎo)出關(guān)系數(shù)據(jù)模型;
(3)關(guān)系代數(shù)運(yùn)算(包括集合運(yùn)算及選擇、投影、連接運(yùn)算)和數(shù)據(jù)庫規(guī)范化理論;
(4)數(shù)據(jù)庫設(shè)計(jì)方法和步驟、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)的相關(guān)策略。
通過對(duì)歷次試卷內(nèi)容的分析,本章考核內(nèi)容占卷面分?jǐn)?shù)8.8%。
5.1數(shù)據(jù)庫基礎(chǔ)知識(shí)
信息在現(xiàn)代社會(huì)中起著越來越重要的作用,信息資源的開發(fā)和利用水平已成為衡量一個(gè)
國家綜合國力的重要標(biāo)志。在計(jì)算機(jī)應(yīng)用領(lǐng)域中,數(shù)據(jù)處理是其主要方面。數(shù)據(jù)庫技術(shù)就
是作為數(shù)據(jù)處理中的一門技術(shù)而發(fā)展起來的。本節(jié)介紹數(shù)據(jù)庫系統(tǒng)的基本概念和發(fā)展歷史,
初步了解數(shù)據(jù)庫系統(tǒng)的概貌。
數(shù)據(jù)庫基礎(chǔ)知識(shí)所涉及的試題分值在本章中所占比重為41%,
5.1.1考點(diǎn)1:數(shù)據(jù)庫
數(shù)據(jù)庫(Database,DB)可以看成是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共
享的數(shù)據(jù)集合。數(shù)據(jù)是描述現(xiàn)實(shí)世界中各種具體事物和抽象概念的可存儲(chǔ)并有明確意義的
信息。
數(shù)據(jù)庫可以被直觀地理解為存放數(shù)據(jù)的倉庫,只不過這個(gè)倉庫是在計(jì)算機(jī)的大容量存儲(chǔ)
器上,例如,硬盤就是一種最常見的計(jì)算機(jī)大容量存儲(chǔ)設(shè)備。數(shù)據(jù)必須按一定的格式存放,
因?yàn)樗粌H需要存放,而且還要便于查找。
數(shù)據(jù)庫的特點(diǎn)如下
(1)數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存。
(2)冗余度較小。數(shù)據(jù)共享大大減少了數(shù)據(jù)冗余。
(3)數(shù)據(jù)獨(dú)立性較高。數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫領(lǐng)域中一個(gè)常用的術(shù)語,也是數(shù)據(jù)庫技術(shù)的
重要特點(diǎn)之一。數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)的組織結(jié)構(gòu)和存儲(chǔ)方法與應(yīng)用程序互不依賴、彼此獨(dú)
立。它包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。物理獨(dú)立性是指用戶的應(yīng)用程序與存
儲(chǔ)在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)是相互獨(dú)立的,也就是當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,用戶程序
也可以不變。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是
說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。
(4)易擴(kuò)展。
(5)可為各種用戶共享。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫,可以取出他們所需要的子
集,而且容許子集任意重疊。
例5.1.1數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性,是指().[2005
年4月選擇第9題]
A.數(shù)據(jù)與程序獨(dú)立存放
B.不同的數(shù)據(jù)被存放在不同的文件中
C.不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用
D.以上三種說法都不對(duì)
答案:D
例5.1.2數(shù)據(jù)庫設(shè)計(jì)的根本目標(biāo)是要解決()。[2005年9月選擇第8題]
A.■共享問題B.數(shù)據(jù)安全問題
C.大量數(shù)據(jù)存儲(chǔ)問題D.簡化■維護(hù)
答案:A
例5.1.3下列敘述中正確的是()。[2004年9月選擇第9題]
A.數(shù)據(jù)庫系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題
D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
答案:C
第6章VisualBasic程序設(shè)計(jì)的初步知識(shí)
本章主要考查關(guān)于VisualBasic概述、VisualBasic程序開發(fā)環(huán)境、VisualBasic常用對(duì)象
及其操作、VisualBasic應(yīng)用程序基本操作、VisualBasic常用數(shù)據(jù)類型、VisualBasic中的
常量和變量、VisualBasic常用內(nèi)部函數(shù)、VisualBasic字符串處理、VisualBasic運(yùn)算符與
表達(dá)式和VisualBasic常用標(biāo)準(zhǔn)控件等內(nèi)容。通過對(duì)歷年試卷內(nèi)容的分析,本章考核內(nèi)容約
占卷面分?jǐn)?shù)30%,屬于重點(diǎn)考查對(duì)象。由命題走勢圖可知,本章內(nèi)容所涉及考題分值有下
降趨勢,但是考生絕不能掉以輕心,因?yàn)楸菊聝?nèi)容是整個(gè)VisualBasic語言的基礎(chǔ),并且在
試題中本章所占比例較大,近年來考題分值一直保持在25分左右,因此考生應(yīng)重點(diǎn)復(fù)習(xí)。
6.1VisualBasic概述
考點(diǎn)1:VisualBasic的特點(diǎn)和版本
1.VisualBasic的特點(diǎn)
VisualBasic是在Basic語言基礎(chǔ)上研制而成的,它具有Basic語言簡單而不貧乏的優(yōu)點(diǎn),
同時(shí)增加了結(jié)構(gòu)化和可視化程序設(shè)計(jì)語言的功能。
VisualBasic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語言,
可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。
總起來說,VisualBasic有以下主要特點(diǎn):
(1)可視化編程;
(2)面向?qū)ο蟮某绦蛟O(shè)計(jì);
(3)結(jié)構(gòu)化的程序設(shè)計(jì)語言;
(4)事件驅(qū)動(dòng)編程機(jī)制;
(5)訪問數(shù)據(jù)庫。
與傳統(tǒng)的編程語言相比,VisualBasic最突出的特點(diǎn)是可視化編程。
2.VisualBasic的版本
VisualBasic6.0包括3種版本,分別為學(xué)習(xí)版、專業(yè)版和企業(yè)版。
(1)學(xué)習(xí)版
VisualBasic的基礎(chǔ)版本,可用來開發(fā)Windows應(yīng)用程序。該版本包括所有的內(nèi)部控件
(標(biāo)準(zhǔn)控件)、網(wǎng)格(Grid)控件、Tab對(duì)象以及數(shù)據(jù)綁定控件。
(2)專業(yè)版
該版本為專業(yè)編程人員提供了一整套用于軟件開發(fā)、功能完備的工具。它包括學(xué)習(xí)版的
全部功能,同時(shí)包括ActiveX控件、Internet控件、CrystalReportWriter和報(bào)表控件。
(3)企業(yè)版
可供專業(yè)編程人員開發(fā)功能強(qiáng)大的組內(nèi)分布式應(yīng)用程序。該版本包括專業(yè)版的全部功能,
同時(shí)具有自動(dòng)化管理器、部件管理器、數(shù)據(jù)庫管理工具、MicrosoftVisualSourceSafe面向
工程版的控制系統(tǒng)等。
在這3種版本中,企業(yè)版最全;而專業(yè)版包括了學(xué)習(xí)版的功能,用戶可根據(jù)自己的需要
選擇不同的版本。
例6.1.1以下關(guān)于VisualBasic特點(diǎn)的敘述中,錯(cuò)誤的是()。[2006年4月選擇第11
A.VisualBasic是采用事件驅(qū)動(dòng)編程機(jī)制的語言
B.VisualBasic程序既可以編譯運(yùn)行,也可以解釋運(yùn)行
C.構(gòu)成VisualBasic程序的多個(gè)過程沒有固定的執(zhí)行順序
D.VisualBasic程序不是結(jié)構(gòu)化程序,不具備結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)
答案:D
第7章數(shù)據(jù)輸入輸出
本章主要考查數(shù)據(jù)輸入輸出方法,包括數(shù)據(jù)輸出方法、數(shù)據(jù)輸入方法、字形設(shè)置與打印
輸出等內(nèi)容,本章內(nèi)容通常與其他章節(jié)知識(shí)點(diǎn)結(jié)合起來考。通過對(duì)歷年試卷內(nèi)容的分析,
本章考核內(nèi)容約占4%,屬于非重點(diǎn)考查對(duì)象
7.1數(shù)據(jù)輸出方法
7.1.1考點(diǎn)1:print方法
Print方法可以在窗體上顯示文本字符串和表達(dá)式的值,并可在其他圖形對(duì)象或打印機(jī)上
輸出信息。
Print方法的一般格式如下:
[對(duì)象名稱.]Print[表達(dá)式]口;]
說明:
“表達(dá)式”是一個(gè)或多個(gè)表達(dá)式,可以是數(shù)值表達(dá)式或字符串。
當(dāng)輸出多個(gè)表達(dá)式或字符串時(shí),各表達(dá)式用分隔符(逗號(hào)、分號(hào)或空格)隔開。如果輸
出的各表達(dá)式之間用逗號(hào)分隔,則按標(biāo)準(zhǔn)輸出格式(分區(qū)輸出格式)顯示數(shù)據(jù)項(xiàng)。在這種
情況下,以14個(gè)字符位置為單位把一個(gè)輸出行分為若干個(gè)區(qū)段,逗號(hào)后面的表達(dá)式在下一
個(gè)區(qū)段輸出。如果各輸出項(xiàng)之間用分號(hào)或空格作為分隔符,則按緊湊輸出格式輸出數(shù)據(jù)。
Print方法具有計(jì)算和輸出雙重功能.對(duì)于表達(dá)式,它先計(jì)算后輸出。
在一般情況下,每執(zhí)行一次Print方法后會(huì)自動(dòng)換行。為了仍在同一行上顯示,可以在末
尾加上一個(gè)分號(hào)或逗號(hào)。
例7.1.1以下語句的輸出結(jié)果是[2005年4月填空第6題]
PrintInt(12345.6789*100+0.5)/100
解析:12345.6789*100+0.5=1234568.39,Int(12345.6789*100+0.5)=1234568,最后結(jié)
果為12345.68。
答案:12345.68
7.1.2考點(diǎn)2:與Print方法有關(guān)的函數(shù)
在Print方法中經(jīng)常使用Tab函數(shù)、Spc函數(shù)和Space函數(shù),使信息按指定的格式輸出。
1.Tab(n)函數(shù)
Tab(n):用于把光標(biāo)往后移動(dòng)n個(gè)字符的位置,從這個(gè)位置開始輸出信息。要輸出的內(nèi)
容放在Tab函數(shù)的后面,并用分號(hào)隔開。
例如:
PrintTab(25);800
說明:
①參數(shù)n為數(shù)值表達(dá)式,其值為一個(gè)整數(shù),它是下一個(gè)輸出位置的列號(hào),表示在輸出前
把光標(biāo)移到該列。最左邊的列號(hào)為1,如果當(dāng)前的顯示位置已經(jīng)超過n,則自動(dòng)下移一行。
②在VisualBasic中,對(duì)參數(shù)n的取值范圍沒有具體限制。當(dāng)n比行寬大時(shí),顯示位置為
nMod行寬;如果n<l,則把輸出位置移到第一列。
③當(dāng)在一個(gè)Print方法中有多個(gè)Tab函數(shù)時(shí),每個(gè)Tab函數(shù)對(duì)應(yīng)一個(gè)輸出項(xiàng),各輸出項(xiàng)之
間用分號(hào)隔開。
2.Spc(n)函數(shù)
Spc(n)函數(shù)與Tab函數(shù)類似,用于跳過n個(gè)空格輸出。與Tab函數(shù)的區(qū)別是,Tab函數(shù)從
第一列開始計(jì)數(shù),n是絕對(duì)偏移量。而spc函數(shù)則是從前面的輸出項(xiàng)后開始計(jì)數(shù),n是相對(duì)
偏移量。
例如:
Print**CHINA,,;Spc(8);,,CSAr,
該語句首先輸出“CHINA”,然后經(jīng)過8個(gè)空格,顯示“CSAI”。
說明:
參數(shù)n是一個(gè)數(shù)值表達(dá)式,其取值范圍為0?32767的整數(shù)。Spc函數(shù)與輸出項(xiàng)之間用
分號(hào)隔開。
Spc函數(shù)與Tab函數(shù)的作用類似,而且可以互相代替。
3.Space$(n)
SpaceS(n):用于返回n個(gè)空格。
例7.1.2Tab函數(shù)用于把光標(biāo)往后移動(dòng)到自己需要的位置,它與輸出的內(nèi)容要用符
號(hào)隔開。
答案:分號(hào)(;)
7.1.3考點(diǎn)3:格式輸出(Format$)
Format$用于把數(shù)值和日期型的數(shù)據(jù)按指定的格式輸出。Format$的一般格式如下:
Format$(數(shù)值表達(dá)式,格式字符串)
說明:如果省略格式字符串,則把數(shù)值表達(dá)式的值轉(zhuǎn)換成字符串。在這種情況下Format
$函數(shù)的功能與$什$函數(shù)基本相同,惟一的差別是當(dāng)把正數(shù)轉(zhuǎn)換成字符串時(shí),Str$函數(shù)
在字符串前面留有一個(gè)空格,而Format$函數(shù)則不留空格。其作用見下表。
格式字符串及其作用
字符作用
〃#〃表示數(shù)字,不在數(shù)值字符串的前面或后面補(bǔ)0
”0〃表示數(shù)字,寬度不足時(shí),在數(shù)值字符串的前面或后面補(bǔ)0
〃〃
指定小數(shù)點(diǎn)的位置
〃〃
指定千位分隔符的位置(不能放在頭部或尾部)
〃%〃指定百分比符號(hào)的位置
〃$〃
指定美元符號(hào)的位置
〃-/+〃指定正號(hào)和負(fù)號(hào)的位置
“E+/E-”指定數(shù)字符號(hào)的位置
例如:使用以下事件過程測試數(shù)值的格式化輸出。
PrivateSubForm_Click()
PrintFormat$(25634,“########")
PrintFormat$(25634,"00000000M)
Pr血Format$(256.34,"0000.00")
PrintFormat$(256.34,
PrintFormat$(12345.67,"####,#.##")
PrintFormat$(12345.67,
PrintFormat$(12345.6,H###,##0.00H)
PrintFormat$(12345.6,"$###,#0.00n)
PrintFormat$(12345.6,H-###,##0.00")
PrintFormat$(0.123,H0.00%")
PrintFormat$(12345.6,n0.00E+00n)
PrintFormat$(0.1234567,n0.00E-00n)
PrintFormat$(12345.67,n,#####.##M)錯(cuò)誤
PrintFormat$(12345.67,”#####,.##")'錯(cuò)誤
EndSub
上述過程運(yùn)行后,單擊窗體,輸出結(jié)果如圖7?2所示。
圖7-2數(shù)值格式化輸出
7.1.4考點(diǎn)4:Cis方法與Move方法
1.Cis方法
Cis方法用于清除通過畫圖方法畫出的圖形或者用Print語句打印的信息,并把光標(biāo)移到
對(duì)象的左上角(0,0)o這里的對(duì)象可以是窗體或圖片框,如果省略“對(duì)象”則清除當(dāng)前窗
體內(nèi)的顯示內(nèi)容。
Cis方法的一般格式為:
對(duì)象名.Cis
例如:
Picture】.Cis'清除圖片框Picture1內(nèi)的圖形或文本
Cis'清除當(dāng)前窗體內(nèi)顯示的內(nèi)容
說明:
如果AutoRedraw=False,則Cis方法不能清除在AutoRedraw為True時(shí)所產(chǎn)生的圖形和
打印的信息。
清除后,當(dāng)前座標(biāo)回到對(duì)象的左上角。
當(dāng)窗體的背景是用Picture屬性裝入的圖形時(shí),不能用Cis方法清除,只能通過
LoadPicture方法清除。
2.Move方法
Move方法用來移動(dòng)窗體和控件,并可改變其大小。Move方法的一般格式如下:
[對(duì)象.]Move左邊距離[,上邊距離][,寬度[,高度]]]
例如:在窗體上畫一個(gè)文本框和一個(gè)圖片框,在窗體的單擊事件中編寫如下代碼,改變
窗體、文本框利圖片框的大小和位置。程序運(yùn)行后,窗體的單擊事件觸發(fā)前后的結(jié)果分別
如圖7-3和圖74所示。
PrivateSubForm_Click()
Move800,800,4000,2600
Textl.Move200,200,1500,1000
Picture1.Move1800,200,1500,1000
Picture1.Print"Picture1”
EndSub
圖7-3窗體單擊事件觸發(fā)前界面圖7-4窗體單擊事件觸發(fā)后界面
說明:
Move方法中的“對(duì)象”可以是窗體以及除計(jì)時(shí)器(Timer)、菜單(Menu)之外的所有
控件,如果省略“對(duì)象”,則表示要移動(dòng)的是窗體?!白筮吘嚯x”、“上邊距離”、“寬度”及"高
度”均以twip(緩)為單位。
如果“對(duì)象”是窗體,貝U“左邊距離”和“上邊距離”均以屏幕左邊界和上邊界為準(zhǔn);
如果“對(duì)象”是控件,則以窗體的左邊界和上邊界為準(zhǔn)。
3.TextHeight和TextWidth方法
這兩個(gè)方法用來輔助設(shè)置坐標(biāo)。其中TextHeight方法返回一個(gè)文本字符串的高度值,而
TextWidth方法則返回一個(gè)文本字符串的寬度值,單位均為twip(堤)。
屬性ScaleHeight和ScaleWidth分別用來表示對(duì)象的高度和寬度值,它們與方法
TextHeght和TextWidth結(jié)合使用,可以使字符串居中顯示。
屬性Height和Width可用來返回或設(shè)置窗體、控件、打印機(jī)及屏幕的高度和寬度,而
Left和Top屬性分別用來返回或設(shè)置窗體、控件與其左邊和頂邊的距離,它們的單位均為
Twip(統(tǒng))。
例如:編寫程序,使字符串居中。
PrivateSubForm_Click()
FontSize=16
Samples=HChinaCsai中國系統(tǒng)分析員”
Print”字符寬/高:",TextWidth(Sample$);TextHeight(Sample$)
x=(ScaleWidth-TextWidth(SampIeS))/2
y=(ScaleHeight-TextHeight(Sample$))/2
CurrentX=x
CurrentY=y
PrintSampleS
EndSub
程序運(yùn)行后,單擊窗體,結(jié)果如圖7-5所示?
圖7-5字符串居中顯示
例7.1.4把控件移到相應(yīng)的位置,并能改變其大小的方法是()。
A.CisB.MoveC.formatD.Tab
答案:B
7.1.5考點(diǎn)5:MsgBox函數(shù)
MsgBox函數(shù)的一般格式如下:
MsgBox(msg[,type][>title][,helpfile,context])
功能:MsgBox函數(shù)用于在用戶操作時(shí),顯示一個(gè)提示性的對(duì)話框,以提示用戶進(jìn)行
后面操作的選擇。
MsgBox函數(shù)的參數(shù)及其作用見下表。
MsgBox函數(shù)的參數(shù)及其作川
參數(shù)含義
prompt顯示提示用戶的字符串,在對(duì)話框內(nèi)顯示,不超過1024個(gè)字符
type整數(shù)或符號(hào)常量,控制按鈕和圖標(biāo)的種類和數(shù)量表
title顯示對(duì)話框的標(biāo)題
helpfile字符串表達(dá)方式,用于指明幫助文件的名字
context數(shù)值表達(dá)方式,表示相關(guān)的幫助主題或目錄號(hào)
MsgBox函數(shù)的返回值見下表。
MsgBox函數(shù)的返|可值
操作返回值符號(hào)常量
選“確定”按鈕1vbOk
選“取消”按鈕2vbCancel
選“終止”按鈕3vbAbort
選“重試”按鈕4vbRetry
選“忽略”按鈕5vblgnore
選“是"按鈕6vbYes
選“否”按鈕7vbNo
例如:編寫程序,用MsgBox函數(shù)判斷是否繼續(xù)執(zhí)行。
PrivateSubForm_Click()
msgS="請(qǐng)確認(rèn)數(shù)據(jù)是否正確”
Title$=”數(shù)據(jù)檢查“
x=MsgBox(msg$,19,Title$)
Ifx=6Then
Printx*x
Elselfx=7Then
Print"請(qǐng)重新輸入”
EndIf
EndSub
程序運(yùn)行后,單擊窗體,彈出如圖7-6所示的對(duì)話框。如果選擇“是"按鈕,則返回值
為6,在窗體上打印出36;如果選擇“否”按鈕,則返回值為7,在窗體上打印出“請(qǐng)重新輸
入
圖7-6MsgBox函數(shù)對(duì)話框
例7.1.5假定有如下的命令按鈕(名稱為Commandl)事件過程:
PrivateSubCommandl_Click()
x=InputBox(“輸入:”,輸入整數(shù)”)
MsgBox”輸入的數(shù)據(jù)是:“,,”輸入數(shù)據(jù):“+x
EndSub
程序運(yùn)行后,單擊命令按鈕,如果從鍵盤上輸入數(shù)10,則以下敘述中錯(cuò)誤的是()。
[2006年4月選擇第19題]
A.x的值是數(shù)值10
B.輸入對(duì)話框的標(biāo)題是“輸入整數(shù)”
C.信息框的標(biāo)題是“輸入數(shù)據(jù):10”
D.信息框中顯示的是“輸入的數(shù)據(jù)是:”
答案:A
7.1.6考點(diǎn)6:MsgBox語句
MsgBox函數(shù)也可以寫成語句形式,即:
MsgBoxMsg$[,type%][,title$][,helpfilc,context]
各參數(shù)的含義及作用與MsgBox函數(shù)相同,由于MsgBox語句沒有返回值,因而常用
于較簡單的信息顯示。
例7.1.6MsgBox函數(shù)的返回類型是()。
A.字符型B.數(shù)值型C.日期型D.沒有返回值
答案:B
重點(diǎn)提示:考生在考試中應(yīng)當(dāng)注意MsgBox函數(shù)返回值與MsgBox語句的返回值不同,
MsgBox函數(shù)返回值為數(shù)值,而MsgBox語句則沒有返回值。
第8章VisualBasic控制結(jié)構(gòu)
本章主要考查VisualBasic程序設(shè)計(jì)常用的控制結(jié)構(gòu),包括分支控制結(jié)構(gòu)、循環(huán)控制結(jié)構(gòu)
和GoT。型控制結(jié)構(gòu)。通過對(duì)歷年試卷內(nèi)容的分析,本章考核內(nèi)容約占10%,屬于一般考
查對(duì)象。本章內(nèi)容下次考試將有上升趨勢。
8.1分支控制結(jié)構(gòu)
8.1.1考點(diǎn)1:單行結(jié)構(gòu)條件語句
單行條件語句的格式如下:
If條件Thenthen部分[Elseelse部分]
其功能為:如果“條件”為True,則執(zhí)行“then部分”,否則執(zhí)行“else部分”。其中的“else
部分''是可選的,當(dāng)其省略時(shí),If語句簡化為:
If條件Thenthen部分
其功能為:如果“條件”為True,則執(zhí)行“then部分”,否則執(zhí)行下一行程序。
條件語句中的“then部分”和“else部分”都可以嵌套,其深度(嵌套層數(shù))沒有具體規(guī)定,
但受到每行字符數(shù)(1024)的限制。當(dāng)嵌套層數(shù)較多時(shí),應(yīng)注意嵌套的正確性,一般原則
是:每一個(gè)“Else”部分都與它前面未曾被配對(duì)的“If-Then”配對(duì)。
例8.1.1當(dāng)x=-5時(shí),執(zhí)行下述代碼后,x的值為()。
Ifx>=0ThenIfx>0Theny=1Elsey=0Elsey=-1
A.1B.0C.-1D.以上都不正確
答案:C
8.1.2考點(diǎn)2:塊結(jié)構(gòu)條件語句
塊結(jié)構(gòu)條件語句與C、Ada等語言中的條件語句類似,一般格式如下:
If條件1Then
語句塊1
[Elself條件2Then
語句塊2]
[Elself條件3Then
語句塊3]
[Else
語句塊n]
EndIf
其功能為:如果“條件1”為True,則執(zhí)行“語句塊1”;如果“條件2”為True,則執(zhí)行“語
句塊2”……則執(zhí)行“語句塊n”。
該語句中的“語句塊”可以是一個(gè)語句,也可以是多個(gè)語句。當(dāng)是多個(gè)語句時(shí),可以分別
寫在多行里;如果寫在一行中,則各語句之間用冒號(hào)隔開。
說明:
該語句中的“條件1”、“條件2”等都是邏輯表達(dá)式,通常數(shù)值表達(dá)式和關(guān)系表達(dá)式都是邏
輯表達(dá)式的特例。
“語句塊''中的語句不能與前面的Then在同--行,否則VisualBasic認(rèn)為是一個(gè)單行結(jié)構(gòu)
的條件語句。
在塊結(jié)構(gòu)的條件語句中,Elself子句的數(shù)量沒有限制,可以根據(jù)需要加入任意多個(gè)Elself
子句。
塊結(jié)構(gòu)條件語句中的Elself子句和Else子句都是可選的。
當(dāng)If結(jié)構(gòu)體內(nèi)有多個(gè)條件為True時(shí),VisualBasic執(zhí)行第一個(gè)為True的條件后面的語句
塊。
塊形式的條件語句可以嵌套,嵌套時(shí)必須完全“包住”,不能互相"騎跨
例8.1.2函數(shù)A()、B()、C()分別實(shí)現(xiàn)三種不同的功能,令X=l、Y=-4、Z=0,
那么下述代碼的功能是()。
If(X>0)Then
A()
Elself(Y<10)Then
B()
Elself(Z<3)Then
C()
EndIf
A.執(zhí)行函數(shù)A()B.執(zhí)行函數(shù)B()C.執(zhí)行函數(shù)C()D.以上都不正確
答案:A
8.1.3考點(diǎn)3:Ilf函數(shù)
Hf函數(shù)可以用來執(zhí)行簡單的條件判斷操作,它是“If...Then…Else”結(jié)構(gòu)的簡寫版本,是
“ImmediateIf的縮略。其格式如下:
result=llf(條件,True部分,F(xiàn)alse部分)
其中,“result”是函數(shù)的返回值,“條件”是一個(gè)邏輯表達(dá)式。當(dāng)“條件”為真時(shí),Of函數(shù)返
回“True部分”,否則返回“False部分”?!癟rue部分”或“False部分”可以是表達(dá)式、變量或其
他函數(shù)。該函數(shù)與C語言中“?:”運(yùn)算符的功能相似,可以使程序大為簡化。
例8.1.3設(shè)2="葭,b="b",c="c",d=“d”,執(zhí)行語句x=Hf((a<b)Or(c>d),“A”,
“B”)后,x的值為()。[2005年4月選擇第15題]
A."a"B."b"C."B"D."A”
答案:D
重要提醒:使用Hf函數(shù)時(shí),其中的三個(gè)參數(shù)都不可以省略,而且要求“True部分”、
“False部分”及結(jié)果變量的類型一致。此外,山于Uf要計(jì)算“True部分”和“False部分”,因
此有可能會(huì)產(chǎn)生副作用。
8.1.4考點(diǎn)4:多分支控制結(jié)構(gòu)
多分支控制結(jié)構(gòu)由情況語句(Select語句或Case語句)構(gòu)成,它可以根據(jù)一個(gè)表達(dá)式的
值,在一組相互獨(dú)立的可選語句序列中挑選要執(zhí)行的語句序列。情況語句是塊形式條件語
句的一種變形,其格式如下:
SelectCase測試表達(dá)式
Case表達(dá)式表列1
[語句塊2]]
[Case表達(dá)式表列2
[語句塊2]]
[CaseElse
[語句塊n]]
EndSelect
其功能是,根據(jù)“測試表達(dá)式”的值,從多個(gè)語句塊中選擇符合條件的一個(gè)語句塊執(zhí)行。
其中,”測試表達(dá)式”可以是數(shù)值表達(dá)式或字符串表達(dá)式,通常稱為變量或常量;“語句塊1、
語句塊2……語句塊n"山一行或多行合法的VisualBasic語句組成?!氨磉_(dá)式表列1、表達(dá)
式表列2……表達(dá)式表列n?稱為域值,可以采用下述三種形式:表達(dá)式[,表達(dá)式]、表達(dá)
式To表達(dá)式、Is關(guān)系運(yùn)算表達(dá)式。
對(duì)于這種控制結(jié)構(gòu),需要掌握以下幾點(diǎn):
SelectCase語句與If…Then…Else語句塊的功能類似,二者可以互換使用°
和C語言不同,如果同一個(gè)域值的范圍在多個(gè)Case子句中出現(xiàn),則只執(zhí)行符合要求的第
一個(gè)Case子句的語句塊。
CaseElse子句必須放在所有的Case子句之后,如果SelectCase結(jié)構(gòu)中任何一個(gè)Case子
句都沒有與測試表達(dá)式相匹配的值,而且也沒有CaseElse子句,則不執(zhí)行任何操作。
在不同的Case子句中指定的條件和相應(yīng)的操作不能相互矛盾。
例8.1.4在窗體上畫1個(gè)命令按鈕(名稱為Command1)和1個(gè)文本框(名稱為
Textl),然后編寫如下事件過程:
PrivateSubCommandl_Click()
x=Val(Textl.Text)
SelectCasex
Case1,3
y=x*x
CaseIs>=10,Is<=-10
y=x
Case-10To10
y=-x
EndSelect
EndSub
程序運(yùn)行后,在文本框中輸入3,然后單擊命令按鈕,則以下敘述中正確的是()。
[2006年4月選擇第20題]
A.執(zhí)行y=x*xB.執(zhí)行產(chǎn)-xC.先執(zhí)行y=x*x,再執(zhí)行y=-xD.程序出錯(cuò)
答案:A
重要提示:“表達(dá)式表列”中的三種形式,在使用時(shí)需要注意以下幾點(diǎn):
關(guān)鍵字To用來指定一個(gè)范圍,此時(shí),必須把較小的值寫在前面,較大的值寫在后面,
字符串常量的范圍必須按字母的順序?qū)懗觥?/p>
如果使用關(guān)鍵字Is,則只能用關(guān)系運(yùn)算符,并且條件只能是簡單條件,不能用邏輯運(yùn)算
符將兩個(gè)或多個(gè)簡單條件組合在一起。
在一個(gè)SelectCase語句中,三種形式可以混用。
第9章數(shù)組與過程
本章主要考查VisualBasic中的數(shù)組與過程,主要包括:數(shù)組基本概念、數(shù)組基本操作、
控件數(shù)組、Sub過程、Function過程、過程中的參數(shù)、局部內(nèi)存分配和Shell函數(shù)。通過對(duì)
歷年試卷內(nèi)容的解析,本章考核內(nèi)容約占18%,屬于重點(diǎn)考查對(duì)象,但將保持下降趨勢。
9.1數(shù)組基本概念
9.1.1考點(diǎn)1:數(shù)組的定義
數(shù)組是有序的數(shù)據(jù)的集合。在VisualBasic中,一個(gè)數(shù)組中的元素可以是相同類型的數(shù)據(jù),
也可以是不同類型的數(shù)據(jù)。在VisualBasic中,可以有兩種格式定義數(shù)組:
1.第一種格式
(1)一維數(shù)組
一維數(shù)組的定義一般格式如下:
Dim數(shù)組名(下標(biāo)上界)As類型名稱
例如:Dimscore(10)AsInteger
該語句定義了一個(gè)一維數(shù)組,名字為score,類型為Integer,共6個(gè)元素。
(2)二維數(shù)組
二維數(shù)組的定義一般格式如下:
Dim數(shù)組名(第一維下標(biāo)上界,第二維下標(biāo)上界)As類型名稱
例如:DimstuScore(10,2)AsInteger
該語句定義了一個(gè)二維數(shù)組,名字為stuScore,類型為Integer,共11X3=33個(gè)元素。
2.第二種格式
(1)定義數(shù)組
在定義數(shù)組時(shí),指定數(shù)組下標(biāo)的上界和下界。語句一般格式如下:
Dim數(shù)組名([下界To]上界[,[下界To]上界]……)As類型名稱
例如:Dimscore(1To5)
該語句定義了一個(gè)一維數(shù)組,下界為1,上界為5,共5個(gè)元素。
第二種格式實(shí)際上包含了第一種格式,只要省略“下界To",即變?yōu)榈谝环N格式。
(2)語句說明
“數(shù)組名”與簡單變量相同,可以是任何合法的VisualBasic變量名,在同一過程中,數(shù)組
名不能與變量名同名;
數(shù)組必須先定義后使用,并且每一維的元素個(gè)數(shù)必須是常數(shù),不能是變量或表達(dá)式;
使用Dim語句定義數(shù)組時(shí),數(shù)值數(shù)組中的全部元素初始化為0,字符串?dāng)?shù)組中的全部元
素初始化為空字符串;
一般情況下,下標(biāo)的下界默認(rèn)為0,可以使用OptionBasen(n只能為或1)改變下標(biāo)的
默認(rèn)為1;使用LBound和UBound函數(shù)可以獲得數(shù)組的上、下界值;
如果下標(biāo)值從0開始,則數(shù)組元素的個(gè)數(shù)為最大下標(biāo)值加1,如果下標(biāo)值從1開始,則
數(shù)組元素的個(gè)數(shù)與最大下標(biāo)值相等。
3.定義數(shù)組的保留字
在VisualBasic中,定義數(shù)組時(shí)可使用4個(gè)保留字,以定義不同范圍內(nèi)的數(shù)組:
Dim:定義窗體模式或標(biāo)準(zhǔn)模塊數(shù)組,也可用在過程中;
ReDim:用在過程中;
Static:用在過程中;
Public:用在標(biāo)準(zhǔn)模塊中,定義全局?jǐn)?shù)組。
例9.1.1在窗體上畫1個(gè)命令按鈕,其名稱為Commandl,然后編寫如下事件過程:
[2006年4月填空第7-8題]
PrivateSubCommandl_Click()
Dimarr(1To100)AsInteger
ForI=1To100
arr(i)=Int(Rnd*1000)
Nexti
Max=arr(l)
Min=arr(l)
Fori=1To100
If[7]Then
Max=arr(i)
EndIf
If[8]Then
Min=arr(i)
EndIf
Nexti
Print"Max=";Max,"Min-*;Min
EndSub
程序運(yùn)行后,單擊命令按鈕,將產(chǎn)生100個(gè)1000以內(nèi)的隨機(jī)整數(shù),放入數(shù)組an?中,然
后查找并輸出這100個(gè)數(shù)中的最大值Max和最小值Min,請(qǐng)?zhí)羁铡?/p>
解析:由條件判斷可以得知,在【7】處的意思是將最大值Max中的數(shù)與arr(i)中的數(shù)相
比較,【8】處的意思是將最小值Min中的數(shù)與arr⑴中的數(shù)相比較。
答案:【7】Max<arr(i)[8]Min>arr(i)
9.1.2考點(diǎn)2:默認(rèn)數(shù)組
所謂默認(rèn)數(shù)組,就是數(shù)據(jù)類型為Variant(默認(rèn))的數(shù)組。在一般情況下,定義數(shù)組應(yīng)指
明其類型。
例如:
StaticElec(lTo100)AsInteger
該語句定義了一個(gè)數(shù)組Elec,該數(shù)組的類型為整型,它有100個(gè)元素,每個(gè)元素都是一
個(gè)整數(shù)。但如果使用語句:
StaticEIec(lTo100)
則定義的數(shù)組是默認(rèn)數(shù)組,沒有指定類型,則類型默認(rèn)為Variant,該語句等價(jià)于:
StaticElec(lTo100)AsVariant
對(duì)于默認(rèn)數(shù)組來說,同一個(gè)數(shù)組中可以存放各種不同的數(shù)據(jù)。因此,默認(rèn)數(shù)組可以說是
一種“混合數(shù)組”,這也就是默認(rèn)數(shù)組的意義所在。
例9.1.2閱讀下面程序并填空。
SubForm_Click()
[1]
Defau(l)=100
Defau(2)=234.56
Defau(3)=MCSAF
Defau(4)="20"&Now
Fori=lTo4
Print"Defau(n;I;n)=M;Defau(i)
Nexti
EndSub
答案:【1】StaticDefau(4)
第10章鍵盤與鼠標(biāo)事件
本章主要考查鍵盤事件與鼠標(biāo)事件,包括KeyPress事件、KeyDown和KeyUp事件、鼠
標(biāo)事件、鼠標(biāo)光標(biāo)的形狀與拖放等知識(shí)點(diǎn)。通過對(duì)歷年試卷內(nèi)容的分析,本章考核內(nèi)容約
占6%,屬于一般考查對(duì)象。
10.1鍵盤事件
使用鍵盤事件過程,可以處理當(dāng)按下或釋放鍵盤上某個(gè)鍵時(shí)所執(zhí)行的操作。
10.1.1考點(diǎn)1:KeyPress事件
當(dāng)壓下鍵盤上的某個(gè)鍵時(shí),將發(fā)生KeyPress事件。該事件可用于窗體、復(fù)選框、組合框、
命令按鈕、列表框、圖片框、文本框、滾動(dòng)條及與文件有關(guān)的控件。嚴(yán)格地說,當(dāng)按下某
個(gè)鍵時(shí),所觸發(fā)的是擁有輸入焦點(diǎn)(Focus)的那個(gè)控件的KeyPress事件。在某一時(shí)刻,
輸入焦點(diǎn)只能位于某一個(gè)控件上,如果窗體上沒有活動(dòng)的或可見的控件,則輸入焦點(diǎn)位于
窗體上。當(dāng)一個(gè)控件或窗體擁有輸入焦點(diǎn)時(shí),該控件或窗體將接收從鍵盤上輸入的信息。
例如,假定一個(gè)文本框擁有輸入焦點(diǎn),則從鍵盤上輸入的任何字符都將在該文本框中回顯。
在窗體上畫一個(gè)控件(指前面所講的可以發(fā)生KeyPress事件的控件),比如文本框,并
雙擊該控件,進(jìn)入程序代碼窗口后,從“過程”框中選取KeyPress,即可定義KeyPress事件
過程。一般格式如下:
PrivateSubTextl_KeyPress(KeyAsciiAsInteger)
EndSub
KeyPress事件帶有一個(gè)參數(shù),這個(gè)參數(shù)有兩種形式,第一種形式是IndexAsInteger,只
用于控件數(shù)組;第二種形式是KeyAsciiAsInteger,用于單個(gè)控件。上面列出的是第二種形
式。KeyPress事件用來識(shí)別按鍵的ASCH碼。參數(shù)KeyAscii是一個(gè)預(yù)定義的變量,執(zhí)行
KeyPress事件過程時(shí),KeyAscii是所按鍵的ASCII碼。
說明:
利用KeyPress事件可以對(duì)輸入的值進(jìn)行限制;
利用KeyPress事件可以捕捉擊鍵動(dòng)作;
在KeyPress過程中可以修改KeyAscii變量的值。如果進(jìn)行了修改,VisualBasic控件中
輸入修改后的字符,而不是用戶輸入的字符。
例10.1.1以下關(guān)于KeyPress事件過程參數(shù)KeyAscii的敘述中,正確的是()。[2005
年9月填空第29題]
A.KeyAscii參數(shù)是所按鍵的ASCH碼B.KeyAscii參數(shù)的數(shù)據(jù)類型為字符串
C.KeyAscii參數(shù)可以省略D.KeyAscii參數(shù)是所按鍵上標(biāo)注的字符
解析:KeyPress事件帶有一個(gè)參數(shù),這個(gè)參數(shù)有兩種形式。第一種形式是IndexAs
Int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育研究心理主題班會(huì)
- 群體行為知識(shí)
- 精神病護(hù)理課程
- 中班邏輯路徑課件
- 幾百幾十加減幾百幾十競賽測試題
- 宮頸癌術(shù)后病情觀察及護(hù)理
- 假發(fā)知識(shí)全解
- 禮儀培訓(xùn)教學(xué)資料
- 物業(yè)消防檢查培訓(xùn)
- 感染性心包炎的健康宣教
- 縱隔腫瘤護(hù)理查房
- 眼鏡店銷售培訓(xùn)課件
- 中小學(xué)學(xué)校落實(shí)中央八項(xiàng)規(guī)定自查報(bào)告
- 宜賓市屬國有企業(yè)人力資源中心宜賓臨港投資建設(shè)集團(tuán)有限公司下屬子公司2025年第一批項(xiàng)目制員工公開招聘筆試參考題庫附帶答案詳解
- 2025年山東魯泰控股集團(tuán)有限公司下屬駐陜西煤礦企業(yè)招聘(150人)筆試參考題庫附帶答案詳解
- 2025屆上海市浦東新區(qū)高三二模英語試卷(含答案)
- 2024-2025學(xué)年高一政治統(tǒng)編版下學(xué)期期中考試測試卷B卷(含解析)
- 2024年4月自考00150金融理論與實(shí)務(wù)試題及答案
- 2024年海南發(fā)展控股有限公司招聘筆試參考題庫含答案解析
- FZ/T 63045-2018芳綸纖維繩索
- 結(jié)婚登記申請(qǐng)表
評(píng)論
0/150
提交評(píng)論