全國計(jì)算機(jī)等級(jí)考試培訓(xùn)教材(2級(jí)C)全套教學(xué)課件_第1頁
全國計(jì)算機(jī)等級(jí)考試培訓(xùn)教材(2級(jí)C)全套教學(xué)課件_第2頁
全國計(jì)算機(jī)等級(jí)考試培訓(xùn)教材(2級(jí)C)全套教學(xué)課件_第3頁
全國計(jì)算機(jī)等級(jí)考試培訓(xùn)教材(2級(jí)C)全套教學(xué)課件_第4頁
全國計(jì)算機(jī)等級(jí)考試培訓(xùn)教材(2級(jí)C)全套教學(xué)課件_第5頁
已閱讀5頁,還剩198頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)等級(jí)考試第一章公共基礎(chǔ)知識(shí)【ch01】公共基礎(chǔ)知識(shí).pptx【ch02】C語言概述.pptx【ch03】運(yùn)算符與表達(dá)式.pptx【ch04】順序結(jié)構(gòu).pptx【ch05】選擇結(jié)構(gòu).pptx【ch06】循環(huán)結(jié)構(gòu).pptx【ch07】數(shù)組.pptx【ch08】函數(shù).pptx【ch09】指針.pptx【ch10】結(jié)構(gòu)體和共用體.pptx【ch11】編譯預(yù)處理.pptx【ch12】文件.pptx全套可編輯PPT課件數(shù)據(jù)結(jié)構(gòu)與算法01ONE1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)1算法1.算法定義算法是指對(duì)解題方案準(zhǔn)確而完整的描述。算法不等于數(shù)學(xué)上的計(jì)算方法,也不等于程序。2.算法的特征算法的特征有4個(gè):可行性、確定性、有窮性、擁有足夠的情報(bào)。(1)可行性:在算法的執(zhí)行過程中,每一個(gè)步驟都要可行、可通。經(jīng)過執(zhí)行能夠得到一個(gè)結(jié)果。(2)確定性:算法中的每一個(gè)步驟都要有確切的含義,不能有二義性,對(duì)于相同的輸入必須能得出相同的執(zhí)行結(jié)果。(3)有窮性:一個(gè)算法包含的操優(yōu)步驟是有限的。也就是說,在執(zhí)行若干個(gè)操作步驟之后算法結(jié)束,而且每一個(gè)步驟都要在合理的時(shí)間內(nèi)完成。(4)擁有足夠的情報(bào):即擁有足夠的輸入數(shù)據(jù)。通過大量的算法輸入數(shù)據(jù)來驗(yàn)證算法輸出的結(jié)果是否有誤。1.1數(shù)據(jù)結(jié)構(gòu)與算法3.算法復(fù)雜度(1)算法的復(fù)雜度是指運(yùn)行該算法所需要的計(jì)算機(jī)資源的多少,所需的資源越多,該算法的復(fù)雜度越高:反之,所需資源越少,復(fù)東度越低。也就是說,算法的復(fù)雜度是對(duì)算法中的各種方法進(jìn)行衡量的標(biāo)準(zhǔn)。(2)算法的復(fù)雜度有兩種:算法的時(shí)間復(fù)雜度和算法的空問復(fù)雜度。①算法的時(shí)間復(fù)雜度:執(zhí)行算法所需要的(計(jì)算工作量)基本運(yùn)算次數(shù)。②算法的空間復(fù)雜度:執(zhí)行算法所需要的內(nèi)存空問?!咀⒁狻克惴〞r(shí)間復(fù)雜度的好與壞不會(huì)影響空問復(fù)雜度的好與壞。01考點(diǎn)1算法1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)2數(shù)據(jù)結(jié)構(gòu)1.數(shù)據(jù)的邏輯結(jié)構(gòu)(1)數(shù)據(jù)結(jié)構(gòu)定義數(shù)據(jù)結(jié)構(gòu)主要研充和討論了個(gè)方面的內(nèi)容:邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和運(yùn)算。邏輯結(jié)構(gòu)討論的是現(xiàn)實(shí)世界中數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系:存儲(chǔ)結(jié)構(gòu)也稱物理結(jié)構(gòu),指的是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空問的存放形式。(2)數(shù)據(jù)的邏輯結(jié)構(gòu)滿足邏輯結(jié)構(gòu)的的條件:①表示數(shù)據(jù)元素的信息;②表示各數(shù)據(jù)元素之問的前后件關(guān)系。邏輯結(jié)構(gòu)的分類:線性結(jié)構(gòu)、非線性結(jié)構(gòu)。①線性結(jié)構(gòu):有且只有一個(gè)根節(jié)點(diǎn):每一個(gè)節(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。在二級(jí)公共基礎(chǔ)中,線性結(jié)構(gòu)主要講到的有:線性表、棧、隊(duì)列。②非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的就屬于非線性結(jié)構(gòu)。在二級(jí)公共基礎(chǔ)中,非線性結(jié)構(gòu)主要講到的有:樹、二叉樹。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)2數(shù)據(jù)結(jié)構(gòu)2.?dāng)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(1)概念:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存儲(chǔ)形式通常有兩種:順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。①順序存儲(chǔ)結(jié)構(gòu):數(shù)據(jù)在存儲(chǔ)空間中必須連續(xù),且元素之問一定要有前后件的關(guān)系。②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu):數(shù)據(jù)在存儲(chǔ)空問中不一定連續(xù),且各元素的存儲(chǔ)順序是任意的。(3)兩種存儲(chǔ)結(jié)構(gòu)的優(yōu)缺點(diǎn)如下。①順序存儲(chǔ)結(jié)構(gòu):優(yōu)點(diǎn)是查找方便;缺點(diǎn)是插入、刪除不方便。②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu):優(yōu)點(diǎn)是插入、刪除方便;缺點(diǎn)是查找不方便。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)3線性表及順序存儲(chǔ)結(jié)構(gòu)(1)一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)如果滿足以下兩個(gè)條件:有且只有一個(gè)根節(jié)點(diǎn);每一個(gè)節(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,那么該數(shù)據(jù)結(jié)構(gòu)稱為線性結(jié)構(gòu),也稱為線性表。(2)線性表往計(jì)算機(jī)中進(jìn)行存放,不僅可以采用順序存儲(chǔ)結(jié)構(gòu)存放,還可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存放。①順序表:線性表采用順序存儲(chǔ)結(jié)構(gòu)存放。②線性鏈表:線性表采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存放。(3)順序表和線性鏈表的特點(diǎn)如下。①順序表:隨機(jī)(訪問〉存取、查找方便,插入、刪除不方便,事先估計(jì)存儲(chǔ)空間。②線性鏈表:順序(訪問)存取、插入、刪除方便,查找不方便,不必事先估計(jì)存儲(chǔ)空間。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)4棧和隊(duì)列1.棧(1)棧是一種特殊的線性表,其特殊性是插入與刪除運(yùn)算都只在線性表的一端進(jìn)行。即棧的一個(gè)考點(diǎn):入棧和退棧都是在一端(棧頂)進(jìn)行的。(2)棧在計(jì)算機(jī)中進(jìn)行存儲(chǔ)時(shí)通常采用的存儲(chǔ)方式有順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。(3)棧的原則是先進(jìn)后出、后進(jìn)先出。2.隊(duì)列(1)隊(duì)列是一個(gè)允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表。即隊(duì)列的一個(gè)考點(diǎn):隊(duì)列的入隊(duì)運(yùn)算是在隊(duì)尾進(jìn)行的,而退隊(duì)運(yùn)算是在隊(duì)頭進(jìn)行的。(2)隊(duì)列在計(jì)算機(jī)中進(jìn)行存儲(chǔ)時(shí)通常買用的存儲(chǔ)方式有順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。(3)隊(duì)列的原則是先進(jìn)先出、后進(jìn)后出。(4)循環(huán)隊(duì)列是隊(duì)列在計(jì)算機(jī)存儲(chǔ)空間中采用順序存儲(chǔ)結(jié)構(gòu)進(jìn)行存儲(chǔ)的一種形式。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)4棧和隊(duì)列3.循環(huán)隊(duì)列循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu),用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指針指向排頭元素的前一個(gè)位置,因此,從排頭指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)5樹與二叉樹(1)樹是一種簡單的非線性結(jié)構(gòu)。在樹中,所有數(shù)據(jù)元素之間的關(guān)系具有明顯的層次特性。樹的根書點(diǎn)可以沒有或有一個(gè)。(2)二叉樹的性質(zhì)如下。性質(zhì)1:在二叉樹的第上層上至多有2k-1個(gè)節(jié)點(diǎn)(k≥1)。性質(zhì)2:深度為四的二叉樹至多有2m-1個(gè)節(jié)點(diǎn)。性質(zhì)3:對(duì)任何一棵二叉樹,度為0的節(jié)點(diǎn)(即葉子節(jié)點(diǎn))總是比度為2的節(jié)點(diǎn)多一個(gè)。性質(zhì)4:具有n個(gè)節(jié)點(diǎn)的完全二叉樹的深度至少為[log2n]+1,其中[log2n]表示log2n的整數(shù)部分。(3)二叉樹的特殊情記:滿二叉樹、完全二叉樹。滿二叉樹:每一層的節(jié)點(diǎn)都達(dá)到了最多。完全二叉樹:除最后一層外,每一層上的節(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺少右邊的若干節(jié)點(diǎn)。完全二叉樹中的度為1的節(jié)點(diǎn)個(gè)數(shù)為1或0。滿二叉樹也是完全二叉樹,反之,完全二叉樹不一定是滿二叉樹。性質(zhì)5:具有n個(gè)節(jié)點(diǎn)的完全二叉樹深度為[log2n]+1或[log2(n+1)]。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)5樹與二叉樹2.二叉樹的遍歷方法二叉樹遍歷可以分為3種:前序遍歷(訪問根節(jié)點(diǎn)在訪問左子樹和訪問右子樹之前)、中序遍歷(訪問根節(jié)點(diǎn)在訪問左子樹和訪問右子樹兩者之間)、后序遍歷(訪問根節(jié)點(diǎn)在訪問左子樹和訪問右子樹之后)。前序遍厲(先序遍厲)在不重復(fù)訪問二叉樹時(shí),先訪問根節(jié)點(diǎn),再訪問左子樹,最后訪問右子樹。并且,在訪問左子樹和右子樹時(shí)仍先訪問根節(jié)點(diǎn),再訪問左子樹,最后訪問右子樹。(2)中序遍厲在不重復(fù)訪問二叉樹時(shí),先訪問左子樹,再訪問根節(jié)點(diǎn),最后訪問右子樹。并且,在訪問左子樹和右子樹時(shí)仍先訪問左子樹,再訪問根節(jié)點(diǎn),最后訪問右子樹。(3)后序遍歷在不重復(fù)訪問二叉樹時(shí),先訪問左子樹,再訪問右子樹,最后訪問根節(jié)點(diǎn)。并且,在訪問左子樹和右子樹時(shí)仍先訪問左子樹,再訪問右子樹,最后訪問根節(jié)點(diǎn)。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)6查找技術(shù)查找的方法有兩種:順序查找、二分法查找(對(duì)分查找)。①順序查找:順序查找在最壞的情況下需要比較n次,即時(shí)間復(fù)雜度為n。②二分法查找(對(duì)分查找):二分法查找在最壞的情況下需要比較log2n次,即時(shí)間復(fù)雜度為log2n。注意:只有在順序存儲(chǔ),并且是有序表的情況下才可以進(jìn)行二分法查找。1.1數(shù)據(jù)結(jié)構(gòu)與算法01考點(diǎn)7排序技術(shù)排序是指將一個(gè)無序序列整理成按值非遞減順序排列的有序序列。常見排序的比較次數(shù)如下。①交換類:冒泡排序法:n(n-1)/2;快速排序法:最壞情況下也比較n(n-1)/2次。②插入類:簡單插入排序法:n(n-1)/2;希爾排序法:O(n1.5)。③選擇類:簡單選擇排序法:n(n-1)/2;堆排序法:O(nlog2n)。程序設(shè)計(jì)基礎(chǔ)02TWO1.2程序設(shè)計(jì)基礎(chǔ)01考點(diǎn)8程序設(shè)計(jì)方法與風(fēng)格考點(diǎn)9結(jié)構(gòu)化程序設(shè)計(jì)(1)程序設(shè)計(jì)的風(fēng)格注重的是清晰第一、效率第二。(2)要使程序的清晰達(dá)到最好,我們?cè)诔绦蛟O(shè)計(jì)的過程中將源程序文檔化。①符號(hào)名的命名應(yīng)具有一定的實(shí)際含義,以便于讀者理解。②程序中的注釋要盡量多,程序中的注釋又分為序言性注釋、功能性注釋。③視覺組織要合理。(1)結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)有3種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。(2)結(jié)構(gòu)化程序設(shè)計(jì)的基本原則有4種:自頂向下、逐步求精、模塊化、限制使用語句。1.2程序設(shè)計(jì)基礎(chǔ)01考點(diǎn)10面向?qū)ο蟮某绦蛟O(shè)計(jì)(1)對(duì)象:客觀世界中任何的實(shí)體稱為對(duì)象。對(duì)象的特點(diǎn):標(biāo)識(shí)唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性。(2)類:具有共同屬性、共同方法的對(duì)象的集合,即類是從對(duì)象抽象出來的。(3)實(shí)例:類中的實(shí)例稱為對(duì)象;對(duì)象是類的實(shí)例。(4)消息:對(duì)象間傳遞信息的手段。(5)繼承:類之間共享屬性和操作的機(jī)制。繼承的優(yōu)點(diǎn)是可以提高軟件的可重用性。(6)總結(jié):類具有封裝性,模塊具有獨(dú)立性,信息具有隱蔽性,繼承具有傳遞性。軟件工程基礎(chǔ)03THREE1.3軟件工程基礎(chǔ)01考點(diǎn)11軟件工程的基本概念1.軟件(1)軟件是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。(2)軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(工具軟件)。2.軟件工程(1)定義:軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理、采用工程化原則和方法開發(fā)軟件系統(tǒng)。它不僅可以解決軟件開發(fā)中的技術(shù)問題,還可以解決軟件項(xiàng)目的管理問題和軟件產(chǎn)品的生產(chǎn)率問題。(2)3個(gè)要素:方法、工具和過程。(3)核心思想:盡可能多地使用工程科學(xué)的原理來指導(dǎo)工作。(4)達(dá)到目標(biāo),要研究的內(nèi)容:軟件開發(fā)技術(shù)、軟件工程管理。(5)原則:抽象、信息隱薇、模塊化、局部化等。(6)軟件開發(fā)環(huán)境:軟件工具的集合。1.3軟件工程基礎(chǔ)01考點(diǎn)11軟件工程的基本概念3.軟件生命周期(1)軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。軟件生命周期分為以下3個(gè)階段。①定義階段:提出、分析和定義。②開發(fā)階段:編碼、測試。③維護(hù)階段:維護(hù)軟件的功能,對(duì)軟件的功能進(jìn)行增加和刪改。此階段最重要,而且所花費(fèi)用也最高。1.3軟件工程基礎(chǔ)01考點(diǎn)12結(jié)構(gòu)化分析方法需求分析任務(wù):準(zhǔn)確地確定軟件系統(tǒng)必須做什么,確定軟件系統(tǒng)必領(lǐng)具備哪些功能。階段:①需求獲取;②需求分析:③編寫需求規(guī)格說明書;④需求評(píng)審。在需求分析中,分析方法可以分為結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒?。結(jié)構(gòu)化分析方法是常用的一種,其目的是幫助弄清用戶對(duì)軟件的需求。結(jié)構(gòu)化分析方法中常使用的工具有4種:數(shù)據(jù)流圖、數(shù)據(jù)字典、判定表、判定樹。(1)數(shù)據(jù)流圖(DFD):圖形中的箭頭表示“數(shù)據(jù)流”。(2)數(shù)據(jù)字典(DD):字典的作用是解釋;也是結(jié)構(gòu)化分析方法的核心。2.軟件需求規(guī)格說明書軟件需求規(guī)格說明書的作用如下。(1)便于用戶、開發(fā)人員進(jìn)行理解和交流。(2)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)。(3)作為確認(rèn)測試和驗(yàn)收的依據(jù)。(4)軟件需求規(guī)格說明書的特點(diǎn):無歧義性這一特點(diǎn)是其中最為重要的。1.3軟件工程基礎(chǔ)(1)按技術(shù)觀點(diǎn)來分類:結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。(2)按工程管理角度分類:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)。①概要設(shè)計(jì):將軟件的功能進(jìn)行分解。?概要設(shè)計(jì)的工具:結(jié)構(gòu)圖(SC)。?結(jié)構(gòu)圖中的箭頭表示調(diào)用關(guān)系;深度表示控制的層數(shù);寬度表示跨度主數(shù)目。②詳細(xì)設(shè)計(jì):確定每個(gè)模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu)。?詳細(xì)設(shè)計(jì)的工具:程序流程圖(PFD)、N-S、PAD、HIPO、判定表、PDL。?程序流程圖中的箭頭表示控制流。?N-S是用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖的。01考點(diǎn)13結(jié)構(gòu)化設(shè)計(jì)方法1.3軟件工程基礎(chǔ)01考點(diǎn)13結(jié)構(gòu)化設(shè)計(jì)方法(3)軟件設(shè)計(jì)的《原則)原理:抽象、模塊化、信息隱蔽、模塊獨(dú)立性。其中模塊獨(dú)立性這一原則非常重要,其考點(diǎn)是:模塊要想盡可能獨(dú)立,必須要遵循“高可聚、低耜合”的設(shè)計(jì)原則。模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量:一個(gè)是男合性,日來衡量不同模塊彼此問互相依賴(連接)的緊密程度:另一個(gè)是內(nèi)聚性,用來衡量一個(gè)其塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。(4)數(shù)據(jù)流的類型有兩類:變換型、事務(wù)型。1.3軟件工程基礎(chǔ)01考點(diǎn)14軟件測試(1)軟件測試的實(shí)施(過程):單元測試、集成測試、確認(rèn)測試(驗(yàn)收測試)、系統(tǒng)測試。①單元測試:目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。②集成測試:目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。③確認(rèn)測試(驗(yàn)收測試):測試是否滿足需求分析。④系統(tǒng)測試:將軟件系統(tǒng)與硬件系統(tǒng)、外設(shè)等其他部件結(jié)合到一起,對(duì)整個(gè)軟件系統(tǒng)測試。1.3軟件工程基礎(chǔ)01考點(diǎn)14軟件測試(2)軟件測試的方法如下。按是否需要執(zhí)行被測軟件可以分為靜態(tài)測試、動(dòng)態(tài)測試。①靜態(tài)測試:不由計(jì)算機(jī)執(zhí)行程序代碼,主要是通過人看出程序錯(cuò)誤。②動(dòng)態(tài)測試:有計(jì)算機(jī)執(zhí)行程序進(jìn)行測試,是基于計(jì)算機(jī)的測試。按照功能劃分,可以分為白盒測試和黑盒測試。①白盒測試:內(nèi)部結(jié)構(gòu)的測試,又稱為“路徑測試”。白盒測試的方法包括:邏輯覆蓋測試、基本路徑測試等。②黑盒測試:外部接口的功能測試。黑盒測試的方法包括:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖法等。1.3軟件工程基礎(chǔ)01考點(diǎn)15程序調(diào)試(1)程序調(diào)試的目的:改正錯(cuò)誤。(2)程序調(diào)試的方法:強(qiáng)行排錯(cuò)法、回溯法、原因排除法。數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)04FOUR1.4數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)01考點(diǎn)16數(shù)據(jù)庫系統(tǒng)的基本概念1.基本概念(1)數(shù)據(jù)庫系統(tǒng)(DBS)的組成主要有數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)。①數(shù)據(jù)庫(DB):存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的結(jié)構(gòu)化的相關(guān)數(shù)據(jù)集合。②數(shù)據(jù)庫管理系統(tǒng)(DBMS):對(duì)數(shù)據(jù)庫進(jìn)行建立、使用和維護(hù)而配置的軟件。其中數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。(2)數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言:數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操縱語言(DML)、數(shù)據(jù)控制語言(DCL)。①數(shù)據(jù)定義語言(DDL):負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存儲(chǔ)構(gòu)建。②數(shù)據(jù)操縱語言(DML):負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作。③數(shù)據(jù)控制語言(DCL):負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。1.4數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)01考點(diǎn)16數(shù)據(jù)庫系統(tǒng)的基本概念2.數(shù)據(jù)管理的發(fā)展(1)數(shù)據(jù)管理發(fā)展至今己經(jīng)歷了3個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。(2)數(shù)據(jù)庫系統(tǒng)的特點(diǎn)如下。①數(shù)據(jù)的共享性高。②數(shù)據(jù)的冗余性低。③數(shù)據(jù)的獨(dú)立性高。其中的數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)與程序之間互不依賴。數(shù)據(jù)獨(dú)立性叉分為物理獨(dú)立性、邏輯獨(dú)立性。3.數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)(1)三級(jí)模式:外模式、概念模式、內(nèi)模式。①外模式是用戶可以見到的模式。也稱子模式或用戶模式。②內(nèi)模式是和物理數(shù)據(jù)庫打交道的,也稱物理模式。(2)兩級(jí)映射:概念模式→內(nèi)模式、外模式→概念模式。1.4數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)01考點(diǎn)17數(shù)據(jù)模型1.E-R模型(1)E-R模型又稱E-R圖,由一些基本圖形組成,圖形有矩形、補(bǔ)圓、菱形。①矩形:表示實(shí)體。②橢圓:表示屬性。③菱形:表示聯(lián)系。(2)實(shí)體與實(shí)體之間的聯(lián)系有了種:一對(duì)一、一對(duì)多、多對(duì)多。1.4數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)2.數(shù)據(jù)模型(1)數(shù)據(jù)庫的數(shù)據(jù)模型分為層次、關(guān)系和網(wǎng)狀3種。①用樹形結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系的模型稱為層次模型,模型中節(jié)點(diǎn)是實(shí)體,樹枝是聯(lián)系,從上到下是一對(duì)多的關(guān)系。②用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間聯(lián)系的模型稱為網(wǎng)狀模型,它是層次模型的擴(kuò)展,表示多個(gè)從屬關(guān)系的層次結(jié)構(gòu),呈現(xiàn)一種交叉關(guān)系。③關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一,在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體問的各種聯(lián)系均用關(guān)系來表示。01考點(diǎn)17數(shù)據(jù)模型1.4數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)(2)關(guān)系模型就是用二維表來組織數(shù)據(jù)的,關(guān)系模型中又涉及如下概念。①關(guān)系:一張二維表。②屬性:二維表中的列(字段)。③元組:二維表中的行(記錄)。④域:二維表中列的取值范圍。⑤關(guān)鍵字:能區(qū)分關(guān)系中每一行的列。⑥關(guān)系中的數(shù)據(jù)約束:實(shí)體完整性約束、參照完整性約東、用戶定義的完整性約束。01考點(diǎn)17數(shù)據(jù)模型1.4數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)01考點(diǎn)18關(guān)系代數(shù)(1)并運(yùn)算:兩個(gè)關(guān)系進(jìn)行并運(yùn)算,就是把兩個(gè)關(guān)系上下合并。(2)差運(yùn)算:兩個(gè)關(guān)系進(jìn)行差運(yùn)算,就是把兩個(gè)關(guān)系中相同的行去掉,剩下來的就是結(jié)果。(3)交運(yùn)算:兩個(gè)關(guān)系進(jìn)行交運(yùn)算,就是把兩個(gè)關(guān)系中相同的行留下,作為結(jié)果。(4)專門的關(guān)系運(yùn)算(查詢):選擇、投影、連接。①選擇:對(duì)滿足條件的記錄進(jìn)行篩選,選擇行。②投影:對(duì)想要的列進(jìn)行操作,投影列。③連接:通??疾熳匀贿B接和笛卡兒積連接。?笛卡兒積連接,就是用第一個(gè)關(guān)系的每個(gè)記錄連接第二個(gè)關(guān)系的每個(gè)記錄,新關(guān)系的記錄數(shù)為兩個(gè)關(guān)系記錄的乘積,屬性為兩個(gè)關(guān)系的和,重復(fù)序列只出現(xiàn)一次。?自然連接:相對(duì)于笛卡兒積,必須有相同屬性,且屬性值相等時(shí)兩個(gè)記錄才連接,如關(guān)系R有C屬性,工關(guān)系也有C屬性,同時(shí)相同值為C1和C2。1.4數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)01考點(diǎn)19數(shù)據(jù)庫的設(shè)計(jì)與管理數(shù)據(jù)庫設(shè)計(jì)是數(shù)據(jù)應(yīng)用的核心。數(shù)據(jù)庫設(shè)計(jì)的兩種方法如下。(1)面向數(shù)據(jù):以信息需求為主,兼顧處理需求。(2)面向過程:以處理需求為主,兼顧信息需求。數(shù)據(jù)庫設(shè)計(jì)階段包括需求分析、概念分析、邏輯設(shè)計(jì)、物理設(shè)計(jì)。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第二章C語言概述C語言基礎(chǔ)知識(shí)01ONE2.1C語言基礎(chǔ)知識(shí)考點(diǎn)1C語言程序(1)C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言,有3中基本結(jié)構(gòu):順序、選擇、循環(huán)。(2)C語言的執(zhí)行過程如圖所示。2.1C語言基礎(chǔ)知識(shí)考點(diǎn)2C語言程序的構(gòu)成(1)C語言程序由函數(shù)構(gòu)成,一個(gè)C語言程序有且僅有一個(gè)main函數(shù)。(2)一個(gè)函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。函數(shù)體包括聲明部分和執(zhí)行部分。(3)一個(gè)C語言程序總是從main函數(shù)開始執(zhí)行,即程序的入口,由main函數(shù)結(jié)束,即程序的出口。標(biāo)識(shí)符02TWO2.2標(biāo)識(shí)符考點(diǎn)3標(biāo)識(shí)符1.命名規(guī)則(1)標(biāo)識(shí)符中只能包含字母(a~z,A~Z),數(shù)字(0~9),下畫線(_)。(2)第一個(gè)字符必須是字母或下面線。(3)區(qū)分大小寫宇母,即main和Main不同。2.標(biāo)識(shí)符的分類(1)關(guān)鍵字(32個(gè))。有固定含義,不可改變。類型說明符:int、float、double等;語句定義符:if、for、while等。(2)預(yù)定義標(biāo)識(shí)符。有特殊含義,可以改變。庫函數(shù)的名字:printf、scanf等;編譯預(yù)處理命令名:include等。(3)用戶自定義的標(biāo)識(shí)符。格式合法;不能使用關(guān)鍵字;見名知意。常量03THREE2.3常量考點(diǎn)4常量1.整型常量(1)十進(jìn)制整常數(shù):沒有前綴,其數(shù)碼為0~9。例如,65539,-568。(2)八進(jìn)制整常數(shù):以0開頭,其數(shù)碼為0~7。例如,015。(3)十六進(jìn)制整常數(shù):以0X或0x開頭,其數(shù)碼為0~9,A~F或a~f。例如,0x2A。(4)長整型數(shù):整型常數(shù)后綴為L或l。例如,358000L。(5)無符號(hào)數(shù):整型常數(shù)后級(jí)為U或u。例如,158u。2.實(shí)型常量的形式小數(shù)形式:必須有小數(shù)點(diǎn),小數(shù)點(diǎn)前后不能同時(shí)沒有數(shù)字。指數(shù)形式:aEn(其中a表示十進(jìn)制數(shù),E階碼標(biāo)志,n階碼)。E前、E后必須有數(shù)字,E后必為整數(shù),可以帶符號(hào)。例如,2.1E-3、5E8。2.3常量考點(diǎn)4常量3.字符常量用單引號(hào)’’括起來的一個(gè)宇符。包括普通宇符常量和轉(zhuǎn)義宇符。(1)普通宇符常量:如‘a(chǎn)’、’A’、‘1’。(2)轉(zhuǎn)義字符:由一對(duì)單引號(hào)引起來的以’\’開頭的若干字符的組合。如’\n’表示回車換行、’\\’表示反斜線符、’\’’表示單引號(hào)符、’\‘’’表示雙引號(hào)、’\ddd’表示八進(jìn)制數(shù)、’\xhh’表示十六進(jìn)制數(shù)。變量04FOUR2.4變量考點(diǎn)5

