全國計(jì)算機(jī)二級(jí)C語言知識(shí)點(diǎn)_第1頁
全國計(jì)算機(jī)二級(jí)C語言知識(shí)點(diǎn)_第2頁
全國計(jì)算機(jī)二級(jí)C語言知識(shí)點(diǎn)_第3頁
全國計(jì)算機(jī)二級(jí)C語言知識(shí)點(diǎn)_第4頁
全國計(jì)算機(jī)二級(jí)C語言知識(shí)點(diǎn)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)組下標(biāo)白下限是0。 全國計(jì)算機(jī)二級(jí)C吾言公共基礎(chǔ)知識(shí)一、數(shù)據(jù)結(jié)構(gòu)與算法1、完全二叉樹是屬于非線性結(jié)構(gòu),但其最佳存儲(chǔ)方式是 順序存儲(chǔ)方式2、順序存儲(chǔ)結(jié)構(gòu)中可能根節(jié)點(diǎn)不唯一,故可能不是線性結(jié)構(gòu)3、算法的有窮性是指,算法中的操作步驟為有限個(gè),且每個(gè)步驟都能在有限時(shí)間內(nèi)完成4、法復(fù)雜度包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。算法設(shè)計(jì)必須考慮執(zhí)行算法所需要 的資源,即時(shí)間與空間復(fù)雜度5、算法的優(yōu)劣取決于算法復(fù)雜度,與程序的環(huán)境無關(guān),當(dāng)算法被編程實(shí)現(xiàn)之后,程序的運(yùn)行 受到計(jì)算機(jī)系統(tǒng)運(yùn)行環(huán)境的限制6、循環(huán)隊(duì)列中,由于指針超過隊(duì)列地址最大值時(shí)會(huì)移動(dòng)到隊(duì)列最小地址處,所以 隊(duì)頭指針可 以大于也可以小于隊(duì)尾指針

2、7、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中每個(gè)結(jié)點(diǎn)都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲(chǔ)空間8、循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu),用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指車+front指向排頭元素的前一個(gè)位置9、設(shè)循環(huán)隊(duì)列為Q(1: m),其初始狀態(tài)為front=rear=m。經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=X, rear= Y?,F(xiàn)要在該循環(huán)隊(duì)列中尋找最大值的元素,最壞情況下需要比較的次數(shù)為(1)若*丫,則次數(shù)為 m-(Y-X)-1(2)若XY,則次數(shù)為Y-X-110、循環(huán)隊(duì)列中的元素個(gè)數(shù)與隊(duì)頭指針和隊(duì)尾指針的變化而變化11、隊(duì)列的修改是依先進(jìn)先出的原則進(jìn)行的12、設(shè)計(jì)算法時(shí)不僅要考慮對(duì)數(shù)據(jù)對(duì)象的運(yùn)

3、算和操作,還要考慮算法的 控制結(jié)構(gòu)13、順序表具有以下兩個(gè)基本特征:(1)線性表中所有元素所占的 存儲(chǔ)空間是連續(xù) 的;(2)線性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按 邏輯順序依次存放的。(3)在順序表中,每個(gè)元素占 有相同的存儲(chǔ)單元14、設(shè)棧的順序存儲(chǔ)空間為S(0:49),棧底指針bottom=X,棧頂指針top=Y (指向棧頂元素)。 則棧中的元素個(gè)數(shù)為X-Y+115、設(shè)棧的順序存儲(chǔ)空間為S(1: m),初始狀態(tài)為top=m+1 (X)?,F(xiàn)經(jīng)過一系列入棧與退棧運(yùn)算后,top=20 (Y),則當(dāng)前棧中的元素個(gè)數(shù)為 m+1-20=m-19 (X-Y)16、設(shè)棧的順序存儲(chǔ)空間為S(1: 50),初始狀態(tài)

4、為top=0?,F(xiàn)經(jīng)過一系列入棧與退棧運(yùn)算后,top=20 (X),則當(dāng)前棧中的元素個(gè)數(shù)為20 (X)二、程序設(shè)計(jì)基礎(chǔ)1、結(jié)構(gòu)化程序設(shè)計(jì) 的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句2、結(jié)構(gòu)化程序包括的基本控制結(jié)構(gòu)只有三種,即 順序結(jié)構(gòu)、選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)3、在軟件設(shè)計(jì)中使用的工具PAEH,不使用的工具數(shù)據(jù)流圖(DFtH) 4、對(duì)象有如下一些基本 特點(diǎn):標(biāo)識(shí)唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性好5、多態(tài)性是指同一個(gè)操作可以是不同對(duì)象的行為6、整數(shù)類實(shí)例包括:十進(jìn)制常量用0眼示,不能以0開頭;八進(jìn)制常量用07表示,必須用0 開頭;十六進(jìn)制常量用09和AF(af)表示,必須以0

5、 x或0X開頭。7、字符實(shí)例的一般形式是用一對(duì)單引號(hào)括起來的一個(gè)字符。另外ASCII碼中還有一些控制字符,C語言中用轉(zhuǎn)義字符的形式來書寫這些常,轉(zhuǎn)義字符一反斜杠()開始,后面跟1個(gè)字符或字符序列8、繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征,是使用已有的類的定義作為基礎(chǔ)建立新類的定義 技術(shù)。廣義的說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們,所以說繼 承是指類之間共享屬性和操作的機(jī)制三、軟件工程基礎(chǔ)1、軟件指的是計(jì)算機(jī)系統(tǒng)中與硬件相互依賴的另一部分,包括 程序、數(shù)據(jù)和有關(guān)的文檔2、軟件具有以下特點(diǎn):(1)軟件是一種邏輯實(shí)體,具有 抽象性;(2)軟件沒有明顯的制作 過程;(3)軟件在使用

