




已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
系統(tǒng)開發(fā)實(shí)訓(xùn) C 參考教材 作者 周紅安等編著出版社 電子工業(yè)出版社出版時(shí)間 2009 1 1 2 出版時(shí)間 2009 01 出版社 清華大學(xué)出版社出版日期 2009 3 1 課程地位 STB SQLServer XML PSPM ASP NET Oracle OOAD ComputerBase HTML JavaScript OOP Java C SQLBase JSP Servlet EJB WebService WinForms Struts JSF Testing SQA Linux C 第一講基本語法介紹 第一章C 2008概述 NETFramework是Microsoft為開發(fā)應(yīng)用程序創(chuàng)建的一個(gè)富有革命性平臺 同時(shí)C 2008語言可以在該平臺上實(shí)現(xiàn)大多數(shù)開發(fā)人員需要的功能 而且C 2008還具有大多數(shù)開發(fā)人員所需要的特性 MSDNLibrary使用 MSDN是微軟的文檔庫 提供了大量的技術(shù)文檔 作為一個(gè)合格的開發(fā)人員 應(yīng)該學(xué)會使用產(chǎn)品文檔 要熟悉MSDN 關(guān)鍵是要熟悉下面的幾個(gè)面板 目錄面板 可以讓開發(fā)人員快速地對MSDN有一個(gè)大致的了解 起導(dǎo)航的作用 索引面板 其為開發(fā)人員提供了快速檢索MSDN的功能 在 查找 文本框中輸入感興趣的內(nèi)容 按Enter鍵 MSDN將自動轉(zhuǎn)入最匹配的技術(shù)文檔供開發(fā)人員閱讀 搜索面板 其是MSDN的一種搜索功能 可以提供對本地幫助 MSDNOnline Codezone社區(qū)等許多文檔庫的詳細(xì)搜索 其使用示意圖如圖所示 這是用C 編寫的一個(gè)簡單的HelloWorld程序usingSystem namespaceNotepad classHelloWorld publicstaticvoidMain Console WriteLine HelloWorld 聲明HelloWorld類 描述代碼的注釋 HelloWorld程序 程序入口點(diǎn) Main的返回類型為void 控制臺類的WriteLine 方法用于顯示輸出結(jié)果 導(dǎo)入System命名空間 聲明命名空間Notepad 將文件保存為HelloWorld cs 控制臺程序 usingSystem usingSystem Collections Generic usingSystem Text Using表示程序引用的庫 上面的三個(gè)為控制臺應(yīng)用程序默認(rèn)引用的庫namespaceFirstConsoleApplication 程序?qū)⒁孕陆?xiàng)目名稱自動創(chuàng)建一個(gè)命名空間 即namespace classProgram1 該處的class是類的意思 是自動創(chuàng)建這個(gè)program類 staticvoidMain string args Main 函數(shù)是程序的入口 Console WriteLine helloC 2008 輸出helloC 2008 Console ReadLine 簡單Windows程序 第2章C 中面向過程基本元素 應(yīng)用程序處理的對象是數(shù)據(jù) 而數(shù)據(jù)是以某種特定的形式存在的 例如整數(shù) 實(shí)數(shù) 字符 布爾型等形式 不同的數(shù)據(jù)之間往往還存在某種組織 構(gòu)成了所謂的數(shù)據(jù)結(jié)構(gòu) 2 1基本語法格式 2 1 1語法概述 C 2008中使用的標(biāo)點(diǎn)符號分號 指明一條代碼語句的結(jié)束 冒號 花括號 方括號 圓括號 2 1 2C 2008中的注釋 單行注釋 該行 之后的文本都會被編譯器認(rèn)為是注釋 注釋自動在行尾結(jié)束 其只能用于單行注釋 這是注釋 多行注釋用 字符串開始 以 字符串結(jié)束 2 2常量和變量 C 2008是強(qiáng)類型語言 所以常量和變量都必須先聲明類型 當(dāng)聲明了類型后 計(jì)算機(jī)就會知道處理什么樣的數(shù)據(jù) 以及采用哪種格式保存數(shù)據(jù)等 publicconstintx 1 Intj Doublea Stringc 2 2 2常量 attributesconstant modifiersconsttypeconstant declarators 在上述聲明中 常量修飾符constant modifiers可以是new public protected internal private 而type可以是sbyte byte short ushort int uint long ulong char float double decimal bool string publicconstintx 1 2 2 3變量 在程序運(yùn)行的過程中 值可以改變的量稱為變量 一個(gè)變量應(yīng)該有一個(gè)名字 在內(nèi)存中占據(jù)一定的存儲單元 在該單元中存放變量的值 與常量不同 變量的值可以反復(fù)賦數(shù)值 1 聲明變量2 賦值變量3 變量的類型 數(shù)值類型 namespaceEx 2 1 classProgram staticvoidMain string args inta 50 定義aintb 40 定義bConsole WriteLine a b 輸出Console ReadLine 加上這行才能看到運(yùn)行結(jié)果 否則一閃而過stringi 4 聲明一個(gè)空的字符型變量istringj 10 聲明字符型變量jConsole WriteLine j Console WriteLine i j Console ReadLine namespaceEx 2 10 classProgram staticvoidMain string args stringsName hoan stringsSex 男 intiAge 23 DoubledHeight 1 72 Console Write 我叫 Console WriteLine sName Console Write 性別 Console WriteLine sSex Console Write 年齡 Console WriteLine iAge Console Write 身高 Console WriteLine dHeight Console Read 2 3運(yùn)算符 表達(dá)式及優(yōu)先級 C 2008提供了大量的運(yùn)算符 按照其處理操作數(shù)的不同大致可以分為3類 即一元運(yùn)算符 二元運(yùn)算符和三元運(yùn)算符 主要的運(yùn)算符如表所示 運(yùn)算符和表達(dá)式 前置和后置自加 自減運(yùn)算符 問題 計(jì)算結(jié)果 1 inti 0 boolresult falseresult i i 2 true false result true C 運(yùn)算符的優(yōu)先級 usingSystem usingSystem Collections Generic usingSystem Linq usingSystem Text namespaceEx 2 6 程序的命名空間 也是項(xiàng)目名稱 如Ex 2 6 classProgram staticvoidMain string args Console WriteLine 10 10 這里的 號作為計(jì)算數(shù)值用Console WriteLine 10 10 這里的 號作為字符串相加Console ReadLine 獲取輸入 控制臺窗口停下來 看輸出結(jié)果 賦值運(yùn)算符和賦值表達(dá)式inta 4 a a a a Console WriteLine theValueofais 0 a Console ReadLine 關(guān)系運(yùn)算符intx 10 inty 0 if x 0 位運(yùn)算符x 32 Console WriteLine x y x 2 Console WriteLine y intz x 2 Console WriteLine z Console ReadLine 2 4類型轉(zhuǎn)換 在編寫程序過程中 會經(jīng)常遇到這種情況 就是需要將一種數(shù)據(jù)類型的值賦給另一種不同數(shù)據(jù)類型的變量 例如 從int類型轉(zhuǎn)換到long類型數(shù)據(jù)類型之間的轉(zhuǎn)換等 由于數(shù)據(jù)類型有差異 在賦值時(shí)就需要進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換 在C 2008中提供了如下的轉(zhuǎn)換 隱式轉(zhuǎn)換 顯式轉(zhuǎn)換 使用命令的顯示轉(zhuǎn)換 classProgram namespaceEx 2 4 staticvoidMain string args doubled 100 5 inti i int d Console WriteLine i Console ReadLine byteb 5 實(shí)現(xiàn)了隱式轉(zhuǎn)換intx b Console WriteLine theValueofxis 0 x Console ReadLine boolmyBool true doublemyDouble 99 00 stringmyString Convert ToString myBool Convert ToString myDouble Console WriteLine theValueofmyStringis 0 myString Console ReadLine 2 5數(shù)組 數(shù)組是一種數(shù)據(jù)結(jié)構(gòu) 其中包含一些可透過計(jì)算得到之索引來存取的變量 數(shù)組中所包含的變量 又稱為數(shù)組的元素 都具有相同型別 而此型別就叫做數(shù)組的元素型別數(shù)組必須先定義 后使用 數(shù)組的定義采用以下方式 其中Type可以是任意的類型 name是數(shù)組的名稱 數(shù)組可以通過兩種方式進(jìn)行初始化 第一種方式是完整的指定數(shù)組的內(nèi)容 第二種方式是指定數(shù)組的長度 并使用new關(guān)鍵字初始化所有的數(shù)組元素 int intArray 1 2 3 聲明了一個(gè)一維數(shù)組并賦值等價(jià)于 int intArray 聲明了一個(gè)一維數(shù)intArray 1 2 3 對數(shù)組賦值int 3 intArray 聲明了一個(gè)一維數(shù)intArray newint 3 對數(shù)組初始化 namespaceEx 2 3 classProgram staticvoidMain string args int array newint 5 定義一個(gè)一維數(shù)組 它有5個(gè)元素for inti 0 i array Length i 循環(huán)計(jì)算i的值 最大長度是數(shù)組的長度array Length array i i 10 Console WriteLine array i 輸出i的值 Console ReadLine 獲取輸入焦點(diǎn) 為了看運(yùn)行結(jié)果 放在循環(huán)體之外 定義一個(gè)二維數(shù)組int intArray newint 2 3 為二維數(shù)組賦值并輸出for inti 0 i intArray GetLength 0 i for intj 0 j intArray GetLength 1 j intArray i j i j Console WriteLine Element 0 1 is 2 i j intArray i j Console ReadLine C 中提供了Array Clear 方法 Array Clear方法的定義如下 publicstaticvoidClear Arrayarray intindex intlength 參數(shù)Array為要進(jìn)行刪除操作的數(shù)組 index為要清除的一系列的起始索引 length為要清除的元素?cái)?shù) 代碼演示了Array Clear 的用法 實(shí)現(xiàn)數(shù)組的清空 C 提供了用于排序的方法Array Sort和Array Reverse Array Sort方法用于對一維數(shù)組對象中的元素進(jìn)行排序 Array Reverse方法用于反轉(zhuǎn)一維數(shù)組對象中元素的順序 Array Sort方法的定義如下 publicstaticvoidSort Arrayarray 要排序的一維數(shù)組 publicstaicvoidSort Arrayarray 要排序的一維數(shù)組Intindex 排序范圍的起始索引Intlength 排序范圍內(nèi)的元素?cái)?shù) ArrayList代表一個(gè)能根據(jù)需要動態(tài)增加大小的一維數(shù)組 同時(shí)其能包含任何托管類型的元素 而且不要求所有元素都是相同的類型 當(dāng)需要建立一個(gè)對象數(shù)組模型卻不知道對象數(shù)量時(shí) 它們會非常有用 ArrayList對象是較為復(fù)雜的數(shù)組 ArrayList類提供了多數(shù)System Collections類都提供的功能 但這些功能在數(shù)組類中沒提供 可以將ArrayList看作是擴(kuò)充了功能的數(shù)組 但其不同于數(shù)組 其區(qū)別如下 數(shù)組的容量是固定的 而ArrayList的容量可根據(jù)需要自動擴(kuò)充 ArrayList提供了添加 插入等功能 而數(shù)組卻沒有 ArrayList只提供一維的形式 而數(shù)組可以是多維的 AddArrayList namespaceAddArrayList classProgram staticvoidMain string args ArrayListmyArrayList newArrayList 5 myArrayList Add hello myArrayList Add World 輸出myArrayList的容量Console WriteLine Capacityis 0 myArrayList Capacity 輸出myArrayList中元素的個(gè)數(shù)Console WriteLine Countis 0 myArrayList Count 分別輸出myArrayList中的兩個(gè)元素Console WriteLine myArrayList 0 Console WriteLine myArrayList 1 Console ReadLine 數(shù)組元素的查找 Array LastIndexOf方法 用于查找數(shù)組中的元素 Array IndexOf方法的定義如下 Array IndexOf Array Object Array IndexOf Array Object Int32 Array IndexOf Array Object Int32 Int32 數(shù)組元素的排序 C 提供了用于排序的方法Array Sort和Array Reverse Array Sort方法用于對一維數(shù)組對象中的元素進(jìn)行排序 Array Reverse方法用于反轉(zhuǎn)一維數(shù)組對象中元素的順序 Array Sort方法的定義如下 publicstaticvoidSort Arrayarray 要排序的一維數(shù)組 publicstaicvoidSort Arrayarray 要排序的一維數(shù)組Intindex 排序范圍的起始索引Intlength 排序范圍內(nèi)的元素?cái)?shù) 動態(tài)數(shù)組類 ArrayList代表一個(gè)能根據(jù)需要動態(tài)增加大小的一維數(shù)組 同時(shí)其能包含任何托管類型的元素 而且不要求所有元素都是相同的類型 當(dāng)需要建立一個(gè)對象數(shù)組模型卻不知道對象數(shù)量時(shí) 它們會非常有用 ArrayList的簡單使用 ArrayList對象是較為復(fù)雜的數(shù)組 ArrayList類提供了多數(shù)System Collections類都提供的功能 但這些功能在數(shù)組類中沒提供 可以將ArrayList看作是擴(kuò)充了功能的數(shù)組 但其不同于數(shù)組 其區(qū)別如下 數(shù)組的容量是固定的 而ArrayList的容量可根據(jù)需要自動擴(kuò)充 ArrayList提供了添加 插入等功能 而數(shù)組卻沒有 ArrayList只提供一維的形式 而數(shù)組可以是多維的 ArrayList元素的添加 C 中為ArrayList提供了元素添加的方法 其為ArrayList Add ArrayList Add方法的定義如下 publicvirtualintAdd Objectvalue 添加的對象 ArrayList元素的插入 C 中為ArrayList提供了元素插入的方法ArrayList Insert ArrayList Insert方法的定義如下 publicvirtualvoidInsert Intindex 插入對象的位置Objectvalue 插入的對象 9 4 4ArrayList元素的刪除 C 中為ArrayList提供了元素刪除的方法ArrayList Clear ArrayList Clear方法的定義如下 publicvirtualvoidClear 該方法是從調(diào)用ArrayList對象中刪除了所有元素 即Count屬性被設(shè)為0 但其容量Capacity屬性卻不變 代碼演示了向Array中刪除元素的功能 ArrayList元素的查找 同數(shù)組一樣 ArrayList中也提供了查找其元素的方法 即ArrayList IndexOf 方法 ArrayList LastIndexOf 方法和ArrayLst Contains 方法 由于前兩種方法同Array中同名方法的用法基本相同 所以就不一一介紹了 Contains 的定義如下 publicvirtualboolcontains Objectitem 將要查找的對象 ArrayList元素的遍歷列表 以使用同數(shù)組相同的方法對ArrayList進(jìn)行遍歷 即foreach語句 代碼演示了ArrayList元素的遍歷列表 ArrayList容量的縮減 C 語言提供了TrimToSize方法來縮減ArrayList容量 其定義如下 publicvirtualvoidTrimToSize 該方法用來縮減ArrayList的容量 使它等于ArrayList中的元素?cái)?shù) 如果ArrayList是只讀或大小固定的 將拋出一個(gè)NotSupportedException異常 代碼演示了ArrayList容量的縮減 9 4 8ArrayList向Array的轉(zhuǎn)換 C 語言提供了兩種方法 使ArrayList轉(zhuǎn)換為Array 分別為ArrayList ToArray 和ArrayList ToArray Type 其中 第一種方法的定義如下 publicvirtualobject ToArray 該方法是將ArrayList轉(zhuǎn)換為一個(gè)object數(shù)組 如果想轉(zhuǎn)換為固定類型的Array 就該采用第二種方法 但必須設(shè)置Type 其定義如下 publicvirtualArrayToArray Typetype 轉(zhuǎn)化成Array的類型 隊(duì)列 Queue類通常稱為隊(duì)列 它封裝了一個(gè)先進(jìn)先出的集合 隊(duì)列用來儲存已入隊(duì)的先后順序進(jìn)行處理的對象 9 6Queue簡單介紹 在隊(duì)列中 每個(gè)Queue對象都有一個(gè)容量 如果存儲的元素達(dá)到了它的容量 這個(gè)容量還會自動地增加 Queue對象還具有一個(gè)增長系數(shù) 它表示了當(dāng)Queue滿時(shí)容量的增加值 這個(gè)系數(shù)可以在Queue的構(gòu)造函數(shù)中設(shè)定 默認(rèn)值為20 Queue是一個(gè)比較簡單的類型 其構(gòu)造函數(shù)就有4種 下面我們逐一介紹其構(gòu)造函數(shù) 供讀者參考 Queue Queue Icollectionc Queue intcapacity Queue intcapacity floatgrowthFactor 其中第一種方法的定義如下 publicQueue Queue類元素的添加和輸出 Queue類常用的屬性如表所示 堆棧類 Stack類通常稱為堆棧 它封裝了一個(gè)先進(jìn)后出的集合 堆棧與類Queue相似 用來儲存已入隊(duì)的反向順序進(jìn)行處理的對象 Stack簡單介紹 在堆棧中 每個(gè)Stack對象都有一個(gè)容量 如果存儲的元素達(dá)到了它的容量 這個(gè)容量還會自動地增加 Stack是一個(gè)比較簡單的類型 其構(gòu)造函數(shù)就有3種 下面我們逐一介紹其構(gòu)造函數(shù) 供讀者參考 Stack Stack ICollectionc Stack intcapacity Stack類元素的添加和輸出 Stack集合的常用屬性如表所示 哈希表 HashTable通常稱為哈希表 它表示鍵 key 值 value 對的集合 這些鍵 值對根據(jù)鍵的哈稀代碼進(jìn)行組織 一個(gè)對象的哈稀代碼可以通過使用IhashCodeProvider接口的實(shí)現(xiàn)來獲得 選擇控制關(guān)鍵字 if else switch case循環(huán)控制關(guān)鍵字 while do for foreach跳轉(zhuǎn)控制關(guān)鍵字 break continue 第三章程序的流程控制 語法 if else 選擇結(jié)構(gòu)用于根據(jù)表達(dá)式的值執(zhí)行語句 if else 語法 switch 選擇變量 case值1 break case值2 break case值3 break default switch case switch case的其他特性 每個(gè)case分支必須有一個(gè)break語句各個(gè)case標(biāo)簽不必連續(xù) 也不必按特定順序排列default標(biāo)簽可位于switch case結(jié)構(gòu)中的任意位置default標(biāo)簽不是必選的 但使用default標(biāo)簽是一個(gè)良好的編程習(xí)慣每兩個(gè)case標(biāo)簽之間的語句數(shù)不限 循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)用于對一組命令執(zhí)行一定的次數(shù)或反復(fù)執(zhí)行一組命令 直到指定的條件為真 循環(huán)結(jié)構(gòu)的類型while循環(huán)do循環(huán)for循環(huán)foreach循環(huán) while循環(huán)反復(fù)執(zhí)行指定的語句 直到指定的條件為真語法 while 條件 語句 break語句可用于退出循環(huán)continue語句可用于跳過當(dāng)前循環(huán)并開始下一循環(huán) while循環(huán) do while循環(huán) do while循環(huán)與while循環(huán)類似 二者區(qū)別在于do while循環(huán)中即使條件為假時(shí)也至少執(zhí)行一次該循環(huán)體中的語句 語法 do 語句 while 條件 for循環(huán) for循環(huán)要求只有在對特定條件進(jìn)行判斷后才允許執(zhí)行循環(huán)這種循環(huán)用于將某個(gè)語句或語句塊重復(fù)執(zhí)行預(yù)定次數(shù)的情形語法 for 初始值 條件 增 減 語句 foreach循環(huán) foreach循環(huán)用于遍歷整個(gè)集合或數(shù)組語法 foreach 數(shù)據(jù)類型元素 變量 in集合或者數(shù)組 語句 If語句 namespaceEx 3 3 classProgram staticvoidMain string args 主函數(shù) 也是入口函數(shù) boolflag true if flag true Console WriteLine 標(biāo)志位為真 輸出 else Console WriteLine 標(biāo)志位為假 輸出 Console ReadLine switch classProgram staticvoidMain string args stringChoice null Console Write 請選擇 Choice Console ReadLine switch Choice case a Console WriteLine 開始看書 break case b Console WriteLine 開始看電影 break default Console WriteLine 無效輸入 Choice break Console ReadLine While語句 Program staticvoidMain string args inti 1 while i 5 當(dāng)i小于5的時(shí)候就執(zhí)行13至16行中的代碼 Console WriteLine 循環(huán)了 0 次 i i Console Re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園班主任年度述職報(bào)告
- 解密2025年證券從業(yè)資格試題及答案
- 2025至2031年中國鋁U板行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年注冊會計(jì)師考試各科目重點(diǎn)難點(diǎn)梳理試題及答案
- 2025至2031年中國線光絨衫行業(yè)投資前景及策略咨詢研究報(bào)告
- 言簡意賅2025年證券從業(yè)考試試題及答案
- 理解項(xiàng)目管理中的戰(zhàn)略規(guī)劃與實(shí)施要素試題及答案
- 創(chuàng)新思維提升2025年注冊會計(jì)師考試成功率試題及答案
- 注冊會計(jì)師考生共創(chuàng)學(xué)習(xí)環(huán)境試題及答案
- 2025年證券從業(yè)資格證考試未來趨勢試題及答案
- 《民航重大安全隱患判定標(biāo)準(zhǔn)(2024 年修訂版)》知識培訓(xùn)
- 國家安全你我有責(zé)-2025全民國家安全教育日主題宣教課件
- 中學(xué)教育基礎(chǔ)(上)知到課后答案智慧樹章節(jié)測試答案2025年春陜西師范大學(xué)
- 儲能站施工組織設(shè)計(jì)施工技術(shù)方案(技術(shù)標(biāo))
- 樓梯 欄桿 欄板(一)22J403-1
- 合同工期延期補(bǔ)充協(xié)議書
- 幼兒園繪本故事《三只小豬蓋房子》教學(xué)課件全文
- JBT 7387-2014 工業(yè)過程控制系統(tǒng)用電動控制閥
- 2024年河南省水務(wù)規(guī)劃設(shè)計(jì)研究有限公司人才招聘筆試參考題庫附帶答案詳解
- 針灸推拿學(xué)教學(xué)課件
- 【基于STM32智能門鎖系統(tǒng)的設(shè)計(jì)10000字(論文)】
評論
0/150
提交評論