變量1.整型變量和實(shí)型變量以考試標(biāo)準(zhǔn)Visual++6.0為例,說明各類型變量所占的位數(shù)。2.字符變量一個(gè)字符變量只能存放一個(gè)字符。字符串不能存放在字符變量中,只能用字符數(shù)組或指針存放字符串。2.4變量考點(diǎn)6ASCII碼(1)空格的ASCII碼值是0;‘0’的ASCII碼值為48;‘A’的ASCII碼值為65;‘a(chǎn)’的ASCII碼值為97。(2)大寫字母與小寫字母的ASCII碼值相差32??键c(diǎn)7

進(jìn)制轉(zhuǎn)換(1)十進(jìn)制轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制:將十進(jìn)制的數(shù)字除以2(8、16),得到的商數(shù)繼續(xù)除以2,直到商為。為止,然后將各次相除所得的余數(shù)從后往前排列。(2)二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制:將二(八、十六)進(jìn)制數(shù)的每一位數(shù)從高位到低位乘以2的n-1次冪,n為該位所在的位數(shù)。(3)二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換:從低位到高位,3位二進(jìn)制數(shù)字轉(zhuǎn)換成八進(jìn)制數(shù)字。(4)二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換:從低位到高位,4位二進(jìn)制數(shù)字轉(zhuǎn)換成十六進(jìn)制數(shù)字。數(shù)據(jù)類型05FIVE2.5數(shù)據(jù)類型考點(diǎn)8數(shù)據(jù)類型數(shù)據(jù)類型是現(xiàn)實(shí)數(shù)據(jù)的呈現(xiàn)。例如,一個(gè)人的身高、年齡、性別等信息。身高定義成實(shí)型(float)1.8,年齡定義成整型(int)20,性別定義成字符型(char)m男性。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第三章運(yùn)算符與表達(dá)式C語言運(yùn)算符01ONE3.1C語言運(yùn)算符01考點(diǎn)1C語言運(yùn)算符簡介01考點(diǎn)2運(yùn)算符的優(yōu)先級(jí)C語言的運(yùn)算符分為算數(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符和逗號(hào)運(yùn)算符等。另外,按照參與運(yùn)算的對(duì)象的個(gè)數(shù)可以分為單目運(yùn)算符、雙目運(yùn)算符、三目運(yùn)算符。(1)C語言運(yùn)算符中,單日運(yùn)算符、條件運(yùn)算符和賦值運(yùn)算符及其擴(kuò)展運(yùn)算符,結(jié)合方向都是從右向左,其余運(yùn)算符的結(jié)合方向?yàn)閺淖笙蛴摇?2)運(yùn)算優(yōu)先級(jí)由大到?。哼壿嫹?gt;算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯與>邏輯或>條件運(yùn)算符>賦值運(yùn)算符>逗號(hào)運(yùn)算符。算數(shù)運(yùn)算符02TWO3.2算數(shù)運(yùn)算符01考點(diǎn)3算術(shù)運(yùn)算符算數(shù)運(yùn)算符的分類:+、+、ー、*、/、%注意:?%:參與運(yùn)算的量均為整型。?/:當(dāng)除號(hào)左右兩邊都是整數(shù)時(shí),商也要是整數(shù),如果不是整數(shù)則舍棄小數(shù)部分,相當(dāng)于求整運(yùn)算;當(dāng)參與運(yùn)算量有一個(gè)為實(shí)型時(shí),則商為double型。自增和自減運(yùn)算符03THREE3.3自增和自減運(yùn)算符01考點(diǎn)4自增自減運(yùn)算符?++i:i自加1后再參與運(yùn)算。?--i:

i自減1后再參與運(yùn)算。?i++:i參與運(yùn)算后再自加1。?i--:i參與運(yùn)算后再自減1。例如,若有定義語句:inta=5,b;,則表達(dá)式:b=a++;b的值是5。因?yàn)?,b的值為表達(dá)式a++的值是a未加1之前的值,即5。注意:(1)++和--的運(yùn)算對(duì)象只能為變量,不能是常量或表達(dá)式。(2)當(dāng)++或--與printf語句結(jié)合時(shí),若++/--x的形式,則先自增/自減,然后輸出;若x++/--的形式,則先輸出x原值,在進(jìn)行自增/自減操作。賦值表達(dá)式04FOUR3.4賦值表達(dá)式01考點(diǎn)5賦值表達(dá)式(1)一般形式:變量名一表達(dá)式。注意:①賦值運(yùn)算符左邊必須是變量,而不是表達(dá)式。②=是賦值符號(hào),==是等號(hào)。強(qiáng)制類型轉(zhuǎn)換05FIVE3.5強(qiáng)制類型轉(zhuǎn)換01考點(diǎn)6強(qiáng)制類型轉(zhuǎn)換運(yùn)算符一般形式:(類型說明)(表達(dá)式)功能:把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。逗號(hào)表達(dá)式06SIX3.6逗號(hào)表達(dá)式01考點(diǎn)7逗號(hào)表達(dá)式一般形式:表達(dá)式1,表達(dá)式2,…,表達(dá)式n。求值過程:自左向右依次求解,最后一個(gè)表達(dá)式的值為整個(gè)逗號(hào)表達(dá)式的值。位運(yùn)算07SEVEN3.7位運(yùn)算01考點(diǎn)8位運(yùn)算C語言提供了6種位運(yùn)算符。說明:(1)位運(yùn)算符中除~以外,都是二元運(yùn)算符,即要求運(yùn)算符兩側(cè)各有一個(gè)操作數(shù)。(2)位運(yùn)算只能作用于整型或字符型數(shù)據(jù),不能是實(shí)型數(shù)據(jù)。(3)位運(yùn)算符的優(yōu)先性從高到低的顧序?yàn)椋骸皛”→“>>、<<”→“&”→“^”→“|”。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第四章順序結(jié)構(gòu)語句的分類01ONE4.1語句的分類01考點(diǎn)1C語句的分類1.控制語句控制語句實(shí)現(xiàn)對(duì)程序流程執(zhí)行的控制,可以是選擇、循環(huán)、轉(zhuǎn)向和返回等控制語句。C語言包括8種控制語句。2.函數(shù)調(diào)用語句函數(shù)調(diào)用語句是函數(shù)后面加一個(gè)分號(hào),例如:Printf(“HelloWorld”);3.表達(dá)式語句表達(dá)式語句是表達(dá)式后面加一個(gè)分號(hào),例如:a+b;4.1語句的分類01考點(diǎn)1C語句的分類4.復(fù)合語句在C語言中,{}不僅可以用于函數(shù)體開始和結(jié)束的標(biāo)記,也可以作為復(fù)合語句開始和結(jié)束的標(biāo)記。5.空語句在C語言中,語句結(jié)束的標(biāo)志是“;”,如果只有一個(gè)分號(hào),則該語句就是空語句。雖然什么也不做,但它是一條語句。提示:語句的標(biāo)志是“;”,在for循環(huán)、if等語句中注意分號(hào)位置,錯(cuò)誤添加“;”,導(dǎo)致循環(huán)體或分支語句邏輯錯(cuò)誤。數(shù)據(jù)的輸入與輸出02TWO4.2數(shù)據(jù)的輸入與輸出01考點(diǎn)2