6、期間 不存在磨損、老化 問題;(4)對(duì)硬件和環(huán)境具有依賴性;(5) 軟件復(fù)雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的 社會(huì)因素,如知識(shí)產(chǎn)權(quán)等3、軟件生命周期 可以分為軟件定義、軟件開發(fā)與軟件運(yùn)行維護(hù)三個(gè)階段。主要活動(dòng)階段是:可行性研究與計(jì)劃階段,需求分析,軟件設(shè)計(jì),軟件實(shí)現(xiàn),軟件測(cè)試,運(yùn)行和維護(hù)(同9)4、計(jì)算機(jī)軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。系統(tǒng)軟件是管理計(jì) 算機(jī)的資源,提高計(jì)算機(jī)的使用效率,為用戶提供各種服務(wù)的軟件,如操作系統(tǒng)、數(shù)據(jù)庫管理 系統(tǒng)、編譯程序、匯編程序和網(wǎng)絡(luò)軟件等5、數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的 模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語言:負(fù)責(zé)數(shù)據(jù)的 操縱

7、,包括查詢及增、刪、改等操作;數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查 以及并發(fā)控制、故障恢復(fù)等功能。6、軟件工程包含3個(gè)要素:方法、工具和過程7、軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品 不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期8、數(shù)據(jù)庫系統(tǒng)的三級(jí)模式是 概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù) 邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù) 視圖,給出了每個(gè)用戶的局部數(shù)據(jù)描述。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu) 與物理存取方法9、軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期,包括問題定義、可行性研究、需求分 析;軟件開

8、發(fā)期,包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試;運(yùn)行維護(hù)期,即運(yùn)行維護(hù)階段???行性研究屬于軟件定義期任務(wù)(同3)10、可行性分析階段:可行性分析報(bào)告。需求分析階段:軟件規(guī)格說明書,初步的用戶手冊(cè)。 軟件設(shè)計(jì)階段:概要設(shè)計(jì)說明書,詳細(xì)設(shè)計(jì)說明書,測(cè)試計(jì)劃初稿。軟件實(shí)踐階段:用戶手冊(cè), 操作手冊(cè)等面向用戶的文檔和單元測(cè)試計(jì)劃。軟件測(cè)試階段:測(cè)試分析報(bào)告。11、概要設(shè)計(jì)說明書 是總體設(shè)計(jì)階段產(chǎn)生的文檔。集成測(cè)試計(jì)劃 是在概要設(shè)計(jì)階段編寫的文檔需求規(guī)格說明書 是后續(xù)工作如設(shè)計(jì)、編碼等需要的 重要參考文檔12、需求分析階段的工作可以分為4個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評(píng)審,包括確定軟件

9、系統(tǒng)的功能13、(1)在測(cè)試之前制定測(cè)試計(jì)劃,并嚴(yán)格執(zhí)行,測(cè)試用例的 選擇不可隨意,應(yīng)選擇有代表 性的,盡可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤。(2)測(cè)試根本目的是盡可能多地發(fā)現(xiàn)并排除軟 件中隱藏的錯(cuò)誤(3)軟件測(cè)試是保證軟件質(zhì)量、可靠性的關(guān)鍵步驟。14、在需求分析階段 可以使用的工具有 數(shù)據(jù)流圖DFIB,數(shù)據(jù)字典DD判定樹與判定表15、數(shù)據(jù)流圖中帶箭頭的線段表示的是數(shù)據(jù)流16、數(shù)據(jù)字典(DD)所定義的對(duì)象都包含于 數(shù)據(jù)流圖(DFDB)17、軟件需求規(guī)格說明書有以下幾個(gè)方面的作用。便于用戶、開發(fā)人員進(jìn)行理解和交流; 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù); 作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)1

10、8、軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是 高內(nèi)聚低偶合、模塊大小規(guī)模適當(dāng)、模塊的依賴關(guān)系 適當(dāng)19、從技術(shù)觀點(diǎn)上看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。20、降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性(高內(nèi)聚低耦合)21、扇入指的是調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù) 22、扇出指的是由一個(gè)模塊直接調(diào)用的其他模塊數(shù)23、結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu):順序、選擇和循環(huán)(重復(fù))24、在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示 數(shù)據(jù)流。在程序流程圖中,用標(biāo)有名字的箭頭表示 控制流。25、軟件測(cè)試的目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。 程序調(diào)試的基本步驟有:錯(cuò)誤定位、 修改設(shè)計(jì)和代碼,以排除錯(cuò)誤、進(jìn)行回

11、歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。程序調(diào)試通常稱為Debug 即排錯(cuò)。軟件測(cè)試的基本準(zhǔn)則有:所有測(cè)試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的 隨意性、充分注意測(cè)試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測(cè)試不可能、妥善 保存測(cè)試計(jì)劃等文件。26、白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,對(duì)程序所有的邏輯路徑進(jìn)行測(cè)試27、黑盒測(cè)試只是根據(jù)程序的功能說明來設(shè)計(jì)測(cè)試用例。在使用黑盒測(cè)試法時(shí),手頭只需要有程序功能說明就可以了。黑盒測(cè)試法:等價(jià)類劃分法、邊界值分析法和錯(cuò)誤推測(cè)法四、數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)1、數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),是一種在 操作系統(tǒng)之上的系統(tǒng)軟件。2、數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了 3個(gè)階段:人工

