




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象程序設計(C#)第二章C#語法基礎2/12目錄任務2.1利用C#實現系統歡迎菜單界面任務2.2編寫C#分支結構程序任務2.3編寫C#循環結構程序3/12任務2.1利用C#實現系統歡迎菜單界面21知識目標能力目標C#程序結構輸出語句搭建開發環境完成菜單制作4/122.1.1情境描述Jack承接了Jam運動商城的信息化系統建設,作為信息化系統建設而言,采取具體的計算機語言對管理系統進行實現是不可逾越的環節。Jack決定采取C#語言完成系統,在他成功搭建了C#開發環境之后,他決定采取C#控制臺項目來編寫運動商城歡迎菜單界面,為了實現C#控制臺菜單界面,他需要完成以下任務:1)設計運動商城進入界面2)利用搭建的環境新建C#項目3)認識C#程序基本結構4)編寫C#語句5)編譯及運行C#程序第1章目錄5/12提到C#語言是伴隨微軟.NET平臺問世,是一個全新的開發體系,任何一個初學者,學習C#語言就的搭建開發平臺及開發環境,采用安裝VisualStudio2010開發工具,能夠成功實現.NET4.0平臺搭建及C#程序的編寫、編譯工作。利用VisualStudio2010工具,可以創建C#控制臺項目、窗體項目、Web項目等不同應用場景。利用C#控制臺程序進行運動商城歡迎界面,首先需要設計運動商城歡迎界面,設計的界面初步可以顯示歡迎界面,并提示系統的進入操作及退出操作等功能。具體設計界面如下圖2-1所示。而作為菜單界面,主要功能就是利用C#的輸出方法將菜單顯示到顯示器中,因此歡迎菜單界面的主要知識點僅僅是輸出方法。C#中,輸出方法主要通過控制臺類Console類的Write及WriteLine方法實現界面顯示。作為初學者,開始需要掌握在什么地方編寫相應的程序代碼。第1章目錄2.1.2問題分析1)安裝VisualStudio2010開發工具。2)在VisualStudio2010下創建C#控制臺項目
打開VisualStudio2010,選擇“文件菜單”->新建項目,進入新建項目頁面,選擇VisualC#下的控制臺應用程序,項目名稱修改為EPOS(若有需要,則可選擇更改存儲位置),點擊“確定”按鈕。如圖2-2所示:第1章目錄2.1.3解決方案7/123)新建CMainMenu類,用于實現主要的系統菜單界面及菜單操作。
選中右邊的解決方案資源管理器中的EPOS項目,右鍵->添加->類,進入新建類的頁面,名稱修改為“CMainMenu.cs”,點擊確定按鈕完成新建類操作。如圖2-3所示:第1章目錄2.1.3解決方案8/124)添加主函數,并輸出主菜單
staticvoidMain(string[]args){//輸出語句,在屏幕中輸出主菜單
Console.WriteLine(“**************運動商場EPOS系統********************");Console.WriteLine("1:登錄系統");Console.WriteLine("2:退出系統");Console.WriteLine(“**************************************************")Console.WriteLine("請選擇,輸入數字:");}
第1章目錄2.1.3解決方案9/125)運行項目第1章目錄2.1.3解決方案10/122.1.4知識總結1、C#簡介C#(讀作“CSharp”)是微軟公司開發的一種基于.NET應用的語言,是一種面向對象的編程語言(OOP)。它的功能強大、編程靈活,和其他所有的編程一樣,它也可以用于創建各種應用程序。C#從C和C++派生而來,但卻是完全重新開發的。微軟公司借用了C和C++中一些已有的概念,并加入了新特性。這些特性使語言更容易使用,其中的許多特性與Java極其類似。此外,它還結合了Delphi和VisualBasic的很多優秀特性。(1)簡單。C#消除了諸如Java和C++等語言中復雜的東西和缺陷,其中包括宏、模板、多重繼承和可視化基類。(2)面向對象。C#支持面向對象的3種編程原則:封裝、繼承和多態性。C#去掉了全局函數、全局變量和全局常數,而是將它們都封裝在一個類中;C#去掉了多重繼承,利用多個接口隱式地實現多重繼承。(3)強大靈活。C#可用于創建字處理程序、圖形、電子表格,甚至其他語言的編譯器。(4)類型安全。C#去掉了指針,從根本上保證了程序的穩定性和類型安全。第1章目錄11/122.1.4知識總結2、C#程序結構在前面的任務中,創建一個控制臺應用程序后,代碼編輯窗口中出現的代碼,是一個控制臺應用程序的基本框架,它是VisualStudio.NET自動生成的。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;
namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){//}}}第1章目錄12/122.1.4知識總結(1)關鍵字在C#代碼中常常使用關鍵字,也叫保留字,是對C#有特定意義的字符串。關鍵字在VisualStudio.NET環境的代碼視圖中默認以藍色顯示。如代碼中的using、namespace、class、static、void等,均為C#的關鍵字。(2)命令空間命名空間提供了一種組織相關類和其他類型的方式,與文件和組件不同,命名空間是一種邏輯組合。命名空間有兩種:一種是系統命名空間,一種是用戶自定義命名空間。系統命名空間是在VisualStudio.NET平臺提供的系統預定義的基本數據類型和類(包括方法成員)類型資源,以供用戶進行程序設計時使用。系統命名空間使用using關鍵字導入,上述代碼中的System就是VisualStudio.NET中最基本的命名空間。用戶自定義命令空間使用namespace關鍵字聲明,上述程序中的“ConsoleApplication1”就是用戶自定義命名空間。第1章目錄13/122.1.4知識總結(3)類與C++核VB不同,C#是完全面向對象的編程語言,這意味著C#中的所有函數都必須封裝在一個類中。class語句聲明一個新的C#類。上述程序中的program類包含一個Main()函數。(4)Main方法C#程序必須包含一個Main方法,用于控制程序的開始和結束。用戶可以在Main方法中創建對象和執行其他方法。Main方法是一個靜態方法,可以具有void或int返回類型。聲明Main方法時既可以不使用參數,也可以使用參數,后一種形式使程序可以讀取命令行參數。(5)注釋注釋常被用來提供關于程序清單的描述性信息,以使程序具有可讀性。注釋語句不參與程序的執行。第1章目錄14/122.1.4知識總結3、.NET與C#1)什么是.NETMicrosoft.NET是微軟推出的開發平臺,是一種面向網絡并能支持各種用戶終端的集成開發環境。它的想法是:利用.NET將計算的重點由一個單獨的設備和Web站點通過Internet簡單相連的世界轉變成一個由設備、服務程序和計算機協同工作的世界,以便為用戶提供更加豐富和完善的解決方案。Microsoft.NET方案由以下四個關鍵部分組成:.NET構件塊服務,即對某些特定服務程序的訪問,例如用于文件存儲的服務、日歷管理或Passport.NET。.NET設備軟件,是運行于新型Internet設備之上的軟件。.NET用戶體驗,包括如自然界面、信息代表和智能標簽這樣的功能,這些技術可以自動建立超級鏈接,這些鏈接指向與用戶創建的文檔中的單詞或短語相關的信息。.NET基礎結構,由.NET框架、MicrosoftVisualStudio.NET、.NET企業服務器和MicrosoftWindows.NET組成。第1章目錄15/122.1.4知識總結2).NET框架.NET框架實際上是一個運行在Windows系列操作系統上的一個系統應用程序,它采用一種全新的網絡計算機模式,通過標準的Internet協議如XML和SOAP等,解決了異質平臺上的分布式松耦合計算問題。.NET框架體系結構如圖2-1所示,它由以下四個主要部分組成:公共語言運行時(CommonLanguageRuntime,簡稱CLR);統一類庫(BaseClassLibrary);數據庫訪問組件(ADO.NET和XML);活動服務器頁面(ASP.NET)。第1章目錄16/122.1.5應用實踐通過前面的學習,我們知道了C#的程序結構的組成元素,了解了C#開發環境的一些知識,那么我們就利用所知道的知識開發一個簡單的C#程序來鞏固所學知識。創建一個圖書管理系統登陸界面。第1章目錄17/12任務2.2編寫C#分支結構程序21知識目標能力目標If語句利用if語句控制菜單轉向18/122.2.1情境描述任務2.1僅僅完成了運動商城系統歡迎界面顯示功能,未能完成運動商城歡迎界面的界面功能選擇功能及相對應的界面調整功能,為了歡迎菜單能夠正常運行,為此他需要完成以下任務:1)完善歡迎菜單界面中的操作功能2)實現登錄菜單設計與實現3)實現歡迎界面轉向到登錄界面;4)編譯及調試,保證系統正常運行。第1章目錄19/122.2.2問題分析完善歡迎菜單的操作,也就是實現人機交互,控制臺的人機交互功能需要通過鍵盤等輸入設備向計算機輸入數據,計算機通過外界輸入的數據,決定程序的執行過程。在C#中可以通過Console.ReadLine或者Console.ReadKey實現輸入。對于歡迎菜單的操作,外界輸入的數據不同,執行的操作也就不同,故需要使用分支語句來實現選擇。登錄菜單屬于系統的另外一個界面,就其登錄界面而言,需要用戶輸入登錄名及登錄密碼。故在界面設計時,可以采取圖2-6的模式進行設計,從技術上講,登錄菜單充分應用了輸入、輸出方法及分支語句。在完成了2個界面的設計及操作之后,需要實現2個界面的轉向操作,C#語言可以采取在同一個類中調用函數的模式實現界面的跳轉。第1章目錄20/122.2.3解決方案1、重構形成FirstMenuDisplay方法打開任務2.1的案例,選中Main函數中的代碼,選擇重構菜單->提取方法(或者使用快捷方式Ctrl+R,Ctrl+M)進入方法重構窗體,修改方法名稱為:FirstMenuDisplay。如下圖2-7所示:第1章目錄21/122.2.3解決方案第1章目錄22/122.2.3解決方案2、編制登錄界面在登錄菜單中,除了計算機顯示的提示信息以外,還需要用戶從鍵盤輸入登錄的用戶名及密碼。從鍵盤輸入數據應采用Console.ReadLine();或者Console.Read();具體代碼如下:第1章目錄23/122.2.3解決方案2、編制登錄界面第1章目錄24/122.2.3解決方案4、在FirstMenuDisplay方法中添加選擇控制
classCMainMenu{//略
privatestaticvoidFirstMenuDisplay(){stringctrl="";//控制變量,保存輸入的選擇項
Console.WriteLine(***************運動商場EPOS系統********************");Console.WriteLine("1:登錄系統");Console.WriteLine("2:退出系統");Console.WriteLine(****************************************************")Console.Write("請選擇,輸入數字:");
ctrl=Console.ReadLine();//接收來自鍵盤的輸入選項if(ctrl=="1")//判定輸入項,轉入不同的菜單LoginDisplay();//調用用戶登錄菜單elseExitDisplay();//調用退出系統菜單}第1章目錄25/122.2.3解決方案5、調試及運行
第1章目錄26/122.2.4知識總結1、數據類型在程序設計中,難免要對數據進行處理,而數據又有不同的種類,如整數、小數、單個字符、多個字符、真假等等,這些種類不同的數據就叫數據類型。C#支持兩種數據類型:值類型和引用類型。值類型變量直接含有它們的數據,而引用類型的變量存儲對數據的引用。這里重點介紹值類型,引用類型將在后面的任務中引出。C#的值類型可以分為三種:簡單類型、結構類型和枚舉類型。第1章目錄27/122.2.4知識總結2)結構類型上面介紹的簡單類型都只包含一種類型信息,可以進行一些常用的數據運算和文字處理。但在實際的處理對象中,有許多信息是由多個不同類型的數據組合在一起進行描述的,而且這些不同類型的數據又互相聯系組成了一個有機的整體,此時就要用到結構類型。例如,某單位要開發一個人事管理系統,一個人事記錄包括職工姓名、年齡、聯系電話、家庭住址等項,這些數據項都是與某一個職工相聯系的。此時,就可以定義一個職工worker結構類型,在這個結構類型中包括職工姓名、年齡、聯系電話、家庭住址,這樣就可以用一個結構類型的變量來存放某個職工的所有相關信息。第1章目錄28/122.2.4知識總結2、變量與常量程序在處理數據時,必須將數據保存在計算機的內存中。保存在內存中的數據從可變性看,分為常量和變量兩種。1)標識符標識符是用戶定義的名字,可以用作變量名、函數名以及類型名等。C#語言的標識符名稱定義的要求與C++語言是基本一致的,必須遵守以下規則:(1)所有的標識符只能由字母、數字和下劃線這三類字符組成,而且第一個字符必須為字母或下劃線。(2)標識符中不能包含空格、標點符號、運算符等其他符號。(3)標識符不能與C#關鍵字名相同。(4)標識符區分大小寫。(5)標識符不能與C#中的類庫名相同。第1章目錄29/122.2.4知識總結2)變量變量時計算機內存中被命名的數據存儲單元,其中存儲的值是可以改變的。在程序中通過變量名來引用其中存儲的信息。變量的類型決定了存儲在變量中的數值的類型。在程序中通過變量取值,實際上就是通過變量名找到相應的內存地址,再從中讀取數據或存入數據。(1)變量的命名通常,變量的命名只要符合標識符的命名規則即可,但在實際應用中,為了保證程序具有良好的風格,變量名最好使用具有實際意義的英文單詞進行組合,提高程序的可讀性。(2)聲明變量在C#中,變量必須先聲明后使用。事實上,在C#中所有的名稱都必須先聲明后使用,包括常量名、方法名、類名、對象名等標識符。第1章目錄30/122.2.4知識總結2.運算符與表達式表達式是用于計算的運算符和操作數的組合,它用于提供特定的信息。一個表達式中通常包括一個或多個運算符以及至少一個操作數。C#支持下列表達式:算術表達式、邏輯表達式、關系表達式、賦值表達式、條件表達式等。運算符是代表一個操作的符號,而操作數是參與運算的對象。比如,在表達式“a+b”中,a和b是操作數,“+”是運算符。第1章目錄31/122.2.4知識總結3、分支控制語句一個C#的程序中包括許多的語句。在撰寫C#應用程序時,可以使用“{”與“}”符號將這些語句分組。C#中用來控制分支結構的語句有兩種:if語句和switch語句。1)if語句if語句的語法格式一般為:if(表達式)
語句1else
語句2
第1章目錄32/122.2.4知識總結2)switch語句當分支情況很多時,雖然if語句的多層嵌套可以實現,但會使程序變得冗長且不直觀。針對這種情況,C#提供了switch語句,用于處理多分支的選擇問題。其語法格式為:switch(控制表達式){case常量表達式1:
語句塊1case常量表達式2:
語句塊2
……case常量表達式n:
語句塊ndefault:
語句塊n+1}
第1章目錄33/122.2.5應用實踐在前面學習的基礎上,通過本實踐,充分理解并運用分支結構語句,創建C#應用程序。使用分支控制語句,實現對成績等級的評定第1章目錄34/12任務2.3編寫C#循環結構程序21知識目標能力目標While循環For循環Dowhile循環利用循環完善菜單35/12內容提要4IPO組成1235分支結構循環結構符號繪制循環結構流程圖36/122.3.1情境描述通過任務2.1、2.2及2.2擴展聯系,Jack成功實現了多個界面菜單的界面及菜單操作,但他卻發現,菜單的交互及菜單的轉向操作僅僅能夠操作一次,未能達到菜單的作用,為了實現操作界面的重復展示,他需要完成以下任務:1)認識循環機制2)完善系統菜單第1章目錄37/122.3.2問題分析Jack的菜單之所有只能執行一次,原因在于他在處理菜單操作時沒有能夠執行重復操作的語句,所以他需要使用循環結構的語句來實現菜單操作。以第一個菜單操作為例,只有當用戶輸入2的情況下,系統才結束運行,該循環屬于循環次數未知,故可以采用dowhile或者while循環來修改當前菜單。第1章目錄38/122.3.3解決方案1、修改FirstMenuDisplay方法
打開完成任務2.2應用實踐練習之后的項目,在工作區中打開CMenu.cs類文件,在FristMenuDisplay中添加循環控制操作。privatestaticvoidFirstMenuDisplay(){
stringctrl="";
do{
Console.Clear();//輸出語句,在屏幕中輸出主菜單Console.WriteLine(************運動商場EPOS系統*******************");Console.WriteLine("1:登錄系統");Console.WriteLine("2:退出系統");Console.WriteLine(************************************************")Console.Write("請選擇,輸入數字:");ctrl=Console.ReadLine();if(ctrl=="1")LoginDisplay();
}while(ctrl!="2");}第1章目錄39/122.3.3解決方案2、修改MainDisplay菜單將光標移動到MainDisplay方法中,在現有的代碼基礎上,添加循環語句,主菜單操作的模式與第一個菜單操作方式相同publicstaticvoidMainDisplay(){stringctrl;while(true){Console.Clear();Console.WriteLine("***************運動商場EPOS系統主界面***********");Console.WriteLine("*1:基礎信維護*");Console.WriteLine("*2:收銀結算*");Console.WriteLine("*3:真情回饋*");Console.WriteLine("*4:信息查詢及統計*");Console.WriteLine("*5:返回上級*");Console.WriteLine("*************************************************");Console.Write("請選擇,輸入數字:");ctrl=Console.ReadLine();switch(ctrl){case"1":BaseInfoDisplay();break;//調用基礎信息維護界面case"2":PosMenuDisplay();break;//調用收銀界面case"3":TestDisplay();break;//調用真情回饋界面case"4":SumDisplay();break;//調用統計界面
case"5":return;//輸入5是結束當前方法,退回到調用該方法時}}},第1章目錄40/122.3.3解決方案3、修改主界面下的二級菜單界面針對BaseInfoDisplay、SumDisplay、FeedBackDisplay進行菜單操作控制,按照菜單控制思想,修改具體操作菜單4、保存,運行程序第1章目錄41/122.3.4知識總結C#提供while、do和for語句以執行重復循環的程序代碼。使用這些語句在某個條件成立時,會重復執行特定的程序代碼。1、for當要重復執行某區段的程序代碼次數已知時,可以使用for語句。語法如下:for(初始值;條件判斷式;更新值)
循環體for語句的執行過程為:1)計算初始值。2)判斷條件判斷式的值,若為假,則結束for循環,否則繼續執行。3)執行循環體,然后更新值,轉到第二步。第1章目錄42/122.3.4知識總結2、while在循環次數不固定時,可以使用while循環。語法為:初始值while(條件式){
循環體}while循環的執行過程為:計算初始值。判斷條件式的值,若為真,執行循環體,然后返回第一步。若條件式的值為假,while循環結束。第1章目錄43/502.3.4知識總結3、do…whiledo循環通常搭配while一起使用。用法類似while循環,唯一不同的地方在于while會先判斷條件,再決定要不要執行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 解除租賃賠償協議書
- 上海石化移交協議書
- 汽車租憑協議書范本
- 小區維修外包協議書
- 小型船廠買賣協議書
- 少數工種用工協議書
- 項目洽談保密協議書
- 解除房屋認購協議書
- 檢測項目承包協議書
- 屋頂廣告拆除協議書
- 2025-2030中國橄欖球行業市場全景調研及投資價值評估咨詢報告
- 砌體結構檢測試題及答案
- DB32T 5061.1-2025 中小學生健康管理技術規范 第1部分:心理健康
- 2025年寧波職業技術學院單招職業傾向性測試題庫審定版
- 2025年洛陽科技職業學院單招職業技能測試題庫及答案(考點梳理)
- 二零二五年度商業地產租賃合同模板:詳細條款與風險防范指南3篇
- 《伯努利方程》課件
- 2025年浙江廣播電視集團招聘筆試參考題庫含答案解析
- 初中生心理健康教育講座課件
- 品管圈PDCA案例-提高成人術后疼痛評估與護理規范率醫院品質管理成果匯報
- D打印用紡織品考核試卷
評論
0/150
提交評論