格式輸出函數(shù)printf()printf函數(shù)是標(biāo)準(zhǔn)輸出函數(shù),其功能是在終端設(shè)備上按指定格式進(jìn)行輸出。(1)一般形式:printf("格式控制",輸出項(xiàng)序列);例如:Printf("a=%d,b=%c",a,b)其中,“a=%d,b=%c"稱為格式控制字符串,a、b是輸出項(xiàng)序列中的輸出項(xiàng),是printf函數(shù)的兩部分參數(shù)。說明:①格式控制字符串。遇到控制字符,按照控制字符的規(guī)定輸出,遇到非格式字符串按原樣輸出??刂谱址桑ズ透袷阶址M成。②輸出列表。準(zhǔn)備輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。4.2數(shù)據(jù)的輸入與輸出01考點(diǎn)2

格式輸出函數(shù)printf()(2)格式字符。可以在%和格式字符之間插入“寬度說明”、左對(duì)齊符“-”等。①d格式字符。用來輸出十進(jìn)制整數(shù)。其用法如下:(a)%d,按型數(shù)據(jù)的實(shí)際長度輸出,例如:printf(“%d,\n”,x);如果x=789,則輸出結(jié)果為:789(b)%ld,輸出長整型數(shù)據(jù),例如:printf(“%ld,\n",a);如果a被定義為:longinta=56789;則輸出結(jié)果為:56789如果用%d格式輸出就會(huì)出錯(cuò),因?yàn)檎蛿?shù)據(jù)的范國是-32768~-32767。對(duì)超出此范國的1ong型數(shù)據(jù)應(yīng)用%ld格式輸出。(c)%-md,m是指定的輸出字符寬度。如果數(shù)據(jù)的位數(shù)小于m,則輸出共占m位,數(shù)據(jù)左靠齊,右邊補(bǔ)空格,若省路“-”號(hào),則右靠齊,左邊補(bǔ)空格;如果數(shù)據(jù)的位數(shù)大于m,則按實(shí)際位數(shù)輸出。4.2數(shù)據(jù)的輸入與輸出01考點(diǎn)2

格式輸出函數(shù)printf()②f格式字符。用來輸出安數(shù)(包括単精度、雙精度),以小數(shù)形式輸出。其用法如下。(a)%f,實(shí)數(shù)的整數(shù)部分全部輸出,小數(shù)部分保留6位。需要指出的是,并非全部數(shù)宇都是有效數(shù)字。單精度實(shí)數(shù)的有效位數(shù)一般是7位,雙精度實(shí)數(shù)的有效位數(shù)一般是16位。(b)%mf,輸出的實(shí)數(shù)共占m位,小數(shù)部分保留6位。(c)%.nf,輸出的實(shí)數(shù),總寬度按實(shí)際寬度,小數(shù)部分占n位。(d)%-m.nf,輸出的實(shí)數(shù)包括小數(shù)點(diǎn)在內(nèi)共占m位,其中小數(shù)部分占n位。如果數(shù)據(jù)的實(shí)際寬度小于m,則左靠齊,右邊補(bǔ)空格,省略“-”時(shí),右靠齊,左邊補(bǔ)空格。③c格式字符。用來輸出一個(gè)字符。4.2數(shù)據(jù)的輸入與輸出01考點(diǎn)2

格式輸出函數(shù)printf()④s格式字符。用來輸出一個(gè)字符串。其用法如下。(a)%s,按原樣輸出一個(gè)字符串。(b)%-ms,與整數(shù)輸出格式“%-md”類似。(c)%m.ns,輸出占m列,但只取字符串中左邊n個(gè)字符。這n個(gè)字符輸出在m列的右邊,左邊補(bǔ)空格。(d)%-m.ns,n個(gè)字符輸出在m列范圍的左邊,右邊補(bǔ)空格。若n>m,則m自動(dòng)取n值,即保證n個(gè)字符正常輸出。(3)附加格式字符4.2數(shù)據(jù)的輸入與輸出01考點(diǎn)3

格式輸入函數(shù)scanf()一般形式:scanf("格式控制字符串”,地址列表)。(2)說明:若格式控制字符串中有非格式字符串,則按原樣輸入。若格式控制字符串中沒有非格式字符作輸入數(shù)據(jù)之間的問隔,則可用空格、Tab、回車做間隔。(3)在輸入字符數(shù)據(jù)時(shí),若格式控制字符串中無非格式字符,則認(rèn)為所有輸入的字符均為有效字符??崭駮?huì)被當(dāng)作字符賦值給變量。(4)格式字符串。一般形式:%[*][輸入數(shù)據(jù)寬度][長度]類型。*表示該輸入項(xiàng),讀入后不賦予相應(yīng)的變量。輸入數(shù)據(jù)寬度:用十進(jìn)制數(shù)制定輸入的字符數(shù)。4.2數(shù)據(jù)的輸入與輸出01考點(diǎn)4字符輸出函數(shù)putchar()調(diào)用putchar和getchar時(shí),必須在程序開頭包含頭文件“stdio.h”,如#include<stdio.h>或#nclude"stdio.h"。功能:putchar函數(shù)的作用是向終端輸出一個(gè)字符。一般形式:putchar(宇符)。說明:字符可以是字符常量、變量,也可以是ASCII字符。4.2數(shù)據(jù)的輸入與輸出01考點(diǎn)5

字符輸入函數(shù)getchar()功能:getchar函數(shù)的作用是從終端輸入一個(gè)字符。一般形式:getchar();或ch=getchar();。說明:如果輸入一串字符,只能接收首字母。getchar經(jīng)常作為while循環(huán)條件,判斷輸入哪一個(gè)字符時(shí),循環(huán)結(jié)束。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第五章選擇結(jié)構(gòu)關(guān)系運(yùn)算符和表達(dá)式01ONE5.1關(guān)系運(yùn)算符和表達(dá)式考點(diǎn)1關(guān)系運(yùn)算符和表達(dá)式1.邏輯值C語言中,參與邏輯運(yùn)算的量為非零值或整數(shù)零,非零值和整數(shù)零分別表示運(yùn)算量為“真”或“假”。邏輯運(yùn)算的結(jié)果值,即邏輯表達(dá)式的值應(yīng)是一個(gè)邏輯值“真”或“假”,但在判斷一個(gè)量是否為“真”時(shí),以0代表“假”,以非0代表“真”。2.關(guān)系運(yùn)算關(guān)系運(yùn)算實(shí)際上就是“比較運(yùn)算”,將兩個(gè)數(shù)進(jìn)行比較,判斯比較的結(jié)果是否符合指定的條件。關(guān)于關(guān)系運(yùn)算符的說明如下。(1)<、<=、>=的優(yōu)先級(jí)別相同,==、!=也相同。前4種優(yōu)先級(jí)別高于后兩種。(2)關(guān)系運(yùn)算符與算術(shù)運(yùn)算符、賦值運(yùn)算符的優(yōu)先級(jí)關(guān)系如下。算術(shù)運(yùn)算符(高)→關(guān)系運(yùn)算符(中)→賦值運(yùn)算符(低),即算術(shù)運(yùn)算符優(yōu)先級(jí)別高于關(guān)系運(yùn)算符,關(guān)系運(yùn)算符優(yōu)先級(jí)別又高于賦值運(yùn)算符。(3)關(guān)系運(yùn)算符的結(jié)合方向是“自左向右”。邏輯運(yùn)算符和表達(dá)式02TWO5.2邏輯運(yùn)算符和表達(dá)式考點(diǎn)2邏輯運(yùn)算符和表達(dá)式通過邏輯運(yùn)算符運(yùn)算就是邏輯還算,C語言提供3種邏輯運(yùn)算符,分別是與(&&)、或(||)和非(?。jP(guān)于邏輯運(yùn)算符的說明如下。(1)邏輯運(yùn)算符優(yōu)先級(jí)從高到低:!、&&、||。(2)進(jìn)行邏輯運(yùn)算時(shí),若&&左邊的值為0,則不再對(duì)右邊的運(yùn)算對(duì)象進(jìn)行運(yùn)算,整個(gè)表達(dá)式的值為0。(3)進(jìn)行邏輯運(yùn)算時(shí),若||左邊的值為1,則不再對(duì)在邊的運(yùn)算對(duì)象進(jìn)行運(yùn)算,整個(gè)表達(dá)式的值為1。(4)邏輯運(yùn)算符連接起來的表達(dá)式為邏輔表達(dá)式。If語句03THREE5.3if語句考點(diǎn)3

if語句1.If語句的3種形式(1)if單分支語句。If(表達(dá)式)語句體(2)if雙分支語句。If(表達(dá)式)語句體1else語句體2(3)f語向的嵌套。If(表込式)If表込式)語句體1else語句體2elseif表達(dá)式)語句體3else語句體5.3if語句考點(diǎn)3

if語句2.if語句的順序表達(dá)式成立,執(zhí)行if后面的語句或語句體,不成立則執(zhí)行else語句,無else語句則退出if語句。3.if語句的說明(1)if(表達(dá)式),其中表達(dá)式可以是任意合法的C語言表達(dá)式,如a>1。(2)對(duì)于單個(gè)if語句,其后跟隨的受if控制的只能是1個(gè)語句或者1個(gè)復(fù)合語句。(3)else不能作為獨(dú)立的語句存在,它必須與if配對(duì)使用。(4)內(nèi)嵌結(jié)構(gòu)中,else總是與前面最近的且未曾配對(duì)的if語句配對(duì),組成一對(duì)if-else語句。條件表達(dá)式04FOUR5.4條件表達(dá)式考點(diǎn)4

條件表達(dá)式1.一般形式表達(dá)式1?表達(dá)式2:表達(dá)式32.執(zhí)行過程表達(dá)式1的值為真,條件表達(dá)式取表達(dá)式2的值;表達(dá)式1的值為假,條件表達(dá)式取表法式3的値。提示:條件表達(dá)式和if語句可以相互轉(zhuǎn)換,但在輸出語句中,可以直按寫條件表達(dá)式,以便于閱讀和書寫。Switch語句05FIVE5.5switch語句一條if語句實(shí)現(xiàn)兩個(gè)分支的選擇執(zhí)行,嵌套多個(gè)if語句可以實(shí)現(xiàn)多分支語句,有些情況下利用switch實(shí)現(xiàn)分支更直觀。switch語句格式switch(表達(dá)式){case常量表達(dá)式1;

語句1;break;case常量表達(dá)式2;

語句2;break;……case常量表達(dá)式n;

語句n;break;default;語句n+1;}考點(diǎn)5

switch語句5.5switch語句考點(diǎn)5

switch語句2.switch語句執(zhí)行過程(1)計(jì)算switch后面圓括號(hào)中表達(dá)式的值。(2)用其結(jié)果依次與各個(gè)case的常量表達(dá)式相比較,若圓括號(hào)中表達(dá)式的值與某個(gè)case后面的常量表達(dá)式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇break語句就退出switch語句。(3)若圓括號(hào)中表達(dá)式的值與所有case后面的常量表達(dá)式的值都不相同,則執(zhí)行default后面的語句n+1。(4)執(zhí)行后退出switch語句,退出后程序流程轉(zhuǎn)向switch語句的下一個(gè)語句。3.switch語句的說明(1)switch語句的圓括號(hào)中表達(dá)式的值必須是整型或字符型,不能為實(shí)型。(2)case后的表達(dá)式可以是求得整型和字符型的常量表達(dá)式,但不能含有變量。(3)default的位置對(duì)程序的執(zhí)行沒有影響。5.5switch語句考點(diǎn)5

switch語句計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第六章循環(huán)結(jié)構(gòu)While語句01ONE6.1while語句01考點(diǎn)1while循環(huán)結(jié)構(gòu)1.一般格式while((表達(dá)式){循環(huán)體}2.執(zhí)行過程(1)判斷表達(dá)式是否成立(非0成立,0不成立)。(2)如果成立執(zhí)行循環(huán)體;不成立退出循環(huán)。(3)如果執(zhí)行循環(huán)體,需要再次執(zhí)行步驟(1)和(2)。(4)直至退出循環(huán)。提示:(1)循環(huán)體可以是空語句,循環(huán)本身沒完成任務(wù),但有時(shí)通過空語句循環(huán),控制時(shí)間。(2)如果第一次判斷表達(dá)式的值為0,則一次循環(huán)也不執(zhí)行。即while循環(huán)體最少執(zhí)行0次。do-while語句02TWO6.2do-while語句01考點(diǎn)2do-while循環(huán)結(jié)構(gòu)1.一般格式Do{循環(huán)體}while((表達(dá)式)2.執(zhí)行過程(1)執(zhí)行循環(huán)體。(2)判斷表達(dá)式是否成立(非0成立,0不成立);如果成立繼續(xù)執(zhí)行循環(huán)體;不成立退出循環(huán)。(3)直至退出循環(huán)。提示:do-while循環(huán)體最少執(zhí)行1次循環(huán)體。for語句03THREE6.3for語句01考點(diǎn)3for語句1.基本格式for(表達(dá)式1;表達(dá)式2;表達(dá)式3){

循環(huán)體;}說明:(1)表達(dá)式1,通常為循環(huán)變量賦初值。(2)表達(dá)式2,通常為循環(huán)條件,不成立則停止循環(huán)。(3)表達(dá)式3,通常用于修政循環(huán)變量,從初值向結(jié)束變化。(4)表達(dá)式1、表達(dá)式2、表達(dá)式3可以省略,但兩個(gè)分號(hào)不能省略。(5)表達(dá)式1和表達(dá)式3也可以是逗號(hào)表達(dá)式。6.3for語句01考點(diǎn)3for語句2.執(zhí)行過程(1)執(zhí)行表達(dá)式1。(2)執(zhí)行表達(dá)式2,若成立執(zhí)行(3),若不成立執(zhí)行(5)。(3)執(zhí)行循環(huán)體。(4)執(zhí)行表達(dá)式了,再執(zhí)行(2)。(5)結(jié)束循環(huán),執(zhí)行for語句后面的語向。循環(huán)的嵌套04FOUR6.4循環(huán)的嵌套01考點(diǎn)4

循環(huán)嵌套一個(gè)循環(huán)的循環(huán)體內(nèi)可以包含一個(gè)完整的循環(huán),稱之為嵌套循環(huán)。通常把外層的循環(huán)叫外循環(huán),內(nèi)層的循環(huán)叫內(nèi)循環(huán)。外層循環(huán)、內(nèi)層循環(huán)可以是3種循環(huán)(for、while、do-while)中的任意一種。外層循環(huán)執(zhí)行一次,內(nèi)層循環(huán)執(zhí)行一遍。例如,for(i=1;i<=10;i++)for(j=1;j<=10;i++){循環(huán)體;}執(zhí)行過程:當(dāng)i=1時(shí),j從0遞增到10,執(zhí)行循環(huán)體;當(dāng)i=2時(shí),j從0遞增到10,執(zhí)行循環(huán)體:.....當(dāng)i=10時(shí),j從0遞增到10,執(zhí)行循環(huán)體。break與continue語句05FIVE6.5break與continue語句01考點(diǎn)5break語句01考點(diǎn)6continue語句(1)功能:跳出整個(gè)switch語句;跳出循環(huán)體,防止死循環(huán)。(2)break語句只能出現(xiàn)在switch、while、do-while、for循環(huán)中,不能出現(xiàn)在其他地方。(3)作用范圍:所在循環(huán)體從屬的最內(nèi)層循環(huán),而不是外層的某個(gè)循環(huán)。(1)功能:結(jié)束本次循環(huán),接著判斷是否繼續(xù)下一次循環(huán)。(2)continue語句只能出現(xiàn)在while、do-while、for循環(huán)中,不能出現(xiàn)在其他地方。(3)作用范圍:所在循環(huán)體從屬的最內(nèi)層循環(huán),而不是外層的某個(gè)循環(huán)。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第七章數(shù)組一維數(shù)組的定義和引用01ONE7.1一維數(shù)組的定義的引用考點(diǎn)1一維數(shù)組的定義一維數(shù)組是由一個(gè)下標(biāo)的數(shù)組元素組成的數(shù)組。在C語言中必須“先定義,后使用”。定義格式:類型說明符數(shù)組名[常量表達(dá)式]例如,inta[10]這里定義了一個(gè)一維數(shù)組,數(shù)組當(dāng)中元素的類型為整型,數(shù)組的名稱為a,數(shù)組的長度為10,下標(biāo)從0開始到9。說明:類型說明符:可以是基本數(shù)據(jù)類型,整型、宇符型、單精度等,也可以是構(gòu)造類型如結(jié)構(gòu)體等。表示每個(gè)元素的類型。數(shù)組名:必須是合法標(biāo)識(shí)符,即代表數(shù)組的名稱,同時(shí)也是數(shù)組的首地址,常量值,內(nèi)容不可以改變;常量表達(dá)式:表示數(shù)組的長度,為數(shù)組分配相應(yīng)的存儲(chǔ)單元??梢哉统A炕蛘弑磉_(dá)式,不可以是變量。7.1一維數(shù)組的定義的引用考點(diǎn)2

一維數(shù)組元素的引用考點(diǎn)3一維數(shù)組的初始化定義數(shù)組Inta[10]數(shù)組元素由數(shù)組名和下標(biāo)構(gòu)成,如a[i],其中i的取值從0開始,到9結(jié)束,即a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]。注意,從0開始,a[10]為下標(biāo)越界。(1)順序列出數(shù)組元素的全部初值,如inta[5]={1,2,3,4,5};。(2)只給數(shù)組的前面一部分元素設(shè)定初值,未賦初值的元素自動(dòng)取值0。例如,inta[5]={1,2};。(3)對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組元素的個(gè)數(shù)。例如,inta[]={1,2,3,4,5};。二維數(shù)組的定義和引用02TWO7.2二維數(shù)組的定義的引用考點(diǎn)4

二維數(shù)組的定義當(dāng)數(shù)組元素的下標(biāo)為兩個(gè)時(shí),該數(shù)組稱為二維數(shù)組。二維數(shù)組的定義格式:類型標(biāo)識(shí)符數(shù)組名[常量表達(dá)式11[常量表達(dá)式2];功能:定義一個(gè)二維數(shù)組,有“長度1×長度2”個(gè)元素。說明:(1)存儲(chǔ)類型、數(shù)據(jù)類型、數(shù)組名和長度的含義和選取方法同一維數(shù)。(2)數(shù)組元素的各維下標(biāo)從。開始,最大下標(biāo)為“長度-1”。說明:數(shù)組名是分配給該數(shù)組的存儲(chǔ)區(qū)起始地址。(1)二維數(shù)組名a是地址常量,存放整個(gè)二維數(shù)組的起始地址。(2)a[0]、a[1]、a[2]也是地址常量,存放本行元素的起始地址。在邏輯結(jié)構(gòu)上,可以將二維數(shù)組理解為矩形矩陣,在實(shí)際存儲(chǔ)中,二維數(shù)組是按照逐行依次存儲(chǔ)的方式進(jìn)行存儲(chǔ)的。7.2二維數(shù)組的定義的引用考點(diǎn)5二維數(shù)組元素的引用考點(diǎn)6

二維數(shù)組的初始化二維數(shù)組元素也可以作為變量進(jìn)行操作,引入方法為:數(shù)組名[行下標(biāo)表達(dá)式][列下標(biāo)表達(dá)式]例如,inta[3][4]。數(shù)組元素為a[i][j],i的取值為0~2,j的取值為0~3,即a[0][0]~a[2][3]均正確,而a[3][4]的行、列下標(biāo)都超過最大值。(1)按行分段給二維數(shù)組賦初值,如inta[2][3]={{1,2,3},{4,5,6},{7,8,9}};。(2)按行連續(xù)賦值,如inta[2][3]={1,2,3,4,5,6,7,8,9};。(3)對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0值,如inta[2][3]={1,2,3};,其他元素為0。(4)若對(duì)全部元素賦初值,則第一維的長度可以不指定,如inta[][3]={1,2,3,4,5,6,7,8,9};。7.2二維數(shù)組的定義的引用考點(diǎn)7二維數(shù)組的嵌套for語句字符數(shù)組03THREE7.3字符數(shù)組考點(diǎn)8字符串考點(diǎn)9

字符數(shù)組的定義及初始化考點(diǎn)10字符數(shù)組的輸入與輸出C語言中沒有字符串變量類型。通常是字符串常量或者字符數(shù)組。定義:由雙引號(hào)“”引起來的,由若干個(gè)字符所組成的序列。字符串的結(jié)束標(biāo)志:’\0’。字符數(shù)組名是地址常量,不能賦值給數(shù)組名。7.3字符數(shù)組考點(diǎn)11

字符串處理函數(shù)C語言提供了一些用于字符串處理的庫函數(shù)。這些標(biāo)準(zhǔn)庫函數(shù)在頭文件string.h中。常用的庫函數(shù)見表。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第八章函數(shù)函數(shù)01ONE8.1函數(shù)考點(diǎn)1函數(shù)的概述C語言的函數(shù)是具有一定功能的代碼的集合。對(duì)于C語言的函數(shù)有以下幾點(diǎn)需要注意。(1)C源程序是由函數(shù)組成的,函數(shù)由函數(shù)首部與函數(shù)體組成,函數(shù)體包括聲明部分和執(zhí)行語句部分。(2)C語言程序可以由多個(gè)源程序組成,其中一個(gè)源程序文件包含main函數(shù),其他函數(shù)可以寫在另外的源程序文件中,為單獨(dú)文件,并可以單獨(dú)編譯。(3)C程序的執(zhí)行總是從main函數(shù)開始的,完成對(duì)其他函數(shù)的調(diào)用后再返回到main函數(shù),最后由main函數(shù)結(jié)束整個(gè)程序。4)main函數(shù)可以調(diào)用其他函數(shù),而不允許被其他函數(shù)調(diào)用。一個(gè)C源程序必須有,也只能有一個(gè)主函數(shù)main。(5)在一個(gè)函數(shù)的函數(shù)體內(nèi),不能再定義另一個(gè)函數(shù),即不能嵌套定義。定義函數(shù)02TWO8.2定義函數(shù)考點(diǎn)2

函數(shù)的定義函數(shù)定義的基本格式:類型名函數(shù)名(數(shù)據(jù)類型形式參數(shù)1,數(shù)據(jù)類型形式參數(shù)2……){函數(shù)體}說明:(1)類型名。定義函數(shù)返回值類型,可以是任何數(shù)據(jù)類型,如整型、字符型、結(jié)構(gòu)體等,默認(rèn)值為int,也可沒有返回值,則為void類型。(2)函數(shù)名。合法標(biāo)識(shí)符,表明函數(shù)的名稱,一般做到見名知意。(3)形參列表。參數(shù)用逗號(hào)分開,定義時(shí)形參需要明確數(shù)據(jù)類型。如果沒有參數(shù),此次可以為void或省略。(4)函數(shù)體。一般包括說明部分和執(zhí)行語句部分。此次可以為空,則為空函數(shù),空函數(shù)當(dāng)下沒有具體功能,但對(duì)程序擴(kuò)展很有用。8.2定義函數(shù)考點(diǎn)3函數(shù)的返回值函數(shù)返回return語句的一般形式:return表達(dá)式或return(表達(dá)式);return后的表達(dá)式可以是常量、變量、表達(dá)式,也可以是空。例如:return;return0;returna;return(a+b);在函數(shù)中允許有多個(gè)return語句,但每次只能有一個(gè)return語句被執(zhí)行。函數(shù)參數(shù)與函數(shù)調(diào)用03THREE8.3函數(shù)參數(shù)與函數(shù)調(diào)用考點(diǎn)4形參和實(shí)參1.形參與實(shí)參的區(qū)別(1)形參出現(xiàn)在函數(shù)定義中,即定義函數(shù)時(shí)函數(shù)名后面括號(hào)中的參數(shù),實(shí)參出現(xiàn)在主調(diào)函數(shù)中(調(diào)用函數(shù)時(shí)函數(shù)名后面括號(hào)中的參數(shù))(2)形參在本函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用。實(shí)參在主調(diào)函數(shù)中有效,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用(注:在進(jìn)行函數(shù)調(diào)用時(shí),函數(shù)必須有確定的值)。(3)實(shí)參向形參單向傳遞數(shù)值,不能將形參的值反向傳送給實(shí)參。實(shí)參和形參在數(shù)據(jù)、類型、順序上要一致。在函數(shù)調(diào)用過程中,形參的變化不會(huì)改交實(shí)參的變化。8.3函數(shù)參數(shù)與函數(shù)調(diào)用考點(diǎn)4形參和實(shí)參2.函數(shù)參數(shù)有兩種類型:值傳遞和地址傳遞(1)在傳遞數(shù)值時(shí),形參和實(shí)參分別占據(jù)不同的存儲(chǔ)單元。形參變量只有在被調(diào)用時(shí)才分配內(nèi)存單元,調(diào)用結(jié)束后,即刻釋放分配的內(nèi)存單元。(2)“傳值”與“傳址”的區(qū)別:傳數(shù)值的話,形參的變化不會(huì)改變實(shí)參的變化;傳地址的話,形參的變化就有可能改變實(shí)參所對(duì)應(yīng)的量。8.3函數(shù)參數(shù)與函數(shù)調(diào)用考點(diǎn)5

函數(shù)調(diào)用的一般形式和調(diào)用方式(1)函數(shù)調(diào)用的一般形式:函數(shù)名(實(shí)際參數(shù)表)實(shí)參可以是常數(shù)、變量或其他構(gòu)造類型數(shù)據(jù)及表達(dá)式,也可以沒有(當(dāng)為無參函數(shù)時(shí))。①函數(shù)表達(dá)式:函數(shù)作為表達(dá)式中的一項(xiàng)出現(xiàn)在表達(dá)式中,以函數(shù)返回值參與表達(dá)式運(yùn)算。例如:z=max(x,y);②數(shù)語句:函數(shù)調(diào)用的一般形式上加上分號(hào)。例如:printf(“%d\n",a);③函數(shù)實(shí)參:函數(shù)作為另一個(gè)函數(shù)調(diào)用的實(shí)際參數(shù)出現(xiàn)。例如:printf(“%d",max(x,y));執(zhí)行順序如下。程序從main函數(shù)進(jìn)入,從上往下執(zhí)行,當(dāng)碰到函數(shù)名后,把值傳給調(diào)用函數(shù),當(dāng)程序得到了返回值或調(diào)用函數(shù)結(jié)束,再順序往下執(zhí)行,最后到main函數(shù)結(jié)束。8.3函數(shù)參數(shù)與函數(shù)調(diào)用考點(diǎn)6函數(shù)的聲明及其位置考點(diǎn)7函數(shù)的嵌套調(diào)用函數(shù)要“先定義后調(diào)用”,或者“先聲明再調(diào)用后定義”。函數(shù)的聲明一定要有函數(shù)名、函數(shù)返回値類型、函數(shù)參數(shù)類型,但不一定有形參的名稱。一般形式為:類型說明符被調(diào)函數(shù)名(類型形參,類型形參……);或者類型說明符被調(diào)函數(shù)名(類型,類型……);注意:其末尾“;”不能省略。例如,intmax(inta,intb);或intmax(int,int);兩者功能相同。C語言中不允許做嵌套的函數(shù)定義,但允許在一個(gè)函數(shù)中出現(xiàn)對(duì)另一個(gè)函數(shù)的調(diào)用,即嵌套調(diào)用。8.3函數(shù)參數(shù)與函數(shù)調(diào)用考點(diǎn)8函數(shù)的遞歸調(diào)用函數(shù)直接或間接地調(diào)用自己稱為函數(shù)的遞歸調(diào)用。遞歸必須滿足的條件如下。(1)可以把一個(gè)問題轉(zhuǎn)化為新問題。(2)遞歸調(diào)用必須有一個(gè)明確的結(jié)束條件。變量的作用域或存儲(chǔ)類別04FOUR8.4變量的作用域和存儲(chǔ)類別考點(diǎn)9局部變量和全局變量1.局部變量在一個(gè)函數(shù)內(nèi)部或復(fù)合語句內(nèi)部定義的變量,它只在本函數(shù)范圍內(nèi)有效,世就是說,只有在本函數(shù)內(nèi)才能使用它們,在函數(shù)以外是不能使用這些變量的。這稱為局部變量,局部變量又稱為內(nèi)部變量。函數(shù)的形參也屬于局部變量。2.全局變量在函數(shù)外部定義的變量,稱為全局變量,又稱為外部變量。全局變量可以被本文件的其他函數(shù)所共用。8.4變量的作用域和存儲(chǔ)類別考點(diǎn)10

變量存儲(chǔ)類別1.靜態(tài)變量(static)(1)在編譯時(shí)分配存儲(chǔ)空間,所占存儲(chǔ)單元直到程序結(jié)束時(shí)才釋放,它的值在程序運(yùn)行過程中一直存在,且變量的初始化只進(jìn)行一次。(2)static說明符可以用于全局變量,也可以用于局部變量(auto和resgiter不可以定義全局變量),但當(dāng)它說明變量后,只要這個(gè)變量還在程序中存在,那么不管用到還是沒有用到,它都會(huì)占用內(nèi)存單元。2.自變量(auto)(1)自動(dòng)變量的存儲(chǔ)空間是當(dāng)程序執(zhí)行到定義它的函數(shù)或語句塊時(shí)才分配,當(dāng)函數(shù)執(zhí)行結(jié)束后自動(dòng)釋放,變量的值也就不再存在了。(2)局部變量的存儲(chǔ)類別默認(rèn)為auto,可以省略不寫,但它不能定義全局變量。3.寄存器變量(register)數(shù)組與函數(shù)05FIVE8.5數(shù)組與函數(shù)考點(diǎn)11

數(shù)組與函數(shù)(1)數(shù)組用作西數(shù)參數(shù)有兩種形式:把數(shù)組元素(下標(biāo)交量)作為實(shí)參使用和把數(shù)組名作為函數(shù)的形參和實(shí)參使用。(2)數(shù)組元素用作函數(shù)的實(shí)參與普通變量并無區(qū)別,所進(jìn)行的傳遞是值,形參變量和實(shí)參變量占據(jù)由編譯系統(tǒng)分配的兩個(gè)不同的內(nèi)存單元。(3)數(shù)組名作為函數(shù)參數(shù)時(shí),所進(jìn)行的傳遞是地址(相當(dāng)于把實(shí)參數(shù)組的首地址賦子形參數(shù)組名或指針名),形參數(shù)組與實(shí)參數(shù)組為同一數(shù)組,共同擁有一段內(nèi)存單元。庫函數(shù)06SIX8.6庫函數(shù)考點(diǎn)12

庫函數(shù)函數(shù)可以分為庫函數(shù)和用戶自定義函數(shù)。庫函數(shù)由C系統(tǒng)提供,用戶無需定義,在調(diào)用C語言標(biāo)準(zhǔn)庫函數(shù)時(shí)要包含include命令,include命令以#開頭。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第九章指針地址與指針01ONE9.1地址與指針考點(diǎn)1指針的概念與指針變量指針就是地址。地址是什么?如果程序中定義了一個(gè)變量,當(dāng)編譯時(shí),系統(tǒng)就會(huì)給變量分配內(nèi)存單元。不同的數(shù)據(jù)類型,分配的單元長度不同。(2)指針變量是用來存儲(chǔ)地址的變量,而一般變量是用來存儲(chǔ)數(shù)值的。指針變量存放的是變量的首地址。(3)變量的訪問:定義了指針變量,就有兩種訪問變量的方式。①直接訪問:變量中直接存儲(chǔ)數(shù)據(jù)。②間接訪問:指針變量中存放的是變量的地址,通過地址再取出變量的值,這種為間接尋址。指針變量02TWO9.2指針變量考點(diǎn)2

指針變量的定義指針變量的定義格式如下:類型*標(biāo)識(shí)符例如:int*i_pointer,含義:指針變量為i_pinter,指向的變量為整型變量,即只可以把整型變量的地址賦值給指針變量。說明:(1)定義時(shí)“*”是指針標(biāo)量的標(biāo)識(shí)符,不可省略?!?”是標(biāo)識(shí)符,不是變量的組成部分,即変量是i_pointer。(2)相同類型的指針變量可以在一個(gè)說明語句中定義,但每個(gè)變量前都需要有指針標(biāo)識(shí)符“*”。9.2指針變量考點(diǎn)3指針運(yùn)算符指針運(yùn)算符主要包括取地址符“&”和取內(nèi)容符“*”。(1)“&”是取地址符號(hào)。它的一般格式:&變量名。(2)“*”是取值運(yùn)算符。他的一般格式:*指針變量名。說明:(1)“*”在算數(shù)表達(dá)式中是乘號(hào),在指針變量定義時(shí)是指針標(biāo)識(shí)符,在指針運(yùn)算符中是取值運(yùn)算符。(2)變量定義時(shí),變量以外的信息表示變量的性質(zhì)。運(yùn)算時(shí),要用變量本身去操作。9.2指針變量考點(diǎn)4

指針變量的初始化指針使用的原則是“先定義,后初始化,再運(yùn)算”,指針變量在使用前必須初始化,把一個(gè)具體的地址賦給它,否則引用時(shí)會(huì)出錯(cuò),如果不指向任何數(shù)據(jù)就賦空值“NULL”。指針變量兩種初始化方法如下。(1)定義的同時(shí)初始化:inta=2,*p=&a;(2)先定義后初始化inta=2,*p;p=&a;說明:p是指針,只能存放地址,p=100是錯(cuò)誤的,*p=100是正確的。因?yàn)?p取的是里面的值,即i的值,等價(jià)于i=100。9.2指針變量考點(diǎn)5指針的運(yùn)算1.賦值運(yùn)算賦值運(yùn)算的3種情況如下。第1種:通過&將變量的值賦值給指針變量。第2種:將已有指針變量給指針變量賦值或者變量首地址(數(shù)組、字符串等),要求基類型相同。第3種:空指針NULL,系統(tǒng)設(shè)置好的標(biāo)識(shí),指向0。2.指針與整數(shù)加減運(yùn)算對(duì)于數(shù)組,通過指針加1,可以實(shí)現(xiàn)指針移動(dòng)到下一個(gè)元素。3.指針間減法運(yùn)算對(duì)于指向相同數(shù)組的兩個(gè)指針相減,可以求出隔幾個(gè)元素。4.*p++和(*p)++的差別*p++是地址變化,按從右向左結(jié)合,*(p++),先求出*p所指變量的內(nèi)容,指針p再向后移動(dòng)。(*p)++,先求出*p單元的內(nèi)容,然后將變量內(nèi)容進(jìn)行自加運(yùn)算。指針與數(shù)組03THREE9.3指針與數(shù)組考點(diǎn)6

指針與一維數(shù)組數(shù)組名代表數(shù)組的首地址。一維數(shù)組中,第一個(gè)元泰的地址即為該數(shù)組的起始地址。建立指針變量與一維數(shù)組的聯(lián)系,一般就是將指針指向數(shù)組的首地址。例如:intal6],*pa;pa=a;或pa=&a[0];說明:①數(shù)組名a代表該數(shù)組的首地址,即a[0]的地址。②pa=a;或pa=&a10];使pa保存了數(shù)組a的首地址,pa,a,&a[0]都指向一個(gè)地址。③以上操作可等價(jià)于inta[6],*pa=a。④如果pa=&a[3];,則表示*pa的值就是a[3]的地址。注意:數(shù)組a是一個(gè)地址常量,它永遠(yuǎn)指向數(shù)組的首地址,不能重新賦值。因此,a=&i;或a++都是錯(cuò)誤的。9.3指針與數(shù)組考點(diǎn)7用指針訪問數(shù)組元素(1)通過指針引用數(shù)組元素,例如:int*p,a[5];p=&a[0];說明:①指針變量p指向了數(shù)組元素a[0],可以使用訪問運(yùn)算符“*”來引用變量a[0],如*p=18;等價(jià)于a[0]=18;。②*(p+1)表示a[1],p+1表示&a[1]。(2)通過數(shù)組的首地址引用數(shù)組元素,例如:Inta[5];說明:①a是數(shù)組名,表示收地址,可以把a(bǔ)當(dāng)成一個(gè)指針常量。②*a等價(jià)于a[0],*(a+1)等價(jià)于a[1];a等價(jià)于&a[0],a+1等價(jià)于&a[1];。(3)用帶下標(biāo)的指針變量引用一維數(shù)組元素,例如:int*p,a[5];p=a;說明:①p[0]表示p指針指向的內(nèi)存單元,p[1]表示p指向的內(nèi)存單元。②a[i]的等價(jià)引用方法:a[i]、p[i]、*(a+i)、*(p+i)。③a[i]的地址等價(jià)引用方法:&a[i]、&p[i]、a+i、p+i.9.3指針與數(shù)組考點(diǎn)8