12、管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。特點(diǎn)人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段管理者人文件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)面向?qū)δ硞€(gè)應(yīng)用程序某個(gè)應(yīng)用程序現(xiàn)實(shí)世界象共享程度無共享,冗余度大共享性差,冗余度大共學(xué)性大,冗余度小獨(dú)立性不獨(dú)立,完全依賴于程序獨(dú)立性差具后高度的物理獨(dú)立性和一定的邏輯獨(dú)立性結(jié)構(gòu)化無結(jié)構(gòu)記錄內(nèi)后結(jié)構(gòu),整體無結(jié)構(gòu)整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述控制能力由應(yīng)用程序控制由應(yīng)用程序控制由DBMS供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)3、數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計(jì)4、數(shù)據(jù)庫中反映用戶對(duì)數(shù)據(jù)要求的模式為外模式5、數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束3部分組成6、數(shù)據(jù)模型按照不同的應(yīng)用

13、層次分為3種類型:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型7、數(shù)據(jù)模型成熟并大量使用的數(shù)據(jù)模型有 層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷?、關(guān)系模型實(shí)體間的聯(lián)系采用 二維表來表示,簡稱表:網(wǎng)狀結(jié)構(gòu)為網(wǎng)狀模型實(shí)體間的聯(lián)系; 樹狀結(jié)構(gòu)為層次模型實(shí)體間的聯(lián)系;屬性刻畫了實(shí)體。9、在E F0中實(shí)體集用矩形,屬性用橢圓,聯(lián)系用菱形10、二維表中的一行稱為 元組。候選鍵(碼)是二維表中能唯一標(biāo)識(shí)元組的 最小屬性集。若一 個(gè)二維表有多個(gè)候選碼,則選定其中一個(gè)作為主鍵(碼)供用戶使用。表Mfr的某屬性集是表N的候選鍵或者主鍵,則稱該屬性集為表M的 外鍵(碼)。11、1966年BoehnffiJacopi

14、ni證明了程序設(shè)計(jì)語言僅僅使用 順序、選擇和重復(fù)(循環(huán))三種基 本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法12、關(guān)系模型中可以有3類完整性約束:實(shí)體完整性約束、參照完整性約束和用戶定義的完整 性約束。實(shí)體完整性約束 是指,若屬性M是關(guān)系的主鍵,則屬性M仲的屬性值不能為空值。參照 完整性約束是指,若屬性(或?qū)傩越M)A是關(guān)系M勺外鍵,它與關(guān)系M勺主碼相對(duì)應(yīng),則對(duì)于關(guān) 系Mfr的每個(gè)元組在A上的值必須為:要么 取空值;要么等于關(guān)系Mfr某個(gè)元組的主碼值。13、用于查詢的3個(gè)操作無法用傳統(tǒng)的集合運(yùn)算表示,引入的運(yùn)算為 投影運(yùn)算、選擇運(yùn)算、笛 卡爾積。常用的擴(kuò)充運(yùn)算有交、除、連接及自然連接等。

15、 并:R男將S中的記錄追加到R后面。 交:R斯果是既屬于RdS于S的記錄組成的集合。上述兩種操作中,關(guān)系叫S要求有相同的結(jié) 構(gòu),故A、D選項(xiàng)錯(cuò)誤。自然連接:去掉重復(fù)屬性的等值連接。自然連接要求兩個(gè)關(guān)系中進(jìn)行, 比較的是相同的屬性,并且進(jìn)行等值連接。除運(yùn)算可以近似地看作笛卡爾積的逆運(yùn)算。 當(dāng)S X T = R時(shí),則必有R+S=T, T稱為R除以S的商。設(shè)關(guān)系R有屬性Mi, M2,關(guān)系 S 有屬性 M n s+l, Mn s + 2,,Mn,止匕時(shí)有:R+S = Tt Ml, M2,,Mn s (R) 九mi, M2 ,M n-s (九mi, M2 ,M n-s (R) X S) )o由S中有屬性

16、所口A1, T中屬性為B 和B1,在Rt組中找到對(duì)應(yīng)于S中兩個(gè)元組的T中元組為f 3與n 2。R中最后一個(gè)元組與S中無對(duì) 應(yīng)關(guān)系,所以在T中也不會(huì)出現(xiàn)。投影,從關(guān)系模式中指定若干個(gè)屬性組成新的關(guān)系。C語言概述1、結(jié)構(gòu)化程序設(shè)計(jì)把一個(gè)復(fù)雜問題的求解過程分階段進(jìn)行,需要保證 自頂向下、逐步細(xì)化、 模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼2、函數(shù)體必須由開始。一個(gè)源程序文件可以包括預(yù)處理命令、全局聲明、函數(shù)定義,程序總 是從main函數(shù)開始執(zhí)行的3、算法不一定要包含所有三種基本結(jié)構(gòu),也可以只包含一種或兩種4、算法的復(fù)雜程序不是由操作步驟多少?zèng)Q定的,而是按 時(shí)間復(fù)雜度與空間復(fù)雜度來衡量5、C編譯程序把文件后綴為.c的源

17、程序文件編譯成文件后綴為.obj的二進(jìn)制文件,鏈接將一 個(gè)或多個(gè)目標(biāo)文件與程序用到的庫文件連接起來,形成一個(gè)可以在操作系統(tǒng)直接運(yùn)行的執(zhí) 行程序.exe6、一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:有窮性,確定性,輸入,輸出以及可行性7、只有同時(shí)包含三種基本結(jié)構(gòu)時(shí),程序才是 結(jié)構(gòu)化程序。一個(gè)結(jié)構(gòu)化程序可以包含順序?分 支?循環(huán)結(jié)構(gòu)中的一種或多種8、文件中包含標(biāo)準(zhǔn)輸入輸出函數(shù)的函數(shù)說明,預(yù)處理指令#include是使程序可以去該文件中找到printf,scanf 等函數(shù)以便使用9、計(jì)算機(jī)能直接執(zhí)行的程序是二進(jìn)制的 可執(zhí)行程序,擴(kuò)展名為.exe10、算法的特征:有窮T4?一個(gè)算法(對(duì)任何合法的輸入)在執(zhí)行

