版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
二級教程-ACCESS串講考試方式1.筆試(選擇題):滿分40分,公共基礎知識部分的10~12分。2.上機操作:60分。上機操作包括:(1)基本操作18分。(2)簡單應用24分。(3)綜合應用18分。
考試時間120分鐘考試大綱:見課本P450,一級二級(黃皮書)P259,二級(藍皮書)P181考試內(nèi)容
一、
數(shù)據(jù)庫基礎知識1.基本概念:數(shù)據(jù)庫,數(shù)據(jù)模型,數(shù)據(jù)庫管理系統(tǒng),類和對象,事件。2.關系數(shù)據(jù)庫基本概念:關系模型(實體的完整性,參照的完整性,用戶定義的完整性,)關系模式,關系,元組,屬性,字段,域,值,主關鍵字等。3.關系運算基本概念:選擇運算,投影運算,連接運算。4.SQL基本命令。查詢命令,操作命令。5.Access系統(tǒng)簡介:(1)
Access系統(tǒng)的基本特點。(2)
基本對象:表,查詢,窗體,報表頁,宏,模塊。
本章重點DB數(shù)據(jù)(Data)
數(shù)據(jù)是指描述事物的符號記錄。在計算機中文字、圖形、圖象、聲音等都是數(shù)據(jù)。2.數(shù)據(jù)庫(DataBase,簡稱DB)3.數(shù)據(jù)庫應用系統(tǒng):4.數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS):5.數(shù)據(jù)庫系統(tǒng):(DataBaseSystem,簡稱DBS)
數(shù)據(jù)庫系統(tǒng)由5部分組成:硬件系統(tǒng)、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)及相關軟件、數(shù)據(jù)管理員(DataBaseAdministrator,簡稱DBA)和用戶。實體間聯(lián)系及種類實體間的聯(lián)系有3種類型:一對一聯(lián)系:學生成績和學生情況表的關系是一對一聯(lián)系。一對多聯(lián)系:例如教師和學生的聯(lián)系是一對多聯(lián)系。多對多聯(lián)系:例如學生和課程之間聯(lián)系是多對多聯(lián)系。實戰(zhàn):P892007-912、在企業(yè)中,職工的“工資級別”與職工個人“工資”的聯(lián)系是()A一對一聯(lián)系B一對多聯(lián)系C多對多聯(lián)系D無聯(lián)系一對多聯(lián)系(1:n)
如果實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與B具有一對多聯(lián)系。2.關系數(shù)據(jù)庫基本概念關系模型、關系、元組、屬性、字段、域、值、主關鍵字3.關系運算基本概念選擇運算、投影運算、聯(lián)接運算實戰(zhàn):P892007-913.
假設一個書店用(書號,書名,作者,出版社,出版日期,庫存數(shù)量)一組屬性來描述圖書,可以作為“關鍵字”的是
A.書號B.書名
C.作者D.出版社答案A
解析:碼(又稱為關鍵字):二維表中的某個屬性,若它的值唯一地標識了一個元組,則稱該屬性為關鍵字。本題中:只有A.書號能夠滿足關鍵字定義中的唯一性要求。實戰(zhàn):2007-9
P8911.用二維表來表示實體及實體之間聯(lián)系的數(shù)據(jù)模型是
A.實體-聯(lián)系模型B.層次模型
C.網(wǎng)狀模型D.關系模型答案D
解析:關系模型用表格形式表示實體類型及其實體間的聯(lián)系。關系模型是目前最重要的一種模型,它是建立在嚴格的數(shù)學概念的基礎上的。關系模型的基本數(shù)據(jù)結(jié)構是二維表,每一張二維表稱為一個關系。Access數(shù)據(jù)庫的系統(tǒng)結(jié)構Access數(shù)據(jù)庫由表、查詢、窗體、報表、數(shù)據(jù)訪問頁、宏和模塊等對象組成。查詢表報表窗體宏/模塊控制流數(shù)據(jù)流實戰(zhàn):14、下列屬于ACCESS對象的是()2007-9P89A文件B記錄C數(shù)據(jù)D查詢這些對象都存放在擴展名為.mdb的數(shù)據(jù)庫文件中??荚噧?nèi)容二、
數(shù)據(jù)庫和表的基本操作1、
創(chuàng)建數(shù)據(jù)庫:(1)
創(chuàng)建空數(shù)據(jù)庫。(2)
使用向?qū)?chuàng)建數(shù)據(jù)庫。2、
表的建立:(1)
建立表結(jié)構:使用向?qū)В褂帽碓O計器,使用數(shù)據(jù)表。(2)
設置字段屬性。(3)
輸入數(shù)據(jù):直接輸入數(shù)據(jù),獲取外部數(shù)據(jù)。3、
表間關系的建立與修改:(1)
表間關系的概念:一對一,一對多。(2)
建立表間關系。(3)
設置參照完整性。4、
表的維護:(1)
修改表結(jié)構:添加字段,修改字段,刪除字段,重新設置主關鍵字。(2)
編輯表內(nèi)容:添加記錄,修改記錄,復制記錄。(3)
調(diào)整表外觀。5、
表的其他操作:(1)
查找數(shù)據(jù)。(2)
替換數(shù)據(jù)。(3)
排序記錄。(4)
篩選記錄。
本章重點師生互動1、ACCESS中創(chuàng)建表的方法有哪幾種?使用向?qū)?chuàng)建表使用設計視圖創(chuàng)建表通過輸入數(shù)據(jù)創(chuàng)建表導入、導出表輸入掩碼數(shù)據(jù)格式:見課本8.在向數(shù)據(jù)庫中輸入數(shù)據(jù)時,若要求所輸入的字符必須是字母,則應該設置的輸入掩碼是【8】答案L
P10312.若設置字段的輸入掩碼為“####-######”,該字段正確的輸入數(shù)據(jù)是A)0755-123456B)0755-abcdefC)abcd-123456D)####-######2、修改表的結(jié)構和修改表中的數(shù)據(jù)分別要在哪種視圖中操作?修改表結(jié)構必須在設計視圖中完成修改表中的數(shù)據(jù)必須在數(shù)據(jù)表視圖中完成師生互動實戰(zhàn):2007-9P8915.在Access數(shù)據(jù)庫的表設計視圖中,不能進行的操作是A.修改字段類型B.設置索引C.增加字段D.刪除記錄答案D
解析:編輯表中內(nèi)容的操作主要包括選定記錄、添加記錄、修改記錄、刪除記錄、復制記錄等。這些操作是在數(shù)據(jù)表視圖中完成的。實戰(zhàn):2007-9P8916.在Access數(shù)據(jù)庫中,為了保持表之間的關系,要求在子表(從表)中添加記錄時,如果主表中沒有與之相關的記錄,則不能在子表(從表)中添加改記錄。為此需要定義的關系是
A.輸入掩碼B.有效性規(guī)則
C.默認值D.參照完整性答案D
解析:參照完整性是一個準則系統(tǒng),Access使用這個系統(tǒng)用來確保相關表中的記錄之間關系的有效性,并且不會因意外而刪除或更改相關數(shù)據(jù)。在數(shù)據(jù)表中查找數(shù)據(jù)在數(shù)據(jù)表中替換數(shù)據(jù)在數(shù)據(jù)表中排序記錄在數(shù)據(jù)表中篩選記錄考試內(nèi)容三、
查詢的基本操作1、
查詢分類:(1)
選擇查詢。(2)
參數(shù)查詢。(3)
交叉表查詢。(4)
操作查詢。(5)
SQL查詢。2、
查詢準則:(1)
運算符。(2)
函數(shù)。(3)
表達式。3、
創(chuàng)建查詢:(1)
使用向?qū)?chuàng)建查詢。(2)
使用設計器創(chuàng)建查詢。(3)
在查詢中計算。4、
操作己創(chuàng)建的查詢。(1)
運行己創(chuàng)建的查詢。(2)
編輯查詢中的字段。(3)
編輯查詢中的數(shù)據(jù)源。(4)
排序查詢的結(jié)果。
重點難點二.查詢方式
在Access中,主要有以下5種查詢操作方式:選擇查詢、參數(shù)查詢、交叉表查詢、操作(動作)查詢及SQL查詢。
選擇查詢主要用于瀏覽、檢索、統(tǒng)計數(shù)據(jù)庫中的數(shù)據(jù);參數(shù)查詢是通過運行查詢時的參數(shù)定義、創(chuàng)建的動態(tài)查詢結(jié)果,以便更多、更方便地查找有用的信息;交叉表查詢將來源于某個表中的字段進行分組,一組列在數(shù)據(jù)表的左側(cè),即行表頭;一組列在數(shù)據(jù)表的上方即列表頭。。然后在數(shù)據(jù)表行與列的交叉處顯示表中某個字段統(tǒng)計值。交叉表查詢就是利用了表中行和列來統(tǒng)計數(shù)據(jù)的。操作查詢主要用于數(shù)據(jù)庫中數(shù)據(jù)的更新、刪除及生成新表,使得數(shù)據(jù)庫中數(shù)據(jù)的維護更便利;SQL查詢是通過SQL語句創(chuàng)建的選擇查詢、參數(shù)查詢、數(shù)據(jù)定義查詢及動作查詢。實戰(zhàn):2007-9P8917.將表A的記錄添加到表B中,要求保持表B中原有的記錄,可以使用的查詢是
A.選擇查詢B.生成表查詢
C.追加查詢D.更新查詢答案C
解析:將表A的記錄復制到表B中,且不刪除表B中的記錄,可以使用的查詢是追加查詢。[2005年4月選擇第18題][2005年4月選擇第20題][2005年9月選擇第26題]均考查了這個知識點。實戰(zhàn):2007-9P9018.在Access中,查詢的數(shù)據(jù)源可以是
A.表B.查詢
C.表和查詢D.表、查詢和報表答案C
解析:執(zhí)行選擇查詢時,需要從指定的一個或多個數(shù)據(jù)庫表或查詢中搜索數(shù)據(jù)。當我們使用查詢向?qū)Ь幹撇樵儠r,也可以看到只能從表或查詢中選擇數(shù)據(jù)源,19.在一個Access的表中有字段“專業(yè)”,要查找包含“信息”兩個字的記錄,正確的條件表達式是P90
A.=left([專業(yè)],2)="信息"B.like"*信息*"
C.=“*信息*”
D.Mid([專業(yè)],2)="信息"答案B
解析:Like決定一個字符串是否以一個或更多字符開始,需要通配符“*”號或“?”號以使Like運算符正確的使用如:Like“a*”Like“File???”表示以“a”開頭的字符串以File開頭,后3位為任意的字符(專用文本或備注數(shù)據(jù)類型)20.如果在查詢的條件中使用了通配符方括號“[]”,它的含義是P90A.通配任意長度的字符B.通配不在括號內(nèi)的任意字符C.通配方括號內(nèi)列出的任一單個字符D.錯誤的使用方法答案C
解析:[]為字符串中該位置的字符設置范圍[字符表]字符表中的一個字符,如[a-z]、[0-9][!字符表]不在字符表中的一個字符,如[!0-9]例:Like"P[A-F]###"
查找以P開頭、后跟A到F間任何字母及3個數(shù)字的數(shù)據(jù)。
Like"a?[a-f]#[!0-9]*"
查找的字符串中第一個為a,第二個任意,第三個為a到f中任意一個,第四個為數(shù)字,第五個為非0-9的字符,其后為任意字符串。21.現(xiàn)有某查詢設計視圖,該查詢要查找的是P90
A.身高在160以上的女性和所有的男性B.身高在160以上的男性和所有的女性
C.身高在160以上的所有人或男性
D.身高在160以上的所有人答案A
解析:Or邏輯或例如:“團員”
Or“男”是男生或是團員任意一個(21)現(xiàn)有某查詢設計視圖(如下圖所示),該查詢要查找的是Select語句的一般格式:SELECT[ALL/DISTINCT]*|<字段列表>
FROM<表名>[WHERE<條件表達式>][ORDERBY<列表>{[ASC|DESC}]語句含義:在From后面給出的表名中找出滿足Where條件表達式的元組,然后按Select后列出的目標表形成結(jié)果表。All:表示檢索所有符合條件的元組,系統(tǒng)默認值DISTINCT:表示檢索要去掉重復的所有元組。*:表示檢索結(jié)果為整個元組,包括所有的列字段列表:用“,”分開的多個項,可以是字段名、常數(shù)或函數(shù)條件表達式:可以包含數(shù)學運算符和關系運算符ORDERBY:強制查詢結(jié)果按指定列名進行升序或降序排列查找男教師的全部信息SELECT*FROM教師表
WHERE(性別=‘男’)查找姓王的教師,并按姓名升序排序
SELECT*FROM教師表WHERE姓名LIKE‘王%’
ORDERBY姓名ASC真題:13.在SELECT語句中使用ORDERBY是為了指定A)查詢的表B)查詢結(jié)果的順序C)查詢的條件D)查詢的字段4.1.3窗體的類型縱欄式窗體表格式窗體數(shù)據(jù)表窗體主/子窗體圖表窗體數(shù)據(jù)透視表窗體考試內(nèi)容四、
窗體分類:(1)
縱欄式窗體。(2)
表格式窗體。(3)
主/子窗體。(4)
數(shù)據(jù)表窗體。(5)
圖表窗體。(6)
數(shù)據(jù)透視表窗體。2、創(chuàng)建窗體:(1)
使用向?qū)?chuàng)建窗體。(2)
使用設計器創(chuàng)建窗體:控件的含義及種類,在窗體中添加和修改控件,設置控件的常見屬性。
重點難點4.1.4窗體的視圖窗體有5種視圖:“設計”視圖用于創(chuàng)建窗體或修改窗體“窗體”視圖用于顯示記錄數(shù)據(jù),添加或修改表中的數(shù)據(jù)“數(shù)據(jù)表”視圖用于編輯、添加、修改或刪除表或查詢中的數(shù)據(jù)數(shù)據(jù)透視表視圖數(shù)據(jù)透視圖視圖4.2創(chuàng)建窗體師生互動創(chuàng)建窗體的方法有哪幾種?創(chuàng)建窗體有人工方式和使用“向?qū)А眱煞N方法。窗體創(chuàng)建的方法有5種:自動窗體窗體向?qū)Т绑w設計器數(shù)據(jù)透視表向?qū)D表向?qū)Э丶念愋头譃椋航Y(jié)合型、非結(jié)合型與計算型。(綁定控件、非綁定控件、計算控件)結(jié)合型控件:結(jié)合型控件與基表或查詢中的字段相連,用于顯示、輸入及更新數(shù)據(jù)庫中的字段。非結(jié)合型控件:非結(jié)合型控件沒有數(shù)據(jù)來源;用于顯示提示信息,以及線條、矩形及圖像等。計算控件:以表達式作為數(shù)據(jù)來源;表達式使用窗體基表或基查詢中的數(shù)據(jù),或者窗體上其他控件的數(shù)據(jù)。(2)非結(jié)合型(非綁定型)沒有數(shù)據(jù)源。主要用來顯示信息、圖形、圖像等。(3)計算型以表達式作為數(shù)據(jù)的來源。3、常用的控件選擇對象控件向?qū)撕炍谋究蜻x項組切換按鈕選項按鈕復選框組合框列表框命令按鈕圖像未綁定對象框綁定對象框分頁符選項卡子窗體/子報表直線矩形其他控件選擇對象:用于選取控件、節(jié)或窗體。控件向?qū)В河糜诖蜷_或關閉控件“向?qū)А睒撕灒河糜陲@示文字。文本框:用于輸入或編輯文本,通常作為文本、數(shù)字、貨幣、日期、備注等類型的綁定控件選項組:對選項按鈕控件進行分組的控件。切換按鈕:具有抬起和按下兩種狀態(tài)的命令按鈕可,作為“是”/“否”類型字段的綁定控件。選項按鈕:在一組選項中只能選擇一個。復選框:具有選中和不選中兩種狀態(tài)的控件,通常作為“是”/“否”字段的綁定控件。組合框:具有一個下拉列表的文本框。列表框:可在一組列表項中進行選擇的控件。命令按鈕:用來執(zhí)行命令的控件。圖像:用于擺放圖片的控件。非綁定對象框:用于擺放其他應用程序?qū)ο蟮目丶?。綁定對象框:用于綁定“OLE”對象類型的字段。分頁符:用于打印分頁的控制。選項卡控件:用于多頁顯示的控件。子窗體/子報表:用于在窗體或報表中添加“子窗體/子報表”。直線:用于繪制分隔線。矩形:用于繪制分隔區(qū)。其他控件:用來自定義系統(tǒng)所有注冊的ActiveX控件。實戰(zhàn):2007-9P9022.在窗體中,用來輸入或編輯字段數(shù)據(jù)的交互控件是
A.文本框控件B.標簽控件
C.復選框控件D.列表框控件答案A
解析:文本框主要用來輸入或編輯字段數(shù)據(jù),它是一種交互式控件。(三)窗體的節(jié)通過添加節(jié)可以提高窗體的效率。所有窗體都有主體節(jié),但窗體還可以包含窗體頁眉、頁面頁眉、頁面頁腳和窗體頁腳。窗體頁眉:顯示的信息與記錄無關,經(jīng)常用來顯示窗體的標題,在窗體視圖中,窗體頁眉出現(xiàn)在屏幕的頂部,而在打印的窗體中,窗體頁眉出現(xiàn)在第一頁的頂部。頁面頁眉:在每張打印頁的頂部顯示,如標題或有關信息,頁面頁眉只出現(xiàn)在打印的窗體中。主體節(jié):顯示記錄,可以在屏幕或頁面上顯示一條記錄,也可以根據(jù)屏幕和頁面的大小顯示多條記錄。頁面頁腳:在每張打印頁的底部顯示,如日期或頁號等信息,頁面頁腳只出現(xiàn)在打印的窗體中。窗體頁腳:顯示的信息與記錄無關,其中包括命令按鈕或窗體的使用說明,在窗體視圖中,窗體頁腳出現(xiàn)在屏幕的底部,而在打印的窗體中,窗體頁腳出現(xiàn)在最后一條主體節(jié)之后??荚噧?nèi)容五、
報表的基本操作1、
報表分類:(1)
縱欄式報表。(2)
表格式報表。(3)
圖表報表。(4)
標簽報表。2、
使用向?qū)?chuàng)建報表。3、
使用設計器編輯報表。4、
在報表中計算和匯總。
重點難點5.1.1報表的定義
報表主要用于對數(shù)據(jù)庫中的數(shù)據(jù)進行分組、計算、匯總和打印輸出。報表是數(shù)據(jù)庫的一個對象??梢源蛴≥敵龈袷交臄?shù)據(jù)信息。5.1.2報表的視圖報表操作提供了3種視圖:設計視圖、打印預覽視圖、版面預覽視圖。設計視圖:用于創(chuàng)建和編輯報表結(jié)構打印預覽視圖:用于查看報表的頁面數(shù)據(jù)輸出形式。可以顯示報表打印時的樣式,同時運行所基于的查詢,并在報表中顯示出全部數(shù)據(jù)版面預覽視圖:用于查看報表版面設置。在“版面預覽”窗口上將顯示全部報表節(jié)以及主體節(jié)中的數(shù)據(jù)分組和排序,但僅使用示范數(shù)據(jù),并且忽略所有基本查詢中的準則和連接。2、報表的節(jié)在設計視圖中,節(jié)代表著報表的不同區(qū)域,報表的內(nèi)容是按節(jié)進行劃分的。一般報表分為五個節(jié),自上而下分別為:1)報表頁眉:在一個報表中,報表頁眉只出現(xiàn)一次。利用它可顯示徽標、報表標題或打印日期。報表頁眉打印在報表第一頁的前面2)頁面頁眉:頁面頁眉出現(xiàn)在報表每頁的頂部。可利用它顯示列標題3)主體:主體節(jié)包含了報表數(shù)據(jù)的主體部分。對報表基礎記錄來源的每條記錄而言,該節(jié)重復出現(xiàn)4)頁面頁腳:頁面頁腳出現(xiàn)在報表每頁的底部??衫盟@示頁號等信息5)報表頁腳:報表頁腳只在報表結(jié)尾出現(xiàn)一次。可利用它顯示報表合計等信息,報表頁腳是報表設計的最后節(jié),出現(xiàn)在打印報表最后一頁的頁面頁腳之前實戰(zhàn):2007-9P9023.如果要在整個報表的最后輸出信息,需要設置
A.頁面頁腳B.報表頁腳
C.頁面頁眉D.報表頁眉
24.可作為報表記錄源的是P90
A.表B.查詢
C.Select語句D.以上都可以
答案B
解析:報表頁腳:在所有記錄都被處理后,只打印在報表的結(jié)束處,用來顯示整份報表的匯總說明。答案D
解析:(1)在“數(shù)據(jù)庫”窗體中單擊“報表”對象,在右側(cè)的窗體中雙擊“使用向?qū)?chuàng)建報表”選項。屏幕顯示“報表向?qū)А钡谝粋€對話框,在對話框中包含有要創(chuàng)建報表的數(shù)據(jù)源選項、表或查詢中的可用字段選項,在“表/查詢”中選擇要創(chuàng)建報表的表或查詢,在“可用字段”中選擇字段,單擊“下一步”按鈕。實戰(zhàn):2007-9P9025.在報表中,要計算“數(shù)學”字段的最高分,應將控件的“控件來源”屬性設置為
A.=Max([數(shù)學])B.Max(數(shù)學)
C.=Max[數(shù)學]D.=Max(數(shù)學)
答案A
解析:最大、小值函數(shù)格式:Max(<字符串表達式>)
Min(<字符串表達式>)功能:返回一組指定字段中的最大、小值。說明:“字符串表達式”可以是一個字段名(數(shù)字類型),或者是含有數(shù)字型字段的表達式。舉例:有一個“成績”字段,可以用Max([成績])求該字段中的最大值,用Min([成績])求該字段中的最小值。師生互動1、報表的作用是什么?報表是以打印的格式表現(xiàn)用戶數(shù)據(jù)的一種有效方式。2、創(chuàng)建報表的方法有哪幾種?自動創(chuàng)建報表使用向?qū)?chuàng)建報表報表設計器考試內(nèi)容六、
頁的基本操作1、
數(shù)據(jù)訪問頁的概念。2、
創(chuàng)建數(shù)據(jù)訪問頁:(1)
自動創(chuàng)建數(shù)據(jù)訪問頁。(2)
使用向?qū)?shù)據(jù)訪問頁。
實戰(zhàn):2007-9P9026.將Access數(shù)據(jù)庫數(shù)據(jù)發(fā)布到Internet網(wǎng)上,可以通過
A.查詢B.窗體
C.數(shù)據(jù)訪問頁D.報表答案C
解析:數(shù)據(jù)訪問頁是直接與數(shù)據(jù)庫中數(shù)據(jù)鏈接的網(wǎng)頁,設計用于查看和操作來自Internet或Intranet的數(shù)據(jù)——這些數(shù)據(jù)保存在Microsoft
Access數(shù)據(jù)庫或MicrosoftSQLServer數(shù)據(jù)庫中。數(shù)據(jù)訪問頁也可能包含來自其他數(shù)據(jù)源的數(shù)據(jù),例如MicrosoftExcel等??荚噧?nèi)容七、
宏1、
宏的基本概念。2、
宏的基本操作:(1)
創(chuàng)建宏:創(chuàng)建一個宏,創(chuàng)建宏組。(2)
運行宏。(3)
在宏中使用條件。(4)
設置操作參數(shù)。(5)
常用的宏操作。
7.1宏的概念
7.1.1宏
的基本概念宏是由一個或多個操作組成的的集合??梢园迅鞣N動作依次定義在宏里,運行宏時,Access就會依照所定義的順序運行下來。例如,可以創(chuàng)建一個宏,讓它自動打開某個窗體、自動打印某份報表等。宏是Access數(shù)據(jù)庫中的一個對象。Access中的宏可以是包含操作序列的一個宏,也可以是某個宏組,宏組由若干個宏組成。可以使用條件表達式來決定在什么情況下運行宏,以及在運行宏時某項操作是否進行。根據(jù)以上三種情況,可以將宏分為:操作序列宏、宏組和包含條件操作的宏。操作序列宏是由一系列操作序列組成的。每次運行該宏時,Access都將執(zhí)行這些操作。如果存在著許多宏,那么將相關的宏分到不同的宏組將有助于數(shù)據(jù)庫的管理。
實戰(zhàn):2007-9P9027.打開查詢的宏操作是
A.OpenFormB.OpenQuery
C.OpenTableD.OpenModule
答案B
解析:
OpenForm命令用于打開窗體
OpenQuery命令用于打開查詢
OpenTable命令用于打開表
OpenModule命令用于打開選定的模塊28.宏操作SetValue可以設置P90
A.窗體或報表控件的設置B.刷新控件數(shù)據(jù)
C.字段的值D.當前系統(tǒng)的時間答案A
解析:SetValue命令用于設置窗體或報表控件的屬性值考試內(nèi)容八、
模塊1、
模塊的基本概念:(1)
類模塊。(2)
標準模塊。(3)
將宏轉(zhuǎn)換為模塊2、
創(chuàng)建模塊:(1)
創(chuàng)建VBA模塊:在模塊中加入過程,在模塊中執(zhí)行宏。(2)
編寫事件過程:鍵盤事件,鼠標事件,窗口事件,操作事件和其他事件。3、
調(diào)用和參數(shù)傳遞。4、
VBA程序設計基礎:(1)
面向?qū)ο蟪绦蛟O計的基本概念。(2)
VBA編程環(huán)境:進入VBE,VBE界面。(3)
VBA編程基礎:常量,變量,表達式。(4)
VBA程序流程控制:順充控制,選擇控制,循環(huán)控制。(5)
VBA程序的調(diào)試:設置斷點,單步跟蹤,設置監(jiān)視點。
重點、難點條件(分支)結(jié)構題型歸納-11給出事件過程,寫出運行結(jié)果一般結(jié)合選擇、循環(huán)結(jié)構一般有MsgBox輸出語句有時考察過程調(diào)用(傳值、傳址)有時考察變量的作用范圍(局部、模塊、全局)2對細節(jié)概念的考察例如:Sub過程與Function過程的區(qū)別;函數(shù)的表達;表達式的計算結(jié)果;數(shù)組下標;各種語句的寫法與意義……題型歸納-23用VBA代碼設置窗體或控件的屬性目前已考察過的:設置顏色ForeColor、標題Caption、可見Visible、可用Enabled……4完形填空:根據(jù)題目對程序功能的描述,將程序補充完整常需要補充的部分為:某種結(jié)構的關鍵字(If,EndIf,Next,Loop等),某個語句關鍵字(InputBox,MsgBox,DoCmd.Close等),某個判斷條件或某個過程名等??疾禳c歸納-11模塊的分類:類模塊、標準模塊2面向?qū)ο蟾拍睿簩ο?、屬性、方法、事?常量的定義4變量的定義:隱式、顯式、靜態(tài)變量5用戶自定義數(shù)據(jù)類型:Type…EndType6數(shù)組:Dima(3,5to8)AsSingle7數(shù)據(jù)庫對象變量考察點歸納-28表達式與優(yōu)先級:9常用標準函數(shù)10條件語句與分支結(jié)構If語句、SelectCase語句IIf函數(shù)、Choose函數(shù)、Switch函數(shù)11循環(huán)語句與循環(huán)結(jié)構For…Next語句、Do…Loop語句、While…Wend語句12過程調(diào)用與參數(shù)傳遞子過程Sub、函數(shù)過程Function傳址調(diào)用ByRef、傳值調(diào)用ByVal考察點歸納-313常用語句:DoCmd命令集InputBoxMsgBox14VBA驗證函數(shù):15計時事件:Form_Timer()
計時器間隔屬性:TimerInterval16VBA的數(shù)據(jù)庫編程:DAO模型、ADO模型17錯誤處理語句:18程序調(diào)試:各種工具的作用與用法4變量1定義語句
DimxAsString*7,y,zAsIntegerSample#=9.982作用范圍PublicxAsIntegerPrivateSubCommand1_Click()x=10:Calls1:Calls2MsgBoxxEndSubPrivateSubs1()x=x+20EndSubPrivateSubs2()
DimxAsInteger
x=x+20EndSub
全局變量局部變量x=10x=10+20=30(2006.9)P78、354變量3靜態(tài)變量Static
PrivateSubCommand1_Click()
StaticbAsInteger
b=b+1
msgboxb
EndSub
打開窗體,三次單擊命令按鈕后,b的值為___
靜態(tài)變量能夠在過程間保留變量的值,不像Dim語句定義的變量每次都初始化。3P79、118表達式與優(yōu)先級算術表達式>連接表達式>關系表達式>邏輯表達式VBA表達式3*3\3/3的輸出結(jié)果為___(2006.4)9設a=2,b=3,c=4,d=5,則表達式
NOTa<=cOR4*c-d=b^2ANDb<>a+c的值為___121234567False9內(nèi)部函數(shù)強記數(shù)學函數(shù)、字符串函數(shù)、日期時間函數(shù)、類型轉(zhuǎn)換函數(shù)窗體上添加一個命令按鈕(Command1)和一個文本框(文本1)PrivateSubCommand1_Click()m=2.17n=Len(Str$(m)+Space(5))Me.文本1.SetFocusMe.文本1.Text=nEndSub打開窗體后,單擊命令按鈕,在文本框中顯示_____10(2006.9)立即窗口中練習:?str("2.17")?str(“-2.17")?len(str("2.17"))?len(str(“-2.17"))6數(shù)組定義格式:Dima(2)AsString,b(4to8)AsIntegerDimc(1to3,2)Dimd()AsLong……ReDimd(3,5)一維數(shù)組二維數(shù)組動態(tài)數(shù)組默認數(shù)組下標從0開始維數(shù)與元素個數(shù)一樣么?OptionBase1多維數(shù)組:多個下標。VBA中最多可到60維。例如:DimN(1To2,1To3)AsSingle聲明了一個2乘3的兩維數(shù)組,有6個數(shù)組元素??蓪⑵湎胂癯删仃嚕谝粋€參數(shù)為行號,第二個為列號。
S(1,1),S(1,2),S(1,3),S(2,1),S(2,2),S(2,3)動態(tài)數(shù)組定義和使用的方法:P259Dimnew1()aslong…ReDimnew1(3,3)
數(shù)組元素的引用:數(shù)組元素用數(shù)據(jù)名和下標引用。例如
DimS(6)AsInteger,N1AsInteger ForN1=0to6 S(N1)=20 Next十三、常用標準函數(shù)1數(shù)學函數(shù)絕對值函數(shù)Abs(<表達式>)取整函數(shù)Int(<表達式>)
Fix(<表達式>)自然指數(shù)函數(shù)Exp(<數(shù)值表達式>)自然對數(shù)函數(shù)Log(<數(shù)值表達式>)開平方函數(shù)Sqr(<數(shù)值表達式>)三角函數(shù)Sin(<數(shù)值表達式>)
Cos(<數(shù)值表達式>)
Tan(<數(shù)值表達式>)產(chǎn)生隨機數(shù)函數(shù)Rnd(<數(shù)值表達式>)2字符串函數(shù)字符串檢索函數(shù)InStr([Start,]<Str1>,<Str2>[,Compare])字符串長度檢索函數(shù)Len(<字符串表達式>或<變量名>)字符串截取函數(shù)Left(<字符串表達式>,<N>)
Right(<字符串表達式>,<N>)
Mid(<字符串表達式>,<N1>,[N2])生成空格字符串函數(shù)Space(<字符串表達式>)大小寫轉(zhuǎn)換函數(shù)Ucase(<字符串表達式>)
Lcase(<字符串表達式>)刪除空格函數(shù)LTrim(<字符串表達式>)
RTrim(<字符串表達式>)
Trim(<字符串表達式>)3日期/時間函數(shù)獲取系統(tǒng)日期和時間DateTimeNow截取日期分量函數(shù)Year(<表達式>)
Month(<表達式>)
Day(<表達式>)4類型轉(zhuǎn)換函數(shù)字符串轉(zhuǎn)換字符代碼函數(shù)Asc(<字符串表達式>)字符代碼轉(zhuǎn)換字符函數(shù)Chr(<字符代碼>)數(shù)字轉(zhuǎn)換成字符串函數(shù)Str(<數(shù)值表達式>)字符串轉(zhuǎn)換成數(shù)字函數(shù)Val(<字符串表達式>)VBA程序流程控制語句計算機程序的執(zhí)行控制流程,有三種基本結(jié)構:順序結(jié)構、分支結(jié)構、循環(huán)結(jié)構。順序結(jié)構:其中的語句按排列的順序依次執(zhí)行。條件判斷結(jié)構:按照給定的條件進行判斷,再按判斷的結(jié)果分別執(zhí)行程序中不同部分的代碼。循環(huán)結(jié)構:按照條件反復執(zhí)行一系列語句。根據(jù)循環(huán)的條件,可以把循環(huán)結(jié)構分為兩類: ◆當型循環(huán)結(jié)構:當條件成立時,反復執(zhí)行語句。 ◆直到型循環(huán)結(jié)構:反復執(zhí)行語句直到條件成立為止。VBA提供了如下幾種分支語句:
1.簡單分支語句(If…Then語句)If測試指定的條件,如果條件為真(True),則執(zhí)行Then后面的語句。格式1:If條件表達式Then語句格式2:If〈條件表達式〉Then語句塊EndIf注意:If…Then的單行格式不用EndIf語句。但如果條件表達式的值為真(True)時要執(zhí)行多行代碼,則必須使用多行If…Then…EndIf語法。2.選擇分支語句(If…Then…Else)If…Then語句的變形是If…Then…Else語句,它在條件為True時,執(zhí)行一段語句,而在條件為False時,執(zhí)行另一段語句。If…Then…Else語句的語法如下:格式3:If條件表達式Then語句塊1Else語句塊2EndIfIF語句的嵌套:多重選擇
格式4If條件語1Then語句組1elseif條件2Then語句組2elseif條件3Then語句組3
……elseif條件nThen語句組nelse語句組n+1endif實戰(zhàn):2007-9P9313.在窗體中使用一個文本框(名為num1)接受輸入值,有一個命令按鈕run13,事件代碼如下:
PrivateSubrun13_Click()
IfMe!num1>=60Then
result="及格"
ElseIfMe!num1>=70Thenresult="通過"
ElseIfMe!num1>=80Thenresult="合格"
EndIfMsgBoxresultEndSub
打開窗體后,若通過文本框輸入的值為85,單擊命令按鈕,輸出結(jié)果是【13】以下是一個競賽評分程序。8個評委,去掉一個最高分,去掉一個最低分,計算平均分(滿分10分)。PrivateSubForm_Click()DimMaxAsInteger,MinAsIntegerDimiAsInteger,xAsInteger,sAsIntegerDimpAsSingleMax=0:Min=0
Fori=1To8x=Val(InputBox("請輸入分數(shù)"))
If_____ThenMax=xIf_____ThenMin=xs=s+xNextis=______:p=s/6MsgBox"最后得分:“&pEndSub(2005.4)x>Maxx<MinS-Max-MinPrivateSubCommand1_Click()x=-5IfSgn(x)Theny=Sgn(x^2)Elsey=Sgn(x)EndIfMsgBoxyEndSub-1認為等價于True0認為等價于False1SelectCase語句多分支結(jié)構PrivateSubCommand1_Click()text1.SetFocusn=Val(text1.Text)SelectCasenCase1To20x=10Case2,4,6x=20CaseIs<10x=30Case10x=40EndSelecttext2.SetFocustext2.Text=xEndSub程序運行后,如果在Text1中輸入10,然后單擊命令按鈕,則在Text2中顯示?10三個函數(shù):
IIf(條件,表達式1,表達式2)
Switch(條件1,表達式1[…,條件n,表達式n])
Choose(索引式,選項1[,選項2,…[,選項n]])
若a=9,則執(zhí)行x=IIf(a>4,"abc",0)后,x值為__?若b="m",y=Switch(b>"4",1,b>"a",0),則y值為__?若c=2,則執(zhí)行z=Choose(c,15,7,9)后,z值為__?“abc”1711循環(huán)語句與循環(huán)結(jié)構循環(huán)控制結(jié)構P275~2771)For…Next單層嵌套2)Do…LoopDoWhile…Loop或Do…LoopWhileDo…LoopUntil或DoUntil…Loop3)While…Wend循環(huán)體的執(zhí)行條件,循環(huán)過程,循環(huán)變量的變化PrivateSubCommand1_Click()s="ABBACDDCBA"ForI=6To2Step-2x=Mid(s,I,I)y=Left(s,I)z=Right(s,I)z=x&y&zNextIMsgBoxzEndSubI=2x=mid(s,2,2)=“BB”y=left(s,2)=“AB”z=right(s,2)=“BA”z=“BBABBA”(2006.9)假定有以下程序段n=0fori=1to3forj=-4to-1n=n+1nextjnexti運行完畢后,n的值是A)0
B)3
C)4
D)12Right!(2005.9)PrivateSubCommand1_Click()Dima(10,10)Form=2To4Forn=4To5a(m,n)=m*nNextnNextmMsgBoxa(2,5)+a(3,4)+a(4,5)EndSubm=2m=3m=4n=4n=4n=4a(2,4)=8a(3,4)=12a(4,4)=16n=5n=5n=5a(2,5)=10a(3,5)=15a(4,5)=20(2006.9)實戰(zhàn):2007-9P9312.在窗體中使用一個文本框(名為x)接受輸入值,有一個命令按鈕test,事件代碼如下:
Private
Sub
test_Click()
y
=
0
For
i=0
To
Me!x
y=y+2*i+1
Next
i
MsgBox
y
End
Sub
打開窗體后,若通過文本框輸入值為3,單擊命令按鈕,輸出的結(jié)果是【12】
答案16解析:若通過文本框輸入值為3,則For循環(huán)i=0To3共執(zhí)行4次,第一次:y=0+2*0+1=1;
第二次:y=1+2*1+1=4;
第三次:y=4+2*2+1=9;
第四次:y=9+2*3+1=16;所以輸出的結(jié)果是16格式1:先判條件是否成立,再開始循環(huán)。Do[{While|Until}<條件>] [<語句>] [ExitDo] [<語句>]
Loop
2.DoWhile…Loop和Do…LoopWhile格式2:先循環(huán),再判條件是否成立。Do[<語句>][ExitDo][<語句>]Loop[{While|Until}<條件>]說明:Do…Loopwhile循環(huán)結(jié)構:先執(zhí)行后判斷,循環(huán)語句至少執(zhí)行一次;
While關鍵字用于指明條件為真時執(zhí)行循環(huán)體內(nèi)語句;Until當條件為假時,執(zhí)行循環(huán)體內(nèi)語句。單擊窗體,消息框的結(jié)果為____(2006.4)PrivateSubForm_Click()DimxasInteger,yasIntegerx=2:y=4Dox=x*yy=y+1Loopwhiley<4MsgBoxxEndSub此種結(jié)構,先執(zhí)行循環(huán)體,再判斷條件,當while后的條件表達式為真時,執(zhí)行循環(huán)體,為假時,跳出循環(huán)體。X=2y=4X=8Y=5PrivateSubCommand1_Click()DimnumAsSinglenum=1DoUntilnum>6num=num+2.4LoopMsgBoxnumEndSubnum=1num=3.4num=5.8num=8.2此種結(jié)構,先判斷條件,再執(zhí)行循環(huán)體,當until后的條件表達式為假時,執(zhí)行循環(huán)體,為真時,跳出循環(huán)體。子過程的定義與調(diào)用[Public|Private][Static]Sub子過程名([<形參>])[As數(shù)據(jù)類型][<子過程語句>][ExitSub][<子過程語句>]EndSub函數(shù)過程的定義與調(diào)用[Public|Private][Static]Function函數(shù)過程名([<形參>])[As數(shù)據(jù)類型][<函數(shù)過程語句>][函數(shù)過程名=<表達式>][ExitFunction][<函數(shù)過程語句>][函數(shù)過程名=<表達式>]EndFunctionCall子過程名([<實參>])或子過程名[<實參>]變量名=函數(shù)過程名([<實參>])30.在過程定義中有語句:P90-91
PrivateSubGetData(ByReffAsInteger)
其中"ByRef"的含義是
A.傳值調(diào)用B.傳址調(diào)用
C.形式參數(shù)D.實際參數(shù)答案B
解析:在參數(shù)函數(shù)設計時,要想實現(xiàn)某個參數(shù)的"雙向"傳遞,就應當說明該形參為"傳址"調(diào)用形式。其設置選項是ByRef。實戰(zhàn):2007-9P9132.在窗體中有一個標簽Label0,標題為“測試進行中”;有一個命令按鈕Command1,事件代碼如下:
Private
Sub
Command1_Click()
Label0.Caption="標簽"
End
Sub
Private
Sub
Form_Load()
Form.Caption="舉例"
Command1.Caption="移動"
End
Sub打開窗體后單擊命令按鈕,結(jié)果為
答案D
解析:打開窗體后,系統(tǒng)自動調(diào)用Form_Load(),這時Form的標題為"舉例",Command1的標題為"移動",Label0的內(nèi)容為“測試進行中”;當單擊命令按鈕后,Label0的內(nèi)容更新為“標簽”,F(xiàn)orm的標題還是"舉例",Command1的內(nèi)容還是"移動",因此選擇D。A)B)C)D)實戰(zhàn):2007-9P9233.在窗體中有一個標簽Lb1和一個命令按鈕Command1,事件代碼如下:
Option
Compare
Database
Dim
a
As
String*10
Private
Sub
Command1_Click()
a="1234"
b=Len(a)
Me.Lb1.Caption=b
End
Sub
打開窗體后單擊命令按鈕,窗體中顯示的內(nèi)容是
A.4B.5
C.10D.40
答案C
解析:“DimaAsString*10”
表示變量a的長度為10個字節(jié),也就是5個漢字的長度!因此窗體中顯示的內(nèi)容是10。在窗體中添加一個命令按鈕(名為Command1)和一個文本框(名為Text1),然后編寫如下事件過程:PrivateSubCommand1_Click()DimxAsInteger,yAsInteger,zAsIntegerx=5:y=7:z=0Me!Text1=""Callp1(x,y,z)Me!Text1=zEndSubSubp1(aAsInteger,bAsInteger,cAsInteger)c=a+bEndSub主調(diào)過程被調(diào)過程傳址調(diào)用雙向作用答案:12(2005.9)在窗體上添加一個命令按鈕(名為Command1),然后編寫如下程序:
Functionm(xasInteger,yasInteger)asInteger
m=IIf(x>y,x,y)
EndFunction
PrivateSubCommand1_Click()
DimaasInteger,basInteger
a=1:b=2
MsgBoxm(a,b)
EndSub函數(shù)過程主調(diào)過程答案:2傳址調(diào)用(2005.4)假定有如下的Sub過程:Subsfun(xAsSingle,yAsSingle)t=x:x=t/y:y=tModyEndSub在窗體上添加一個命令按鈕,有如下事件過程PrivateSubCommand1_Click()DimaAsSingle,bAsSinglea=5:b=4
sfuna,bMsgBoxa&chr(10)+chr(13)&bEndSub打開窗體,單擊命令按鈕,消息框輸出______主調(diào)過程被調(diào)過程(2006.4)1.251有如下的Sub過程:PrivateSubs(ByValpAsInteger)p=p*2EndSubPrivateSubCommand1_Click()DimIAsIntegerI=3
Calls(i)IfI>4ThenI=I^2MsgBoxIEndSub打開窗體,單擊命令按鈕,消息框輸出______主調(diào)過程被調(diào)過程(2006.4)3傳值調(diào)用單向作用13常用語句1打開對象DoCmd.OpenForm窗體名DoCmd.OpenReport報表名打開的對象還可以為:Table,Query等2關閉對象DoCmd.Close關閉當前窗體
DoCmd.CloseacForm,“學生管理”
DoCmd.CloseacReport,“學生信息表”關閉的對象還可以為:acDataAccessPage,acTable,acQuery,acMacro3輸入框InputBox(prompt[,title][,default][,xpos][,ypos][,_helpfile,context])4輸出框MsgBox(prompt[,buttons][,title][,helpfile,context])5執(zhí)行宏
DoCmd.RunMacroMacroName[,RepeatCount][,RepeatExpression]窗體上有兩個命令按鈕:顯示(cmdDisplay)、測試(cmdTest)。事件過程的功能是:單擊“測試”按鈕,彈出消息框,如果單擊消息框的“確定”按鈕,隱藏窗體上的“顯示”按鈕,如果單擊消息框的“取消”按鈕,關閉窗體。PrivateSubcmdTest_Click()
Answer=________(“隱藏按鈕”,vbOKCancel)IfAnswer=vbOKthencmdDisplay.Visible=______ElseDoCmd.CloseEndSub(2006.4)MsgBoxFalse一基本數(shù)據(jù)結(jié)構與算法1算法的基本概念,算法復雜度概念和意義(時間復雜度和空間復雜度)2數(shù)據(jù)結(jié)構的定義,數(shù)據(jù)的邏輯結(jié)構和存儲結(jié)構,數(shù)據(jù)結(jié)構的圖形表示,線性結(jié)構與非線性結(jié)構的概念3線性表的定義,線性表的順序存儲結(jié)構極其插入與刪除的運算4棧和隊列的定義:棧和隊列的順序存儲結(jié)構及其基本運算5線性單鏈表多向鏈表與循環(huán)鏈表及其基本運算6樹的基本概念,二叉樹的定義及其存儲結(jié)構,二叉樹的前序,中序,后序遍歷7順序查找與二分法查找,基本排序算法(交換類,選擇類,插入類)考試內(nèi)容
1.1算法的基本概念
算法的定義:一個有窮的指令集,這些指令為解決某一特定問題規(guī)定了一個運算序列,即方法和步驟,在計算機學科中,算法就是計算機解決問題的過程或步驟。算法是解題方案的準確而完整的描述。算法等于程序?等于計算方法?結(jié)構化程序算法的特性如下。(1)可行性算法中的操作能夠用已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次來實現(xiàn)。(2)確定性算法中的每一步都有確切的含義。(3)有窮性一個算法(對任何合法的輸入)在執(zhí)行有窮步后能夠結(jié)束,并且在有限的時間內(nèi)完成。(4)擁有足夠的情報當算法擁有足夠的情報,此算法才是有效的。
考點1:算法的定義
例2.1.1
問題處理方案的正確而完整的描述稱為______。[2005年4月填空第5題]
例2.1.2算法具有4個特性,以下選項中不屬于算法特性的是(
)
A.有窮性
B.簡潔性
C.可行性
D.確定性
答案:算法
答案:B
算法的時間復雜度指算法的時間耗費,算法時間是由控制結(jié)構和原操作的決定的。算法的時間復雜度用來衡量算法執(zhí)行過程中所需要的基本運算次數(shù)。算法的時間復雜度是指算法所需要的計算工作量。算法的空間復雜度描述算法的存儲空間需求,
數(shù)據(jù)的邏輯結(jié)構:用來描述數(shù)據(jù)元素之間的邏輯關系。
數(shù)據(jù)的存儲結(jié)構:用來描述數(shù)據(jù)元素及數(shù)據(jù)元素之間的關系在存儲器中的存儲形式。*重點提示:
同一邏輯結(jié)構的數(shù)據(jù)可以采用不同存儲結(jié)構,但影響數(shù)據(jù)處理效率。
數(shù)據(jù)的運算:即對數(shù)據(jù)元素施加的操作。 數(shù)據(jù)結(jié)構的圖形表示:用圖形來直觀地表示數(shù)據(jù)及其之間的關系。數(shù)據(jù)結(jié)構包括邏輯結(jié)構、存儲結(jié)構和數(shù)據(jù)的運算3個方面的內(nèi)容。2007-9真題:6、下列敘述正確的是A、數(shù)據(jù)的邏輯結(jié)構與存儲結(jié)構必定是一一對應的B、由于計算機存儲空間是向量式的存儲結(jié)構,因此,數(shù)據(jù)的存儲結(jié)構一定是線性結(jié)構C、程序設計語言中的數(shù)組一般是順序存儲結(jié)構,因此,利用數(shù)組只能處理線性結(jié)構D、以上說法都不對5、下列敘述正確的是A、程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構密切相關B、程序執(zhí)行的效率只取決于程序的控制結(jié)構C、程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D、以上說法都不對
數(shù)據(jù)的邏輯結(jié)構分為線性結(jié)構和非線性結(jié)構兩類: 線性結(jié)構:數(shù)據(jù)元素之間構成一種順序的線性關系,如圖1-2所示。線性結(jié)構包括線性表、堆棧、隊列和串。圖1-2數(shù)據(jù)元素的線性關系非線性結(jié)構是指不滿足以上條件的存儲結(jié)構。非線性結(jié)構包括樹、二叉樹、圖(或網(wǎng)絡)和廣義表。1.3線性表1.3.1線性表的順序存儲結(jié)構 線性表是最常用且最簡單的一種數(shù)據(jù)結(jié)構。 采用順序存儲結(jié)構的線性表也叫做順序表,如n個元素的線性表可以記為:L=(a1,a2,…,an)。線性表的順序存儲結(jié)構具有以下兩個基本特點:(1)線性表中所有元素所占的存儲空間是連續(xù)的。(2)線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。順序表有插入和刪除兩種基本操作。圖1-4順序表的插入*重點提示:順序表的插入運算時需要移動元素,在等概率情況下,平均需要移動n/2個元素。*重點提示:順序表的刪除運算時也需要移動元素,在等概率情況下,平均需要移動(n-1)/2個元素。1.3.2線性表的鏈式存儲結(jié)構
鏈式存儲是指用一組地址任意的存儲單元存放線性表中的數(shù)據(jù)元素。*重點提示:線性鏈表不能隨機存取。 鏈式存儲采用結(jié)點來表示數(shù)據(jù)元素。一個結(jié)點由兩個部分構成:數(shù)據(jù)域和指針域。(1)單鏈表及其基本操作圖1-5單鏈表*重點提示:線性鏈表中插入和刪除元素時,需要移動元素么?只需要修改相關結(jié)點指針即可。圖1-6單鏈表的插入圖1-7單鏈表的刪除(2)雙向鏈表及其基本操作圖1-8雙向鏈表的插入1.4棧和隊列1.4.1棧及其基本操作 棧是規(guī)定只能在表的一端進行插入和刪除的線性表。允許插入和刪除的一端稱為棧頂,另一端稱為棧底。當表中沒有元素時稱為空棧。由于棧的插入和刪除運算僅在棧頂一端進行,后進棧的元素必定先被刪除,所以又把棧稱為后進先出(LastInFirstOut,簡稱LIFO)或先進后出(FILO)表。棧有插入(即進棧)和刪除(即出棧)兩種基本操作。
棧頂元素總是最后被插入的元素,最先刪除的元素;棧底元素總是最先被插入的元素,最后被刪除的元素。
棧具有記憶作用。
(2)
下列關于棧的描述中錯誤的是
A)棧是先進后出的線性表
B)棧只順序存儲
C)棧具有記憶作用
D)對棧的插入與刪除操作中,不需要改變棧底指針
2005-4真題:(3)
若入棧元素的序列為a、b、c,則
是不可能的出棧序列。
A)b、c、aB)a、c、bC)c、a、bD)b、a、c
1.4.2隊列及其基本操作 隊列可以看作是插入在一端進行,刪除在另一端進行的線性表。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。隊列又稱為先進先出(First_In_First_Out,FIFO)或后進后出(LILO)表。隊列的基本操作有插入(即入隊)和刪除(即出隊)兩種。隊列只能在隊尾插入元素,在隊頭刪除元素。2007-4真題:5、下列隊列的敘述正確的是A、隊列屬于非線性表B、隊列按“先進后出”原則組織數(shù)據(jù)C、隊列在隊尾刪除數(shù)據(jù)D、隊列按“先進先出”原則組織數(shù)據(jù)一個隊列的入對序列是1、2、3、4,則隊列的輸出序列是
。A.4、3、2、1B.1、2、3、4C.1、4、3、2D.3、2、4、1
棧和隊列的共同點
。A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同點
圖1-10順序隊列2007-9真題:圖1-11循環(huán)隊列的插入和刪除3、線性表的存儲結(jié)構主要分為順序存儲結(jié)構和鏈式存儲結(jié)構。隊列是一種特殊的線性表,循環(huán)隊列是隊列的()存儲結(jié)構。圖1-13樹樹是由n(n≥0)個結(jié)點組成的有限集合。在樹結(jié)構中,一個結(jié)點所擁有的后件個數(shù)稱為該結(jié)點的度。樹的最大層次稱為樹的深度。
1.5.2二叉樹的基本概念 一棵二叉樹是結(jié)點的一個有限集合,該集合或者為空,或者是由一個根結(jié)點加上兩棵分別稱為左子樹和右子樹的、互不相交的二叉樹組成。在二叉樹中,每一個結(jié)點的度最大為2,即所有子樹(左子樹或右子樹)也均為二叉樹。
圖1-145種二叉樹二叉樹的性質(zhì)
1.在二叉樹的第K層上,最多有2k-1(k≥1)個結(jié)點。
2.深度為m的二叉樹最多有2m-1個結(jié)點。
3.在任意一棵二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。
4.具有n個結(jié)點的二叉樹,其深度至少為[log2n]+1,其中[log2n]表示取log2n的整數(shù)部分。
滿二叉樹與完全二叉樹是兩種特殊形態(tài)的二叉樹。
滿二叉樹:每一層上的結(jié)點數(shù)均達到最大值,第K層上,最多有2k-1(k≥1)個結(jié)點且深度為m的二叉樹最多有2m-1個結(jié)點。
完全二叉樹:除最后一層外。每一層上的結(jié)點數(shù)均達到最大值;在最后一層上只缺少右邊的若干結(jié)點。
圖1-15滿二叉樹和完全二叉樹完全二叉樹還具有以下兩個性質(zhì):
5、具有n個結(jié)點的完全二叉樹的深度為[log2n]+1.
6、設完全二叉樹共有n個結(jié)點。如果從根結(jié)點開始,按層序(每一層從左到右)用自然數(shù)1,2,……,n給結(jié)點進行編號,則對于編號為k(k=1,2,……,n)的結(jié)點有以下結(jié)論:
a)
若k=1,
則該結(jié)點為根結(jié)點,
它沒有父結(jié)點;若k>1,則該結(jié)點的父結(jié)點編號為INT(k/2)
b)
若2k+1≤n,e)
則編號為k的結(jié)點的左子結(jié)點編號為2k;否則該結(jié)點無左子結(jié)點(顯然也沒有右子結(jié)點)。
c)
若2k+1≤n,g)
則編號為k的結(jié)點的右子結(jié)點編號為2k+1;否則該結(jié)點無右子結(jié)點。
根據(jù)完全二叉樹的這個性質(zhì),如果按從上到下、從左到右順序存儲完全二叉樹的各結(jié)點,則很容易確定每一個結(jié)點的父結(jié)點、左子結(jié)點和右子結(jié)點的位置。課本P46:8、在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為()A、32B、31C、16D、1510、設樹的度為4,其中度為1,2,3,4的結(jié)點個數(shù)分別為4,2,1,1.則T中的葉子結(jié)點數(shù)為(兩種方法)A、8B、7C、6D、5課本P47:2、設一棵完全二叉樹共有700個結(jié)點,則在該二叉樹中有()葉子結(jié)點。8、一棵二叉樹中共有70個葉子結(jié)點和80個度為1的結(jié)點,改二叉樹中的總結(jié)點數(shù)為()A、219B、221C、229D、2312007-9真題:2007-4真題:7、某二叉樹中有n個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點為A、n+1B、n-1C、2nD、n/2【例1-23】一棵二叉樹的第六層(根結(jié)點為第一層)的結(jié)點數(shù)最多為32個。【例1-24】深度為5的二叉樹至多有31個結(jié)點?!纠?-25】設樹T的度為4,其中度為1,2,3,4的結(jié)點個數(shù)分別為4,2,1,1。則T中的葉子結(jié)點為
A。
A.8B.7C.6D.5【例1-26】某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有19個葉子結(jié)點。【例1-27】具有88個結(jié)點的二叉樹,其深度至少為7?!纠?-28】在深度為7的滿二叉樹中,葉子結(jié)點的個數(shù)為
C。A.32B.31C.64D.63
圖1-16二叉樹的順序表示1.5.3二叉樹的存儲結(jié)構(1)順序存儲結(jié)構*重點提示:一般二叉樹通常采用鏈式存儲結(jié)構,對于滿二叉樹和完全二叉樹可以按層次進行順序存儲。 1.中序遍歷
中序遍歷的算法過程如下。(1)若二叉樹為空,則空操作,返回。(2)否則依次執(zhí)行:中序遍歷左自樹(L);訪問根結(jié)點(V);中序遍歷右自樹(R)。
2.前序遍歷
前序遍歷二叉樹的算法過程如下。(1)若二叉樹為空,則返回。(2)否則依次執(zhí)行:訪問根結(jié)點(V);前序遍歷左子樹(L);前序遍歷右子樹(R)。 3.后序遍歷
后序遍歷的算法過程如下。(1)若二叉樹為空,返回。(2)否則依次執(zhí)行:后序遍歷左子樹(L);后序遍歷右子樹(R);訪問根結(jié)點(V)。課本P47:3、設一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序便利結(jié)果為()2007-9真題:2007-4真題:6、對右列二叉樹進行前序遍歷的結(jié)果為A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCD
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 有關幼兒園防洪澇災害應急預案(3篇)
- 領工資委托書
- 舞蹈培訓班合作協(xié)議(3篇)
- 直播流程方案
- 門診的年終總結(jié)
- 酒店員工述職報告匯編5篇
- 珍愛生命主題班會教案
- 23.5 位似圖形 同步練習
- 江西上饒市2024-2025七年級歷史期中試卷(含答案)
- 河北省秦皇島市盧龍縣2024-2025學年七年級上學期期中生物試題
- 我國陸軍專業(yè)知識講座
- 貨車安全隱患排查表
- 教師專業(yè)成長概述教師專業(yè)發(fā)展途徑PPT培訓課件
- 球磨機安裝專項施工方案
- 2023年山東省港口集團有限公司招聘筆試題庫及答案解析
- GB/T 27689-2011無動力類游樂設施兒童滑梯
- GB/T 25217.10-2019沖擊地壓測定、監(jiān)測與防治方法第10部分:煤層鉆孔卸壓防治方法
- GB/T 20284-2006建筑材料或制品的單體燃燒試驗
- GB/T 15604-2008粉塵防爆術語
- 高中英語 必修一知識點(北師大版)課件
- 溝通技巧(直接可以授課用)
評論
0/150
提交評論