指針與二維數(shù)組任何一個(gè)二維數(shù)組均由若干個(gè)一維數(shù)組組成,a[0]、a[1]和a[2]是一維數(shù)組名,數(shù)組名代表數(shù)組的首地址,因此a[0]就代表數(shù)組元素a[0][0]的地址,即&a[0][0]。注意:a的值與a[0]相同,但它們的基類型不同,a可以等價(jià)于一個(gè)二維指針,而a[0]是一維指針。因此,inta[3][4],*p=a;錯(cuò)誤。(1)取數(shù)組元素a[i][j]的地址的幾種方法:&a[i][j];、a[i]+j;、*(a+i)+j;。取數(shù)組元素a[i][j]的值的幾種方法:a[i][j];、*(a[i]+j);、*(*(a+i)+j);。(2)指針數(shù)組的定義方式:*指針數(shù)組名[常量表達(dá)式];例如:int*p[3];(3)行指針的一般定義形式:類型名(*指針數(shù)組名)[常量表達(dá)式];例如:int(*p)[2];9.3指針與數(shù)組考點(diǎn)8

指針與二維數(shù)組指針數(shù)組與行指針的區(qū)別(1)int*p[3];定義的是指針數(shù)組,表示一個(gè)數(shù)組,含有3個(gè)元素p[0]、p[1]、p[2],且這3個(gè)元素只能存放整形元素的地址。(2)int(*p)[3];定義的是行指針,表示一個(gè)指針變量,它僅有一個(gè)存儲(chǔ)空間,只能存放一個(gè)長度為3的一維數(shù)組指針。指針與字符串04FOUR9.4指針與字符串考點(diǎn)9