18、有窮步后能夠結(jié)束,并且在有 限的時(shí)間內(nèi)完成?確定性?算法中的每一步都有確切的含義?可行性?算法中的操作能夠用 已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來實(shí)現(xiàn) ?輸入:一個(gè)算法有零個(gè)或者多個(gè)輸入,零個(gè)輸入就是 算法本身確定了初始條件?輸出:一個(gè)算法有一個(gè)或者多個(gè)輸出,以反映出數(shù)據(jù)加工的結(jié)果11、算法的描述有偽代碼、流程圖、N-翎構(gòu)圖等?E-R是實(shí)體聯(lián)系模型12、C語言中的非執(zhí)行語句不會(huì)被編譯,不會(huì)生成二進(jìn)制的機(jī)器指令。 C程序經(jīng)過編譯、連接步 驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件。 用C言編寫的程序稱為,它以ASCII 代碼形式存放在一個(gè)文本文件中。C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程

19、序。13、C語言的數(shù)值常量中不能夾帶空格。在C言中運(yùn)算符兩側(cè)的運(yùn)算數(shù)據(jù)類型可以不一致,且 結(jié)果與精度較高的保持一致,14、C語言程序是由函數(shù)組成的??梢詥为?dú)進(jìn)行編譯。每個(gè)CS序中必須包含一個(gè)main函數(shù),但 不一定是每個(gè)C序文件中必須有,用戶單獨(dú)編寫的某個(gè)函數(shù)也可以存儲(chǔ)為一個(gè) CS序文件15、一個(gè)普通的C函數(shù)可以單方4作為一個(gè)C的程序文件存在被包含到其他程序中16、在復(fù)合語句中,不僅可以有執(zhí)行語句,還可以有定義語句,定義語句應(yīng)該出現(xiàn)在執(zhí)行語句的前面17、C語言中的某些語句可以 不用分號(hào),例如if語句18、關(guān)鍵字不可用做用戶標(biāo)識(shí)符19、C語言的標(biāo)識(shí)符分為3類:關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符?常

20、量不屬于標(biāo)識(shí)符 20、一條C句對(duì)應(yīng)轉(zhuǎn)換成一條機(jī)器指令二、運(yùn)算符與表達(dá)式1、sizeof是C語言中的一個(gè) 操作符(operator)。其作用就是返回一個(gè)對(duì)象或者類型所占的 內(nèi)存 字節(jié)數(shù)2、條件表達(dá)式:x =表達(dá)式1?表達(dá)式2:表達(dá)式3的含義是:先求解表達(dá)式1,若為非0(真), 則求解表達(dá)式2,將表達(dá)式2的值賦給x。若表達(dá)式1的值為0(假),則求解表達(dá)式3,將表達(dá)式3 的值賦給x3、C語言中沒有 運(yùn)算符a%=b表示a=a%(b) c語言中A”的意思是按位異或4、c語言中內(nèi)的意思是按位異或,運(yùn)算符號(hào)按位或|,把兩個(gè)數(shù)化為二進(jìn)制,異為1,同為0,如10的二進(jìn)制為000010103 的二進(jìn)制為 0000

21、001110 A3=99 的二進(jìn)制為00001001&按位與運(yùn)算,同為1,異為05、在平臺(tái)中,整型int占有4個(gè)字節(jié),double型數(shù)據(jù)占有8個(gè)字節(jié)。6、算術(shù)運(yùn)算符+的優(yōu)先級(jí)高于-=7、十進(jìn)制- 二進(jìn)制:十進(jìn)制除以2,記錄余數(shù)直到除盡到0,其二進(jìn)制為這些余數(shù)倒著排列。10/2=5余0,5/2=2余1, 2/2=1余0,1/2=0余1,則10的二進(jìn)制為1010,因?yàn)槎M(jìn)制有8個(gè)字節(jié),則 10的二進(jìn)制為00001010。8、二進(jìn)制- 十進(jìn)制:例:00001001 1*2A(4-1)+0*2A(3-1)+0*2A(2-1)+1*2A(1-1)=900001111 1*2A(4-1)+1*2A(3-1

22、)+1*2A(2-1)+1*2A(1-1)=159、exp1&exp2,規(guī)則為:對(duì)exp1求值,若為0,則表達(dá)式為0,且不計(jì)算exp2;若exp1非0,則 求exp2值,作為表達(dá)式值10、右移運(yùn)算符,按位右移運(yùn)算規(guī)則是將一個(gè)操作數(shù)先轉(zhuǎn)換成二進(jìn)制數(shù),然后將二進(jìn)制數(shù)各位右移若干位,移出的低位舍棄;并在高位補(bǔ)位,若為無符號(hào)數(shù),右移時(shí)左邊高位移入0。例:a=8=01000,執(zhí)行 a2/t, a=00010=211、在Ci言中,乘除法優(yōu)先級(jí)要高于加減法,其次,除法運(yùn)算符/兩邊參加運(yùn)算對(duì)象都是整數(shù),運(yùn)算結(jié)果要取整12、逗號(hào)表達(dá)式的值為其中最后一個(gè)表達(dá)式的值13、i+,先使用后自增自增和自減運(yùn)算符的兩種用法