指針與字符串可以通過字符指針來處理字符串,例如:char*p=“China”或者char*p;p="China";把字符串賦值給指針p,實(shí)質(zhì)是把保存字符串"China”的那段內(nèi)存的首地址賦值給指針p,使得指針p指向了字符串,這樣就可以通過指針來操作字符串了?!咀⒁狻縞harstr[10];str="China'':是錯(cuò)誤的!數(shù)組名是地址常量,不能進(jìn)行賦值操作!提示:“三名主義”,三名均為首地址。數(shù)組名:表示第一個(gè)元素的地址。函數(shù)名:表示該函數(shù)的入口地址。字符串常量名:表示第一個(gè)字符的地址。指針與函數(shù)05FIVE9.5指針與函數(shù)考點(diǎn)10指針變量作為函數(shù)參數(shù)考點(diǎn)11

一維數(shù)組名作為函數(shù)參數(shù)函數(shù)的參數(shù)傳遞有“值傳遞”和“地址傳遞”兩種。利用指針作為參數(shù)可以實(shí)現(xiàn)“地址傳遞”。通過地址傳遞實(shí)現(xiàn)形參指針變量與實(shí)參指向相同的存儲(chǔ)單元,這樣改變形參指針變量就可以通過操作改變實(shí)參的值。如果調(diào)用函數(shù)實(shí)參是一維數(shù)組,形參可以用相同類型的數(shù)組或者基類型相同的指針。參數(shù)傳遞屬于地址傳遞,即調(diào)用函數(shù)對(duì)形參的操作將影響實(shí)參的數(shù)值。9.5指針與函數(shù)考點(diǎn)12

二維數(shù)組名作為函數(shù)參數(shù)考點(diǎn)13字符指針作為函數(shù)參數(shù)二維數(shù)組名也是一個(gè)地址值,所以當(dāng)二維數(shù)組名作為函數(shù)實(shí)參時(shí),它所應(yīng)對(duì)的形參應(yīng)該是行指針變量??梢允且幌?種情況:fun(inta[][N],intb[])fun(inta[N][N],intb[])fun(int(*a)[N],intb[])無論用哪種方式,對(duì)數(shù)組元素的訪問均可以用a[i][j]。9.5指針與函數(shù)考點(diǎn)14返回指針值的函數(shù)考點(diǎn)13字符指針作為函數(shù)參數(shù)指針型函數(shù)是指返回指針值的函數(shù)。定義的一般形式為:類型說明符*函數(shù)名(形參列表){……}例如:int*ap(intx,inty){}函數(shù)指針變量是指向函數(shù)的指針變量。定義的一般形式為:類型說明符(*指針變量名)();調(diào)用函數(shù)的一般形式為:(*指針變量名)(實(shí)參表)提示(*指針變量名)中的“()”不能少。計(jì)算機(jī)等級(jí)考試感謝觀看計(jì)算機(jī)等級(jí)考試第十章結(jié)構(gòu)體和共用體用typedef聲明新類型名01ONE10.1用typedef聲明新類型名考點(diǎn)1用typedef聲明新類型名功能:為已有數(shù)據(jù)類型取別名。類型定義形式:typedef類型名