23、:前置運(yùn)算,運(yùn)算符放在變量之前,規(guī)則是先使變量白值增(或減)1,然后以變化后表達(dá)式的值參與其他運(yùn)算:后置運(yùn)算,運(yùn)算符放在變量之后,規(guī)則是變量先參與其他運(yùn)算,然后再使變量的值增(或減)1例:sum = pad = 5; pAd = sum+, pAd+, +pAd;得:當(dāng)(*str)=0 時(shí),結(jié)束循環(huán),返回字符0的ASCII碼0sum=5,pad=5;pAd=5,sum=6,pAd=6,pAd=714、計(jì)算5/2,結(jié)果取整數(shù)值2?%運(yùn)算符的兩個(gè)操作值必須為整型數(shù)據(jù) 15、在C言中,邏輯真值對(duì)應(yīng)非0。,分支結(jié)構(gòu)的流程走向是根據(jù)表達(dá)式的值,并不僅僅是算數(shù)表達(dá)式的值16、rand()產(chǎn)生隨機(jī)整數(shù)三、基

24、本語句1、復(fù)合語句可以包含多條語句,在其中可以定義局部變量2、花括號(hào)對(duì))不僅用來表示函數(shù)的開頭和結(jié)尾,也可以用于表示復(fù)合語句3、C語言中的語句必須 以分號(hào);結(jié)束,所以空語句表示為;,不是空行4、定義語句應(yīng)該出現(xiàn)在 執(zhí)行語句的前面,在printf和scanf函數(shù)中都可以 指定數(shù)據(jù)的寬度, scanf()的格式控制用可以使用其他非空白字符,如逗號(hào),但在輸入時(shí)必須輸入這些字符,以保 證匹配,?復(fù)合語句可以由任意多條語句構(gòu)成,可以使一條也可以沒有5、當(dāng)(*str尸0時(shí),結(jié)束循環(huán),返回字符0 的ASCII碼06、while循環(huán)語句一般形式為:while(表達(dá)式)循環(huán)體,執(zhí)行過程為,首先判斷表達(dá)式,成立(

25、非0)則執(zhí)行循環(huán)體,不成立(0)則退出循環(huán)7、gets函數(shù),getchar是用于從終端讀入字符。fputs函數(shù)用于把字符串輸出到文件。fwrite 函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件8、scanf ()語句中用空格”間隔不同的字符串。getchar()函數(shù)從終端讀入一個(gè)字符作為函 數(shù)值,把讀入的字符賦給變量cho在輸入時(shí),空格、回車符都將作為字符讀入,而且只有在用 戶敲入回車鍵時(shí),i入才開始執(zhí)行。gets()函數(shù)的調(diào)用形式為:gets(str_adr),其中str_adr 是存放輸入字符串的 起始地址,可以是字符數(shù)組名、字符數(shù)組元素的地址或字符指針變量getsgetc()函數(shù)的調(diào)函數(shù)用來從終端

26、鍵盤讀入字符串(包括空格符),直到讀入一個(gè)換行符為止 用形式為:ch=getc(pf)其中pf是文件指針,函數(shù)的功能是從pf指定的文件中讀入一個(gè)字符,并把它作為函數(shù)值返回9、scanf函數(shù)中的格式控制字符串 是為了輸入數(shù)據(jù)用的,無論其中有什么字符,也不會(huì)輸出到屏 幕上。scanf()的格式控制用可以使用其他非空白字符,如逗號(hào),但在輸入時(shí)必須輸入這些字符, 以保證匹配就可以。?Printf函數(shù)可以輸出常量也可以輸出變量,Prinf函數(shù)可以用%來輸出 百分號(hào)10、數(shù)組第一個(gè)數(shù)為00由printf輸出的數(shù)據(jù)都隱含 右對(duì)齊。Printf輸出數(shù)據(jù)所占的寬度由系 統(tǒng)決定11、條件運(yùn)算符組成條件表達(dá)式的一般

27、形式為:表達(dá)式 1?表達(dá)式2:表達(dá)式3其求值規(guī)則為:如果表達(dá)式1的值為真,則以表達(dá)式2的值作為條件表達(dá)式的值,否則以表達(dá)式2的值作為整個(gè)條件表達(dá)式的值四、選擇結(jié)構(gòu)1、在C言中,邏輯真值對(duì)應(yīng)非002、邏輯非(即運(yùn)算符!)的運(yùn)算級(jí)別是最高的;算術(shù)運(yùn)算符優(yōu)先級(jí)較高,關(guān)系和邏輯運(yùn)算符 優(yōu)先級(jí)較低。3、for語句的一般形式為:for( 表達(dá)式1;表達(dá)式2;表達(dá)式3)語句 其循環(huán)中的表達(dá)式1 (循環(huán)變量賦初值)、表達(dá)式2(循環(huán)條件)”和表達(dá)式3(循環(huán)變量增量) 都是選擇項(xiàng),即可以缺省,但;不能缺省。該題目中省略了 表達(dá)式1 (循環(huán)變量賦初值) 和”表達(dá)式3(循環(huán)變量增量廠。4、&R有運(yùn)算對(duì)象均非零結(jié)果才為

28、真。邏輯與只有在 &符號(hào)兩邊操作均為真時(shí),邏輯與為 真。|只要有一個(gè)對(duì)象非零結(jié)果就是真。邏輯或當(dāng)且只當(dāng)|符號(hào)兩邊操作至少有一個(gè)為真時(shí), 邏輯或結(jié)果為真5、a!=b表示a不等于b時(shí),運(yùn)算結(jié)果為1,或者為06、邏輯與運(yùn)算符遵循“短路求值”策略,即只有在僅靠左操作數(shù)的值無法確定該邏輯表達(dá)式的結(jié)果時(shí),才會(huì)求解右操作數(shù)例:若有定義:int a=0,b=0,c=0,d=0;,有圓言表達(dá)式(a+ & b+) ? c+ : d+, 以下關(guān)于其執(zhí)行順序的敘述正確是先執(zhí)行a+,表達(dá)式a+的值為0,由此即可確定(a+&b+)勺值為0,因此執(zhí)行d+7、if語句中表達(dá)式為1直接執(zhí)行。為0執(zhí)行else五、循環(huán)結(jié)構(gòu)1、條件

29、表達(dá)式的執(zhí)行次數(shù)總是比循環(huán)體的執(zhí)行次數(shù)多一次2、設(shè)有以下代碼 do while ( 條件表達(dá)式1)循環(huán)體A; while ( 條件表達(dá)式2);while (條件表達(dá)式1)(do while ( 條件表達(dá)式2);假設(shè)表達(dá)式1與表達(dá)式2成立次數(shù)為n1與n2。若n1n2,則循環(huán)體 馳行次數(shù)為n2+1,瞅行次數(shù) n2+1;若n1n2,則循環(huán)體A現(xiàn)行次數(shù)為n1,時(shí)行次數(shù)n13、while循環(huán)語句一般形式為:while(表達(dá)式)循環(huán)體,執(zhí)行過程為:首先判斷表達(dá)式,成 立(非0)則執(zhí)行循環(huán)體,不成立(0)則退出循環(huán)。dowhile循環(huán)語句一般形式為:do循環(huán) 體while(表達(dá)式),執(zhí)行過程為:首先執(zhí)行循環(huán)

30、體,之后判斷表達(dá)式,成立(非 0)則再一次 執(zhí)行循環(huán)體,不成立(0)則退出循環(huán)。4、在條件相同的情況下,do- -while循環(huán)比while do多執(zhí)行一次函數(shù)體 兩種循環(huán)都是在表達(dá) 式為0時(shí)結(jié)束循環(huán)。do-while循環(huán)由表達(dá)式真假判斷是否退出循環(huán),也可以用break語句退出循5、,while語句的語義是:計(jì)算表達(dá)式的值,當(dāng)值為真 (非0)時(shí),執(zhí)行循環(huán)體語句.int k=0;while ( k=1 ) k+;while(k=1) = while(1),是死循環(huán),執(zhí)行無限次。6、只要適當(dāng)?shù)匦薷拇a,就可以將do-while與while相互轉(zhuǎn)換。for語句使用最為靈活,它完 全可以取代while

31、語句;7、s k - -0 為是s口數(shù)組的k所對(duì)應(yīng)的字符串長度。8、在G言中等于號(hào)用=表示,一個(gè)=表示賦值六、數(shù)組1、*與&放在一起作用抵消,*(pt+i)表示引用指針pt所指元素后的第i個(gè)元素2、#include main() int c6=10,20,30,40,50,60, *p,*s;p = c; s = &c5;printf(%dn, s-p );語句p = c;指將c0元素的地址賦給指針變量p;語句s = &c5;指將c5元素的地址賦給指 針變量s3、 #include main() int a5=2,4,6,8,10, *p,*k;p = a; k = &p;printf(%d

32、”, *( p+ );printf(%dn, *k );首先通過p=affi p指向數(shù)組的第1個(gè)元素,所以輸出2;在輸出2以后,由于p+,即p就指向數(shù)組 的第2個(gè)元素,*k就是取出p所指向元素的值,而p指向的是數(shù)組的第2個(gè)元素,即輸出44、通過一條語句可以定義多個(gè)數(shù)組;數(shù)組說明符的一對(duì)方括號(hào)中可以是整型常量,可以是整型常量表達(dá)式;在引用數(shù)組元素時(shí),下標(biāo)表達(dá)式必須是整型的。數(shù)組下標(biāo)的下限是005、char a2 = A, B;不合法,應(yīng)為char a2 = A, B;;用字符串方式 賦值比用字符逐個(gè)賦值要多占1個(gè)字節(jié)6、數(shù)組下標(biāo)的下限是007、數(shù)組名后面括號(hào)的值必須是整形常量,不可以是變量8、

33、static內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前調(diào)用時(shí)的數(shù)值仍然保留著9、void fun(int *a, int n) /* fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/fun(c+4, 6);即指排序從第5個(gè)元素開始進(jìn)行從大到小排序。數(shù)組說明的一般形式為:類型說明符 數(shù)組名常量表達(dá)式。指針的賦值首先基類型必須一致,s二維數(shù)組名,是二維數(shù)組的首地址,其基類型是一個(gè)具有10個(gè)元素的字符數(shù)組。p是一個(gè)字符指針變量,具基類型是一個(gè)字符,k是一個(gè)行指針,具基類型是具有3個(gè)元素的字符型數(shù)組。七、函數(shù)1、C程序中主函數(shù)不能被其他函數(shù)調(diào)用?ma

34、in函數(shù)可以放在程序開始,也可以放在中間,也可以 放在最后,位置不固定,但程序執(zhí)行時(shí)必須從main函數(shù)開始?在加序的函數(shù)中不能定義另一個(gè) 函數(shù),可以聲明或調(diào)用另一個(gè)函數(shù)?每個(gè)C序中必須包含一個(gè)main函數(shù),但不一定是每個(gè)C程序 文件中必須有,用戶單獨(dú)編寫的某個(gè)函數(shù)也可以存儲(chǔ)為一個(gè) C序文件2、數(shù)學(xué)庫中定義了函數(shù)的名稱、參數(shù)個(gè)數(shù)與類型、返回值類型與具體的函數(shù)體。編譯預(yù)處理 時(shí),預(yù)處理程序?qū)⒉檎抑付ǖ谋话募?并將其復(fù)制到#include命令出現(xiàn)的位置上,不引用 文件,文件編譯時(shí),編譯器無法識(shí)別沒有被定義的 sin函數(shù)。若要使用徵學(xué)庫中的sin函數(shù),需要在源程序的頭部加上#include 通過

35、引用文件,說明sin函數(shù)的參數(shù)個(gè)數(shù)和類型,以及函數(shù)返回值類型3、函數(shù)調(diào)用時(shí),函數(shù)名稱是需要區(qū)分大小寫的;函數(shù)名不允許以數(shù)字開頭;在函數(shù)中允許有多個(gè)return語句,但每次調(diào)用只能有一個(gè)return語句被執(zhí)行4、用戶自己定義的函數(shù)能調(diào)用庫函數(shù)也可以調(diào)用自定義函數(shù);對(duì)于不同函數(shù)的形式參數(shù)可以使用相同名稱的標(biāo)識(shí)符;關(guān)于 函數(shù)的定義 不可以嵌套,但函數(shù)的調(diào)用可以嵌套。5、不能將一個(gè)整數(shù)直接賦給指針變量作為地址。函數(shù)的返回值可以是地址,即指針。函數(shù)調(diào) 用中形參值的變化不會(huì)傳遞給實(shí)參。6、C語言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參, 而不能由形參傳回來給實(shí)參。在內(nèi)存

36、中,實(shí)參單元與形參單元是不同的單元。7、C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成;函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語句存在;若函數(shù)有返回值,必須通過return語句返回8、語句f(&a2,5,0)的作用是對(duì)從a2開始的5個(gè)元素進(jìn)行從大到小排序。9、void f(int *s) *s=k; main() int m=3,*p=&m;f(p);printf(%d,%d, m, *p);m=3 p指向m調(diào)用函數(shù)f,將實(shí)參p中mm勺地址傳遞給形參s, s指向m則k賦值給m m=5 p依然指向m,故輸出5,510、函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。因此

37、在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化八、指針1、在計(jì)算機(jī)內(nèi)存中,用一個(gè)字節(jié)表示一個(gè)內(nèi)存單元并為每一個(gè)存儲(chǔ)單元編號(hào),這個(gè)編號(hào)就是存儲(chǔ)單元的地址。一個(gè)變量的地址稱為該變量的指針。專門用來存放變量地址的變量,稱為“指針變量。常量存儲(chǔ)在編譯文件中,不能取地址。一個(gè)指針變量的地址只能賦給指向這種 類型的指針變量,與其本身類型不同,不能賦值,未賦初值的指針變量自動(dòng)賦任意地址值2、所有地址值所占字節(jié)都是一樣的,故指針變量所占內(nèi)存大小一樣;不能隨意把一個(gè)地址存放到任何一個(gè)指針變量中去,只能把具有相同類型的變量的地址,存放到這個(gè)指針變量中,結(jié)構(gòu)體變量與某個(gè)成員類型不同,不能用同樣的指針指向它

38、們3、#include void f(int *p,int *q);main()int m=1,n=2,*r=&m;f(r, &n);)void f(int *p,int *q)(p=p+1;*q=*q+1;)在f(int *p,int*q)函數(shù)中,執(zhí)行p=p+1是將p所對(duì)應(yīng)的地址加1,而*q=*q+1是將q所指向的n的地址所對(duì)應(yīng)的值加1,所以Ml勺得知所對(duì)應(yīng)的值沒有變,而n的值則為3了。4、如果p是指針變量,則*p表示變量p所指向的地址的值;如果p是指針變量,則&限示變量p 的地址;如果p是指針變量,*p+1表示將p所指的值加上1,而*(p+1)表示的是先將指針右移一 位再取所指向變量的值。

39、5、雖然不同基類型的指針變量占用字節(jié)數(shù)是相同的,但是不能混用。6、float a10, x; 表達(dá)式a+1不是非法的;語句a = &x; 是非法的7、a = (*ptr) +然示把指針ptr對(duì)應(yīng)地址單元里的值賦給a,再將ptr對(duì)應(yīng)地址單元里的值加1 8、定義指針p后,必須指針p進(jìn)行初始化就進(jìn)行賦值9、int x=2,*p=&x;float y=; char z=c由于x是一個(gè)整形變量,將x地址賦值給p指針后,又tp進(jìn)行加一運(yùn)算,p指針的值相當(dāng)于加4(整型變量的地址占4個(gè)字節(jié)),此時(shí)p指向了未知的內(nèi) 存地址,對(duì)未知內(nèi)存地址進(jìn)行操作具有安全隱患10、把一個(gè)指針變量的值賦給另一個(gè)指針變量,但一定要確

40、保這兩個(gè)指針變量的基類型是相同的;只要兩個(gè)指針變量基類型相同,可以指向同一個(gè)對(duì)象11、函數(shù)的返回值可以是地址,即指針。函數(shù)調(diào)用中形參值的變化不會(huì)傳遞給實(shí)參。不能將一個(gè)整數(shù)直接賦給指針變量作為地址;函數(shù)可以返回地址值;改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值;當(dāng)在程序的開頭包含頭文件時(shí),可以給指針變量賦 NULL12、指針是用來存放地址的變量,用(類型名*指針變量名)的形式定義。賦值時(shí)應(yīng)將某個(gè)變 量地址即&x賦給指針變量)。13、,p=NULL和p=0; 或p=0;等價(jià);語句p=NULL執(zhí)行后,指針p并不是指向地址為0的存 儲(chǔ)單元,而是具有一個(gè)確定的值-空。14、指針變量的賦值只能賦予地址,決不能

41、賦予任何其它數(shù)據(jù),否則將引起錯(cuò)誤;p=NULL和p=0;是等價(jià)的;指向同一數(shù)組的兩指針變量進(jìn)行關(guān)系運(yùn)算可表示它們所值數(shù)組元素之間的 關(guān)系。如果企圖通過一個(gè)空指針來訪問一個(gè)存儲(chǔ)單元,將會(huì)得到一個(gè)出錯(cuò)信息15、不可以取一個(gè)常數(shù)或表達(dá)式的地址賦值給同類型的指針變量;通過強(qiáng)制類型轉(zhuǎn)換可以將一種類型的指針變量賦值給另一種類型的指針變量16、若有定義語句:int a23,*p3;則以下語句中正確的是p=a;p0=a;p0=&a12;p1=&a;參考答案:C【解析】A選項(xiàng)錯(cuò)誤,因?yàn)閜是指向一個(gè)指針數(shù)組,作為數(shù)組名,不能指向別的地方。B選項(xiàng)錯(cuò)誤,因?yàn)閜0是一個(gè)int指針,也就是int* ;而a是一個(gè)指向指針的

42、指針int*。C項(xiàng)正確,因 為p0是一個(gè)int* , a12是int , &a12是int* ,類型吻合。選項(xiàng)錯(cuò)誤,因?yàn)閍作為數(shù)組 名,不能取地址。即使能取,p1是int* , &加int* ,類型不對(duì)。因此C4項(xiàng)正確。17、int *p; scanf(%d, p);沒有對(duì)指針進(jìn)行初始化,無效指針18、不允許把一個(gè)數(shù)賦予指針變量,被賦值的指針變量前不能再加 *說明符19、若有定義語句:int a10=0,1,2,3,4,5,6,7,8,9,*p=a;,以下選項(xiàng)中錯(cuò)誤引用a數(shù)組元素的是(其中0 0i10)A) *(*(a+i)B) a p-a C) piD) *( &ai) *p=a,將數(shù)組a的

43、首地址賦給指針p。a+i表示數(shù)組a中第i個(gè)元素的地址,引用其中元素為*(a+i), A選項(xiàng)引用錯(cuò)誤。p-a=0, E選項(xiàng)引用白元素為a0。C選項(xiàng)中pi表示p后i個(gè)地址的元素ai。 D選項(xiàng)中&ai取ai地址,*(&ai)取這個(gè)地址內(nèi)的元素,即為ai。本題選擇A選項(xiàng)20、malloc函數(shù)的原型為:malloc (size);,函數(shù)的作用是在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)分配一個(gè)長度 為size的連續(xù)空間。九、編譯預(yù)處理和動(dòng)態(tài)儲(chǔ)存分配1、預(yù)處理命令是以毋號(hào)開頭的命令,它們不是C言的可執(zhí)行命令,這些命令應(yīng)該在函數(shù)之外書寫,一般在源文件的最前面書寫,但不是必須在起始位置書寫,所以B), C)錯(cuò)誤。C)語言的預(yù)處理能夠

44、實(shí)現(xiàn)宏定義和條件編譯等功能2、宏定義寫在函數(shù)的花括號(hào)外邊,作用域?yàn)槠浜蟮某绦颍ǔT谖募淖铋_頭。宏定義必須位于源程序中所有語句之前是錯(cuò)誤的。 宏名一般用大寫,但不是必須用大寫,宏展開不占運(yùn)行 時(shí)間,只占編譯時(shí)間,函數(shù)調(diào)用占運(yùn)行時(shí)間(分配內(nèi)存、保留現(xiàn)場(chǎng)、值傳遞、返回值)。宏替 換沒有數(shù)據(jù)類型限制3、#define N 100在編譯程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100#換標(biāo)識(shí)符N4、不帶參數(shù)的宏定義是用一個(gè)指定的標(biāo)識(shí)符來代表一個(gè)字符串,其一般形式如下:#define宏名 替換文本。需要注意:(1)在#6巾ne、宏名和替換文本之間用空格隔開,(2)在C程序中,宏定義的定義位置一般寫在程序的開頭;(3

45、)宏名一般用大寫字母表示,便于與變量名區(qū)別;(4)宏定義是用宏名來表示一個(gè)字符串,在宏展開時(shí)以該字符串取代宏名,這只是一種簡單的代換,預(yù)處理程序?qū)λ蛔鋈魏螜z查;(5)宏定義不是語句,在行末不加分號(hào),如加上分號(hào) 則連分號(hào)也一起替換:(6)宏定義必須寫在函數(shù)之外,其作用域?yàn)閺暮甓x命令起到源程序結(jié) 束,如要終止其作用域可使用#undef命令。B選項(xiàng)de巾ne前多了一個(gè)#,缺少替換文本”宏名 替換文本”位置反了,不能將一個(gè)自定義標(biāo)識(shí)符宏定義為關(guān)鍵字5、#define SUB(a) (a)-(a)d=SUB(a+b)*c;SUB(a+b)*c=(a+b)-(a+b)*c=6、f(x) x*x*xf(

46、a+1)=a+1*a+1*a+1=3*a+1=10,f(a+1)=(a+1)*(a+1)*(a+1)=647、在一個(gè)程序中,允許使用任意數(shù)量的 #include命令行包含文件被修改了,包含該文件的源程序必須重新進(jìn)行編譯和連接。8、考查預(yù)處理命令行,預(yù)處理是在程序編譯之前進(jìn)行的。預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束;#define MAX是合法的宏定義命令行;在程序中凡是以恃”開始的語句行都是預(yù)處理命令行十、結(jié)構(gòu)體與共用體1、typedef 類型名新類型名表示為一個(gè)已有定義的類型標(biāo)識(shí)符重新定義一個(gè)類型名2、關(guān)鍵字typedef的作用只是將CS言中的已有的數(shù)據(jù)類型作了置換,并不是增加新的類型;可以用typedef將已存在的類型用一個(gè)新的名字來代表;用typedef定義新的類型名后,原有類型名仍有效

溫馨提示

  • 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)論