標(biāo)識(shí)符;例如:typedefdoubleD;Dpi=3.14;說明:(1)定義的標(biāo)識(shí)符只是原有數(shù)據(jù)類型的一個(gè)別名,并不是建立一個(gè)新的數(shù)據(jù)類型。(2)用標(biāo)識(shí)符和原數(shù)據(jù)類型定義的對(duì)象具有相同的性質(zhì)和效果。(3)定義新類型名的目的是方便變量的定義,如結(jié)構(gòu)體類型的形參變量。結(jié)構(gòu)體類型變量的定義和引用02TWO10.2結(jié)構(gòu)體類型變量的定義和引用考點(diǎn)2結(jié)構(gòu)體變量的定義考點(diǎn)3結(jié)構(gòu)體變量各成員的引用有4種方式定義結(jié)構(gòu)體類型的變量、數(shù)組和指針。說明:Stu1是一個(gè)結(jié)構(gòu)體類型的變量,stu[10]是具有10個(gè)元素的結(jié)構(gòu)體數(shù)組,p是可以指向結(jié)構(gòu)而類型的指針??梢詫?duì)結(jié)構(gòu)體變量整體操作,也可以對(duì)結(jié)構(gòu)體變量的各成員單獨(dú)引用,引用結(jié)構(gòu)體成員變量一般有以下三種情況。引用結(jié)構(gòu)體變量的成員的方法:結(jié)構(gòu)體變量名.成員名(如stul.num)。結(jié)構(gòu)體指針變量引用成員的方法。形式1:(*指針変量名).成員名(如(*p)num)。形式2:指針變量名->成員名(如p->num)。結(jié)構(gòu)體變量與函數(shù)調(diào)用03THREE10.3結(jié)構(gòu)體變量與函數(shù)調(diào)用考點(diǎn)4結(jié)構(gòu)體變量與函數(shù)調(diào)用將一個(gè)結(jié)構(gòu)體變量的值傳遞給另一個(gè)函數(shù),有3種情況。(1)用結(jié)構(gòu)體變量的成員作為參數(shù)。例如,用stu1.num作為實(shí)參,將值傳遞給形參。用法和用普通變量作為實(shí)參是一樣的,屬于“單向值傳遞”方式。應(yīng)當(dāng)注意實(shí)參與形參的類型要保持一致。(2)用結(jié)構(gòu)體變量作為實(shí)參。對(duì)應(yīng)形參也是同類型結(jié)構(gòu)體變量,也屬于“單向值傳遞方式。(3)用指向結(jié)構(gòu)體變量(或數(shù)組)的指針

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論