版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第一部分C#程序設(shè)計基礎(chǔ)第一部分C#程序設(shè)計基礎(chǔ)1第1章概述第1章概述21..NET和.NET框架.NET平臺微軟首席執(zhí)行官鮑爾默:“Microsoft.NET代表了一個集合、一個環(huán)境、一個可以作為平臺支持下一代Internet的可編程框架?!边@里可以理解為一種進行各種應(yīng)用程序開發(fā)的集成開發(fā)和執(zhí)行環(huán)境。1..NET和.NET框架.NET平臺31..NET和.NET框架.NET平臺.NET平臺提供了多種核心的技術(shù)和服務(wù),運用這些技術(shù)和服務(wù)能夠簡化基于Web的應(yīng)用程序開發(fā)。1..NET和.NET框架.NET平臺41..NET和.NET框架.NET平臺可開發(fā)的主要項目類型控制臺應(yīng)用程序Windows窗體應(yīng)用程序(單機或C/S程序)ASP.NET應(yīng)用程序(B/S程序)Windows控件XMLWebService手持設(shè)備應(yīng)用程序等
1..NET和.NET框架.NET平臺可開發(fā)的主要項目類51..NET和.NET框架.NET框架.NET框架類庫提供了一個可以由所有Web應(yīng)用程序、Windows應(yīng)用程序以及XMLWebService應(yīng)用程序訪問的類庫公共語言運行庫(CLR)負(fù)責(zé)管理和執(zhí)行.NET框架類庫開發(fā)的所有應(yīng)用程序。在VisualStudio.NET中集成的所有編程語言編寫的應(yīng)用程序均需通過公共語言運行庫才能運行。1..NET和.NET框架.NET框架61..NET和.NET框架Microsoft中間語言MSILVisualStudio.NET在編譯應(yīng)用程序時,會將其翻譯為運行時環(huán)境通用語言——MSIL。當(dāng)編譯完成后,CLR將管理該程序的執(zhí)行。1..NET和.NET框架Microsoft中間語言MS71..NET和.NET框架即時(JIT)編譯當(dāng)應(yīng)用程序需要在某個系統(tǒng)上運行時,此功能可以將應(yīng)用程序的MSIL代碼翻譯為該系統(tǒng)的機器語言。當(dāng).NET平臺上的客戶端設(shè)備啟動某個基于.NET的應(yīng)用程序時,該程序?qū)钥蛻舳讼到y(tǒng)上的機器語言來運行。無論該程序是用什么語言開發(fā)的,它都可以完全地與其他基于.NET的應(yīng)用程序和服務(wù)進行集成和交互。1..NET和.NET框架即時(JIT)編譯8
類加載器JIT即時編譯器執(zhí)行類庫
(中間碼)RuntimeEngine機器碼(目標(biāo)碼)編譯器源代碼文件EXE/DLL
(中間碼文件).NET程序執(zhí)行過程類加載器JIT即時執(zhí)行類庫
(中間碼)RuntimeE92.C#C#是一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言。C#由C和C++發(fā)展而來,是Microsoft專門為使用.NET平臺而創(chuàng)建的。2.C#C#是一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言102.C#C#特點簡單現(xiàn)代性面向?qū)ο箢愋桶踩?.C#C#特點11C#語言是完全面向?qū)ο蟮木幊陶Z言,是.NET平臺的主流開發(fā)語言。C#語言是完全面向?qū)ο蟮木幊陶Z言,是.NET平臺的主流開發(fā)語12VS.NET2008系統(tǒng)要求支持的操作系統(tǒng):WindowsServer2003;WindowsVista;WindowsXP最低配置:1.6GHzCPU,384MB內(nèi)存,1024x768顯示分辨率,5400RPM硬盤
建議配置:2.2GHz或更快的CPU,1024MB或更大的內(nèi)存,1280x1024顯示分辨率,7200RPM或更快的硬盤
在WindowsVista上運行的配置要求:2.4GHzCPU,768MB內(nèi)存VS.NET2008系統(tǒng)要求支持的操作系統(tǒng):Windows13VS.NET2012系統(tǒng)要求支持的操作系統(tǒng):Windows7SP1(x86和x64)Windows8(x86和x64)WindowsServer2008R2SP1(x64)WindowsServer2012(x64)硬件要求:1.6GHz或更快的處理器1GBRAM(如果在虛擬機上運行,則為1.5GB)10GB的可用硬盤空間5400RPM硬盤驅(qū)動器以1024x768或更高的顯示分辨率運行的支持DirectX9的視頻卡VS.NET2012系統(tǒng)要求支持的操作系統(tǒng):14第2章數(shù)據(jù)類型與表達式第3章程序流程控制第4章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)第5章常用數(shù)據(jù)類型的使用第2章數(shù)據(jù)類型與表達式15C#程序結(jié)構(gòu)第一部分各章節(jié)的學(xué)習(xí)以創(chuàng)建控制臺程序為主提示:控制臺應(yīng)用程序(consolapplications)是C#可以創(chuàng)建的幾種類型的項目中最基本的類型之一??刂婆_應(yīng)用程序的文本輸出是在控制臺窗口中顯示的。在WindowsNT/2000/XP/Windows7/Windows8下,該控制臺窗口稱為命令提示符。C#程序結(jié)構(gòu)第一部分各章節(jié)的學(xué)習(xí)以創(chuàng)建控制臺程序為主16創(chuàng)建控制臺應(yīng)用程序的步驟打開VS.2012文件新建項目在“新建項目”窗體中創(chuàng)建程序,如下圖創(chuàng)建控制臺應(yīng)用程序的步驟17概述數(shù)據(jù)類型與程序流程控制課件18創(chuàng)建控制臺應(yīng)用程序的步驟創(chuàng)建新程序后,VS.2012會出現(xiàn)如下圖的界面創(chuàng)建控制臺應(yīng)用程序的步驟19創(chuàng)建控制臺應(yīng)用程序的步驟將默認(rèn)生成的程序改為//AfirstprograminC#usingSystem;namespace_0201Hello{classProgram{staticvoidMain(string[]args){Console.WriteLine("HelloWorld!");Console.ReadLine();}}}創(chuàng)建控制臺應(yīng)用程序的步驟//Afirstprogram20注釋單行注釋://多行注釋:/**/注釋21usingSystem;using關(guān)鍵字可以引用Microsoft.NET框架類庫中的現(xiàn)有資源。通常,在程序文件的開頭使用using提示:C#的優(yōu)勢之一就是使程序員能使用由.NET架構(gòu)提供的豐富的命名空間(namespace)。這些命名空間包含了程序員預(yù)先存儲的代碼,命名空間將這些代碼按相關(guān)類別分組。Console就是命名空間System中的代碼。usingSystem;22System命名空間System命名空間提供了對構(gòu)建應(yīng)用程序所需的所有系統(tǒng)功能的訪問System命名空間23類(class)在C#或其他任何面向?qū)ο笳Z言的編程過程中,都需要編寫類,并用類來創(chuàng)建對象。類(class)24Main方法(函數(shù))Main方法用來描述類的行為,它指示編譯器從該處開始執(zhí)行應(yīng)用程序。每個C#應(yīng)用程序都必須在組成程序的某一個類中包含Main方法。Main方法(函數(shù))25語句語句就是C#應(yīng)用程序中執(zhí)行操作的指令。語句之間用分號分隔,編譯器通過分號來區(qū)分它們。語句26代碼格式代碼格式也是編程的組成要素,它有助于良好而清晰的組織代碼。推薦使用約定的格式以改進代碼的結(jié)構(gòu),并能夠提高代碼的可讀性??s進區(qū)分大小寫空白區(qū)注釋代碼格式27控制臺應(yīng)用程序的輸入輸出Console類位于System命名空間下,該類可以將數(shù)值、字符數(shù)組以及對象集自動轉(zhuǎn)換為格式化或未格式化的字符串,然后將該字符串輸出??刂婆_應(yīng)用程序的輸入輸出Console類位于System命名28控制臺應(yīng)用程序的輸入輸出WriteLine方法將各種值類型數(shù)據(jù)或?qū)ο筠D(zhuǎn)換為字符串輸出。booleanflag=false;intage=18;stringstr=“abc”;
Console.Write(flag);Console.WriteLine(18);Console.WriteLine(str);
控制臺應(yīng)用程序的輸入輸出WriteLine方法將各種值類型數(shù)29控制臺應(yīng)用程序的輸入輸出ReadLine方法用于從標(biāo)準(zhǔn)輸入流讀取一行字符。該方法在用戶按下回車鍵之前不會返回,直到用戶按下回車鍵為止。stringstr=“abc”;
str=Console.ReadLine();
intprice;
price=Convert.ToDecimal(Console.ReadLine());
控制臺應(yīng)用程序的輸入輸出ReadLine方法用于從標(biāo)準(zhǔn)輸入流30第2章數(shù)據(jù)類型與表達式C#基本數(shù)據(jù)類型變量和常量類型轉(zhuǎn)換運算符和表達式第2章數(shù)據(jù)類型與表達式C#基本數(shù)據(jù)類型31
1.C#基本數(shù)據(jù)類型C#中的數(shù)據(jù)類型值類型簡單類型:整數(shù)類型;浮點數(shù)類型;字符類型:decimal類型;布爾類型枚舉類型結(jié)構(gòu)類型引用類型類類型接口類型委托類型數(shù)組類型指針類型(僅用于安全代碼中)1.C#基本數(shù)據(jù)類型C#中的數(shù)據(jù)類型值類型簡單類型:整數(shù)32數(shù)值類型
byte——8位無符號整數(shù);sbyte——8位有符號整數(shù);short——16位有符號整數(shù);ushort——16位無符號整數(shù);int——32位有符號整數(shù);uint——32位無符號整數(shù);long——64位有符號整數(shù);ulong——64位無符號整數(shù);數(shù)值類型byte——8位無符號整數(shù);33數(shù)值類型
float——32位單精度浮點數(shù);double——64位雙精度浮點數(shù);
decimal——128位高精度十進制數(shù);數(shù)值類型float——32位單精度浮點數(shù);34字符類型
char——單字符(2字節(jié))
string——字符串字符類型char——單字符(2字節(jié))35布爾類型
boolean——布爾類型(true和false)
布爾類型適用于邏輯運算,一般用于流程控制。布爾類型數(shù)據(jù)不可以用0或非0替代true和false。布爾類型boolean——布爾類型(true和f36數(shù)值類型常使用的數(shù)據(jù)類型包括string,int和decimal
如果數(shù)據(jù)用于計算,則必須是數(shù)值(通常是int或decimal)如果數(shù)據(jù)不用于計算,則應(yīng)選擇string類型
float,double通常用于科學(xué)應(yīng)用程序
decimal通常用于商業(yè)應(yīng)用程序中,作為任何小數(shù)的數(shù)據(jù)類型數(shù)據(jù)類型的選擇數(shù)值類型常使用的數(shù)據(jù)類型包括string,int和dec37數(shù)值類型數(shù)據(jù)類型的選擇示例stringdecimaldecimalstringint數(shù)值類型數(shù)據(jù)類型的選擇示例stringdecimaldeci382.變量和常量——變量變量聲明;示例:stringnameString=“software”;示例:intcounterInt;變量賦值變量的命名規(guī)則變量名的第一個字符可以是字母或下劃線其后字符可以是字母、數(shù)字或下劃線不可以使用關(guān)鍵字區(qū)分大小寫2.變量和常量——變量變量聲明;39變量的命名約定變量名(或常量名)必須有意義變量名含有變量的數(shù)據(jù)類型(可選,在VS中,將鼠標(biāo)指針停留在變量上一會兒,即可出現(xiàn)數(shù)據(jù)類型的提示)Camelcase:以小寫字母開始,然后使每個后繼單詞的首字母大寫,如phoneNumberPascalcase:每個單詞的首字母均大寫,如PhoneNumber2.變量和常量——變量變量的命名約定2.變量和常量——變量402.變量和常量——常量(1)直接常量:整型常量(八進制、十進制、十六進制);實型常量;字符常量(轉(zhuǎn)義符號);字符串常量。2.變量和常量——常量(1)直接常量:整型常量(八進制412.變量和常量——常量(1)直接常量:C#語言的整型常量默認(rèn)為int類型;C#語言的浮點型常量默認(rèn)為double類型。示例:inti=3;longl=3L;doubled=3.14;floatf=3.14f;2.變量和常量——常量(1)直接常量:C#語言的整型常42對于數(shù)值常量,通過附加一個類型聲明字符,可以聲明數(shù)值常量的數(shù)據(jù)類型。如果沒有給數(shù)值常量附加類型聲明字符,則任何整數(shù)都會被假定為int類型,任何小數(shù)都會被假定為double類型2.變量和常量——常量(1)直接常量:對于數(shù)值常量,通過附加一個類型聲明字符,可以聲明數(shù)值常量的數(shù)43(2)符號常量:使用const關(guān)鍵字聲明示例:conststringCOMPANYNAME=“CNC”;示例:constdecimalSALESTAXRATE=0.08m;符號常量的優(yōu)勢代碼更易閱讀若需修改常量值,僅需修改一次常量聲明語句即可,不必在全部代碼中修改對常量的每一處引用2.變量和常量——常量(2)符號常量:使用const關(guān)鍵字聲明2.變量和常量443.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)(2)
顯示轉(zhuǎn)換
(強制類型轉(zhuǎn)換)(3)
使用方法(函數(shù))實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換(4)拆箱與裝箱3.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)(2)顯示轉(zhuǎn)換453.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)允許數(shù)值范圍小的類型向數(shù)值范圍大的類型轉(zhuǎn)換;允許無符號數(shù)向有符號數(shù)轉(zhuǎn)換。3.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)允許數(shù)值范圍小的類46格式:(數(shù)據(jù)類型名稱)(表達式)(2)顯示轉(zhuǎn)換(強制類型轉(zhuǎn)換)示例:
intx=500;
shortz=(short)x;//z值為5003.類型轉(zhuǎn)換格式:(數(shù)據(jù)類型名稱)(表達式)(2)顯示轉(zhuǎn)換(強制類型轉(zhuǎn)47Parse方法
——將特定格式的字符串轉(zhuǎn)換為數(shù)值.格式:
數(shù)值類型名稱.Parse(字符串型表達式)示例:
intm=int.Parse("1234");decimalx=decimal.Parse(“3.14”);3.類型轉(zhuǎn)換(3)使用方法實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換Parse方法格式:數(shù)值類型名稱.Parse(字符串型48
格式:變量名稱.ToString();示例:
intm=234;stringstr1=m.ToString();
ToString方法
——將其他類型的變量轉(zhuǎn)換為字符串。格式:變量名稱.ToString();示例:ToStri49System.Convert類
——將一個基本數(shù)據(jù)類型轉(zhuǎn)換為另一個基本數(shù)據(jù)類型。Convert類擁有針對每種數(shù)據(jù)類型的以To開始的方法。3.類型轉(zhuǎn)換(3)使用方法實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換System.Convert類3.類型轉(zhuǎn)換(3)使用方法實503.類型轉(zhuǎn)換3.類型轉(zhuǎn)換513.類型轉(zhuǎn)換3.類型轉(zhuǎn)換52System.Convert類 3.類型轉(zhuǎn)換(3)使用方法實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換示例:
decimalprice;stringstr=“23.43”;price=Convert.ToDecimal(str);System.Convert類 3.類型轉(zhuǎn)換(3)使用方534.運算符和表達式4.運算符和表達式545.結(jié)構(gòu)類型結(jié)構(gòu)是將多個相關(guān)的數(shù)據(jù)字段合并在一起而創(chuàng)建的一種新的結(jié)構(gòu)。
[public|private]struct結(jié)構(gòu)名
{public數(shù)據(jù)類型字段名;
public數(shù)據(jù)類型字段名;
……};5.結(jié)構(gòu)類型結(jié)構(gòu)是將多個相關(guān)的數(shù)據(jù)字段合并在一起而創(chuàng)建的一555.結(jié)構(gòu)類型示例
publicstructProduct{publicstringdescription;publicstringID;publicintquantity;publicdecimalprice;}5.結(jié)構(gòu)類型示例publicstructProdu565.結(jié)構(gòu)類型結(jié)構(gòu)聲明不能放入方法內(nèi)部。通常應(yīng)把struct塊與類聲明一起放在文件頂部,也可以將struct塊放到類的內(nèi)部或外部 。5.結(jié)構(gòu)類型結(jié)構(gòu)聲明不能放入方法內(nèi)部。通常應(yīng)把struct575.結(jié)構(gòu)類型示例publicstructOrderItem{publicstringsize;publicstringdrink;publicintquantity;publicdecimalprice;}OrderItemdrinkOrder;5.結(jié)構(gòu)類型示例publicstructOrderIt586.枚舉枚舉類型用于聲明一組命名的常數(shù)。每種枚舉類型均有一種基礎(chǔ)類型,此基礎(chǔ)類型可以是除char類型以外的任何整型。enumWeekDay{Sun,Mon,Tue,Wed,Thu,Fri,Sat};WeekDaytheDay;枚舉元素的默認(rèn)基礎(chǔ)類型為int。默認(rèn)情況下,第一個枚舉元素值為0,后面的每個枚舉元素的值一次遞增1。6.枚舉枚舉類型用于聲明一組命名的常數(shù)。每種枚舉類型均有一59例2-2:編程,輸入年利率(例如2.5%)和存款總數(shù)(例如30000元),計算一年后的本息合計并輸出。輸出本息之和deposit輸入年利率rate和存款本金capitaldeposit=capital*(1+rate)例2-2:編程,輸入年利率(例如2.5%)和存款總數(shù)(例如360staticvoidMain(string[]args){decimalrate,capital,depoist;
Console.Write("請輸入年利率:");rate=Convert.ToDecimal(Console.ReadLine());Console.Write("請輸入本金:");capital=Convert.ToDecimal(Console.ReadLine());depoist=capital*(1+rate);Console.Write("一年后本利之和:");Console.WriteLine(depoist);Console.ReadLine();}staticvoidMain(string[]args61第3章程序流程控制順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)第3章程序流程控制順序結(jié)構(gòu)623.1選擇結(jié)構(gòu)簡介條件S1S2TF選擇結(jié)構(gòu)3.1選擇結(jié)構(gòu)簡介條件S1S2TF選擇結(jié)構(gòu)633.1.1單分支選擇結(jié)構(gòu)
if(條件表達式)
語句1;[else
語句2;]3.1.1單分支選擇結(jié)構(gòu)if(條件表達式)643.1.2多分支選擇結(jié)構(gòu)
if~elseif語句
switch語句3.1.2多分支選擇結(jié)構(gòu)if~elseif語句65(1)if~elseif語句if(條件表達式1)
語句1;elseif(條件表達式2)
語句2;:elseif
語句n;else
語句n+1;條件1=0≠0語句1條件2=0≠0語句2條件3=0≠0語句3語句4(1)if~elseif語句if(條件表達式1)條件166例3-1:體型判斷。按“體指數(shù)”對肥胖程度進行劃分:
體指數(shù)t=體重w/(身高h)2
(w單位為公斤,h單位為米)當(dāng)t<18時,為低體重;當(dāng)t介于18和25之間時,為正常體重;當(dāng)t介于25和27之間時,為超重體重;當(dāng)t>=27時,為肥胖。編程從鍵盤輸入你的身高h和體重w,根據(jù)給定公式計算體指數(shù)t,然后判斷你的體重屬于何種類型。例3-1:體型判斷。按“體指數(shù)”對肥胖程度進行劃分:
67t<18?真假t<25?t<27?真真假假輸入身高h和體重w計算體指數(shù)t顯示”低體重”顯示”正?!憋@示”超重”顯示”肥胖”t<18?真假t<25?t<27?真真假假輸入身高h和體重w68decimalh,w,t;Console.Write("Pleaseenterh:");h=Convert.ToDecimal(Console.ReadLine());Console.Write("Pleaseenterw:");w=Convert.ToDecimal(Console.ReadLine());t=w/(h*h);Console.WriteLine(t);if(t<18)Console.WriteLine("低體重");elseif(t<25)Console.WriteLine("正常體重");elseif(t<27)Console.WriteLine("超重體重");elseConsole.WriteLine("肥胖體重");Console.ReadLine();decimalh,w,t;69
switch(變量或表達式) { casec1:
語句1;break; casec2:
語句2;break; : casecn:
語句n;break; [default:語句n+1;break;] }(2)switch語句整型字符類型字符串等 switch(變量或表達式)(2)switch語句整型70執(zhí)行流程圖(設(shè):變量或表達式的值為e)e==c1語句1e==c2語句2e==c3語句3語句4==0≠0≠0≠0==0==0執(zhí)行流程圖(設(shè):變量或表達式的值為e)e==c1語71switch語句的注意事項:Switch不能將控制從一個case標(biāo)簽貫穿到另一個case標(biāo)簽(不能省略break)如果一個case子句為空,可以從這個case跳到下一個case。switch語句的注意事項:72例3-3:根據(jù)輸入的百分制成績,輸出相應(yīng)等級。intscore;Console.Write("請輸入成績:");score=Convert.ToInt32(Console.ReadLine());switch(score/10){case10:case9:Console.Write("A");break;case8:Console.Write("B");break;case7:Console.Write("C");break;case6:Console.Write("D");break;case5:case4:case3:case2:case1:case0:Console.Write("E");break;default:Console.Write("ERROR");break;}
例3-3:根據(jù)輸入的百分制成績,輸出相應(yīng)等級。733.2循環(huán)結(jié)構(gòu)程序設(shè)計條件語句TF循環(huán)結(jié)構(gòu)3.2循環(huán)結(jié)構(gòu)程序設(shè)計條件語句TF循環(huán)結(jié)構(gòu)743.2.1for循環(huán)語句for(表達式1;表達式2;表達式3)語句;循環(huán)體例:
s=0;p=1;for(i=1;i<=5;i++){s+=i;p*=i;} 3.2.1for循環(huán)語句for(表達式1;表達式275for循環(huán)執(zhí)行流程圖計算表達式1計算表達式2執(zhí)行循環(huán)體計算表達式3falsetruefor循環(huán)執(zhí)行流程圖計算表達式1計算表達式2執(zhí)行循環(huán)體計763.2.2while循環(huán)語句1.一般格式2.執(zhí)行流程圖
while(表達式)語句;表達式循環(huán)體falsetrue循環(huán)體3.2.2while循環(huán)語句1.一般格式2.執(zhí)行流程圖773.2.3do~while循環(huán)語句
1.一般格式do {語句;}while(表達式);
2.執(zhí)行流程圖循環(huán)體表達式true
false3.2.3do~while循環(huán)語句1.一般格式78例3-2:編程求
sumsum+n假(0)真(非0)記錄累加數(shù)據(jù)的變量n初始化
記錄累加和變量sum初始化未處理完全部數(shù)據(jù)的累加?n增1計數(shù)輸出累加和例3-2:編程求sumsum+n假(0)真(非079for(i=1;i<=100;i++)sum+=i;i=1;while(i<=100){sum+=i;i++;}i=1;do{sum+=i;i++;}while(i<=100);for(i=1;i<=100;i++)i=803.2.4跳轉(zhuǎn)語句goto語句break語句continue語句3.2.4跳轉(zhuǎn)語句goto語句81演講完畢,謝謝觀看!演講完畢,謝謝觀看!82第一部分C#程序設(shè)計基礎(chǔ)第一部分C#程序設(shè)計基礎(chǔ)83第1章概述第1章概述841..NET和.NET框架.NET平臺微軟首席執(zhí)行官鮑爾默:“Microsoft.NET代表了一個集合、一個環(huán)境、一個可以作為平臺支持下一代Internet的可編程框架?!边@里可以理解為一種進行各種應(yīng)用程序開發(fā)的集成開發(fā)和執(zhí)行環(huán)境。1..NET和.NET框架.NET平臺851..NET和.NET框架.NET平臺.NET平臺提供了多種核心的技術(shù)和服務(wù),運用這些技術(shù)和服務(wù)能夠簡化基于Web的應(yīng)用程序開發(fā)。1..NET和.NET框架.NET平臺861..NET和.NET框架.NET平臺可開發(fā)的主要項目類型控制臺應(yīng)用程序Windows窗體應(yīng)用程序(單機或C/S程序)ASP.NET應(yīng)用程序(B/S程序)Windows控件XMLWebService手持設(shè)備應(yīng)用程序等
1..NET和.NET框架.NET平臺可開發(fā)的主要項目類871..NET和.NET框架.NET框架.NET框架類庫提供了一個可以由所有Web應(yīng)用程序、Windows應(yīng)用程序以及XMLWebService應(yīng)用程序訪問的類庫公共語言運行庫(CLR)負(fù)責(zé)管理和執(zhí)行.NET框架類庫開發(fā)的所有應(yīng)用程序。在VisualStudio.NET中集成的所有編程語言編寫的應(yīng)用程序均需通過公共語言運行庫才能運行。1..NET和.NET框架.NET框架881..NET和.NET框架Microsoft中間語言MSILVisualStudio.NET在編譯應(yīng)用程序時,會將其翻譯為運行時環(huán)境通用語言——MSIL。當(dāng)編譯完成后,CLR將管理該程序的執(zhí)行。1..NET和.NET框架Microsoft中間語言MS891..NET和.NET框架即時(JIT)編譯當(dāng)應(yīng)用程序需要在某個系統(tǒng)上運行時,此功能可以將應(yīng)用程序的MSIL代碼翻譯為該系統(tǒng)的機器語言。當(dāng).NET平臺上的客戶端設(shè)備啟動某個基于.NET的應(yīng)用程序時,該程序?qū)钥蛻舳讼到y(tǒng)上的機器語言來運行。無論該程序是用什么語言開發(fā)的,它都可以完全地與其他基于.NET的應(yīng)用程序和服務(wù)進行集成和交互。1..NET和.NET框架即時(JIT)編譯90
類加載器JIT即時編譯器執(zhí)行類庫
(中間碼)RuntimeEngine機器碼(目標(biāo)碼)編譯器源代碼文件EXE/DLL
(中間碼文件).NET程序執(zhí)行過程類加載器JIT即時執(zhí)行類庫
(中間碼)RuntimeE912.C#C#是一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言。C#由C和C++發(fā)展而來,是Microsoft專門為使用.NET平臺而創(chuàng)建的。2.C#C#是一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言922.C#C#特點簡單現(xiàn)代性面向?qū)ο箢愋桶踩?.C#C#特點93C#語言是完全面向?qū)ο蟮木幊陶Z言,是.NET平臺的主流開發(fā)語言。C#語言是完全面向?qū)ο蟮木幊陶Z言,是.NET平臺的主流開發(fā)語94VS.NET2008系統(tǒng)要求支持的操作系統(tǒng):WindowsServer2003;WindowsVista;WindowsXP最低配置:1.6GHzCPU,384MB內(nèi)存,1024x768顯示分辨率,5400RPM硬盤
建議配置:2.2GHz或更快的CPU,1024MB或更大的內(nèi)存,1280x1024顯示分辨率,7200RPM或更快的硬盤
在WindowsVista上運行的配置要求:2.4GHzCPU,768MB內(nèi)存VS.NET2008系統(tǒng)要求支持的操作系統(tǒng):Windows95VS.NET2012系統(tǒng)要求支持的操作系統(tǒng):Windows7SP1(x86和x64)Windows8(x86和x64)WindowsServer2008R2SP1(x64)WindowsServer2012(x64)硬件要求:1.6GHz或更快的處理器1GBRAM(如果在虛擬機上運行,則為1.5GB)10GB的可用硬盤空間5400RPM硬盤驅(qū)動器以1024x768或更高的顯示分辨率運行的支持DirectX9的視頻卡VS.NET2012系統(tǒng)要求支持的操作系統(tǒng):96第2章數(shù)據(jù)類型與表達式第3章程序流程控制第4章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)第5章常用數(shù)據(jù)類型的使用第2章數(shù)據(jù)類型與表達式97C#程序結(jié)構(gòu)第一部分各章節(jié)的學(xué)習(xí)以創(chuàng)建控制臺程序為主提示:控制臺應(yīng)用程序(consolapplications)是C#可以創(chuàng)建的幾種類型的項目中最基本的類型之一??刂婆_應(yīng)用程序的文本輸出是在控制臺窗口中顯示的。在WindowsNT/2000/XP/Windows7/Windows8下,該控制臺窗口稱為命令提示符。C#程序結(jié)構(gòu)第一部分各章節(jié)的學(xué)習(xí)以創(chuàng)建控制臺程序為主98創(chuàng)建控制臺應(yīng)用程序的步驟打開VS.2012文件新建項目在“新建項目”窗體中創(chuàng)建程序,如下圖創(chuàng)建控制臺應(yīng)用程序的步驟99概述數(shù)據(jù)類型與程序流程控制課件100創(chuàng)建控制臺應(yīng)用程序的步驟創(chuàng)建新程序后,VS.2012會出現(xiàn)如下圖的界面創(chuàng)建控制臺應(yīng)用程序的步驟101創(chuàng)建控制臺應(yīng)用程序的步驟將默認(rèn)生成的程序改為//AfirstprograminC#usingSystem;namespace_0201Hello{classProgram{staticvoidMain(string[]args){Console.WriteLine("HelloWorld!");Console.ReadLine();}}}創(chuàng)建控制臺應(yīng)用程序的步驟//Afirstprogram102注釋單行注釋://多行注釋:/**/注釋103usingSystem;using關(guān)鍵字可以引用Microsoft.NET框架類庫中的現(xiàn)有資源。通常,在程序文件的開頭使用using提示:C#的優(yōu)勢之一就是使程序員能使用由.NET架構(gòu)提供的豐富的命名空間(namespace)。這些命名空間包含了程序員預(yù)先存儲的代碼,命名空間將這些代碼按相關(guān)類別分組。Console就是命名空間System中的代碼。usingSystem;104System命名空間System命名空間提供了對構(gòu)建應(yīng)用程序所需的所有系統(tǒng)功能的訪問System命名空間105類(class)在C#或其他任何面向?qū)ο笳Z言的編程過程中,都需要編寫類,并用類來創(chuàng)建對象。類(class)106Main方法(函數(shù))Main方法用來描述類的行為,它指示編譯器從該處開始執(zhí)行應(yīng)用程序。每個C#應(yīng)用程序都必須在組成程序的某一個類中包含Main方法。Main方法(函數(shù))107語句語句就是C#應(yīng)用程序中執(zhí)行操作的指令。語句之間用分號分隔,編譯器通過分號來區(qū)分它們。語句108代碼格式代碼格式也是編程的組成要素,它有助于良好而清晰的組織代碼。推薦使用約定的格式以改進代碼的結(jié)構(gòu),并能夠提高代碼的可讀性。縮進區(qū)分大小寫空白區(qū)注釋代碼格式109控制臺應(yīng)用程序的輸入輸出Console類位于System命名空間下,該類可以將數(shù)值、字符數(shù)組以及對象集自動轉(zhuǎn)換為格式化或未格式化的字符串,然后將該字符串輸出??刂婆_應(yīng)用程序的輸入輸出Console類位于System命名110控制臺應(yīng)用程序的輸入輸出WriteLine方法將各種值類型數(shù)據(jù)或?qū)ο筠D(zhuǎn)換為字符串輸出。booleanflag=false;intage=18;stringstr=“abc”;
Console.Write(flag);Console.WriteLine(18);Console.WriteLine(str);
控制臺應(yīng)用程序的輸入輸出WriteLine方法將各種值類型數(shù)111控制臺應(yīng)用程序的輸入輸出ReadLine方法用于從標(biāo)準(zhǔn)輸入流讀取一行字符。該方法在用戶按下回車鍵之前不會返回,直到用戶按下回車鍵為止。stringstr=“abc”;
str=Console.ReadLine();
intprice;
price=Convert.ToDecimal(Console.ReadLine());
控制臺應(yīng)用程序的輸入輸出ReadLine方法用于從標(biāo)準(zhǔn)輸入流112第2章數(shù)據(jù)類型與表達式C#基本數(shù)據(jù)類型變量和常量類型轉(zhuǎn)換運算符和表達式第2章數(shù)據(jù)類型與表達式C#基本數(shù)據(jù)類型113
1.C#基本數(shù)據(jù)類型C#中的數(shù)據(jù)類型值類型簡單類型:整數(shù)類型;浮點數(shù)類型;字符類型:decimal類型;布爾類型枚舉類型結(jié)構(gòu)類型引用類型類類型接口類型委托類型數(shù)組類型指針類型(僅用于安全代碼中)1.C#基本數(shù)據(jù)類型C#中的數(shù)據(jù)類型值類型簡單類型:整數(shù)114數(shù)值類型
byte——8位無符號整數(shù);sbyte——8位有符號整數(shù);short——16位有符號整數(shù);ushort——16位無符號整數(shù);int——32位有符號整數(shù);uint——32位無符號整數(shù);long——64位有符號整數(shù);ulong——64位無符號整數(shù);數(shù)值類型byte——8位無符號整數(shù);115數(shù)值類型
float——32位單精度浮點數(shù);double——64位雙精度浮點數(shù);
decimal——128位高精度十進制數(shù);數(shù)值類型float——32位單精度浮點數(shù);116字符類型
char——單字符(2字節(jié))
string——字符串字符類型char——單字符(2字節(jié))117布爾類型
boolean——布爾類型(true和false)
布爾類型適用于邏輯運算,一般用于流程控制。布爾類型數(shù)據(jù)不可以用0或非0替代true和false。布爾類型boolean——布爾類型(true和f118數(shù)值類型常使用的數(shù)據(jù)類型包括string,int和decimal
如果數(shù)據(jù)用于計算,則必須是數(shù)值(通常是int或decimal)如果數(shù)據(jù)不用于計算,則應(yīng)選擇string類型
float,double通常用于科學(xué)應(yīng)用程序
decimal通常用于商業(yè)應(yīng)用程序中,作為任何小數(shù)的數(shù)據(jù)類型數(shù)據(jù)類型的選擇數(shù)值類型常使用的數(shù)據(jù)類型包括string,int和dec119數(shù)值類型數(shù)據(jù)類型的選擇示例stringdecimaldecimalstringint數(shù)值類型數(shù)據(jù)類型的選擇示例stringdecimaldeci1202.變量和常量——變量變量聲明;示例:stringnameString=“software”;示例:intcounterInt;變量賦值變量的命名規(guī)則變量名的第一個字符可以是字母或下劃線其后字符可以是字母、數(shù)字或下劃線不可以使用關(guān)鍵字區(qū)分大小寫2.變量和常量——變量變量聲明;121變量的命名約定變量名(或常量名)必須有意義變量名含有變量的數(shù)據(jù)類型(可選,在VS中,將鼠標(biāo)指針停留在變量上一會兒,即可出現(xiàn)數(shù)據(jù)類型的提示)Camelcase:以小寫字母開始,然后使每個后繼單詞的首字母大寫,如phoneNumberPascalcase:每個單詞的首字母均大寫,如PhoneNumber2.變量和常量——變量變量的命名約定2.變量和常量——變量1222.變量和常量——常量(1)直接常量:整型常量(八進制、十進制、十六進制);實型常量;字符常量(轉(zhuǎn)義符號);字符串常量。2.變量和常量——常量(1)直接常量:整型常量(八進制1232.變量和常量——常量(1)直接常量:C#語言的整型常量默認(rèn)為int類型;C#語言的浮點型常量默認(rèn)為double類型。示例:inti=3;longl=3L;doubled=3.14;floatf=3.14f;2.變量和常量——常量(1)直接常量:C#語言的整型常124對于數(shù)值常量,通過附加一個類型聲明字符,可以聲明數(shù)值常量的數(shù)據(jù)類型。如果沒有給數(shù)值常量附加類型聲明字符,則任何整數(shù)都會被假定為int類型,任何小數(shù)都會被假定為double類型2.變量和常量——常量(1)直接常量:對于數(shù)值常量,通過附加一個類型聲明字符,可以聲明數(shù)值常量的數(shù)125(2)符號常量:使用const關(guān)鍵字聲明示例:conststringCOMPANYNAME=“CNC”;示例:constdecimalSALESTAXRATE=0.08m;符號常量的優(yōu)勢代碼更易閱讀若需修改常量值,僅需修改一次常量聲明語句即可,不必在全部代碼中修改對常量的每一處引用2.變量和常量——常量(2)符號常量:使用const關(guān)鍵字聲明2.變量和常量1263.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)(2)
顯示轉(zhuǎn)換
(強制類型轉(zhuǎn)換)(3)
使用方法(函數(shù))實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換(4)拆箱與裝箱3.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)(2)顯示轉(zhuǎn)換1273.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)允許數(shù)值范圍小的類型向數(shù)值范圍大的類型轉(zhuǎn)換;允許無符號數(shù)向有符號數(shù)轉(zhuǎn)換。3.類型轉(zhuǎn)換(1)隱式轉(zhuǎn)換(自動轉(zhuǎn)換)允許數(shù)值范圍小的類128格式:(數(shù)據(jù)類型名稱)(表達式)(2)顯示轉(zhuǎn)換(強制類型轉(zhuǎn)換)示例:
intx=500;
shortz=(short)x;//z值為5003.類型轉(zhuǎn)換格式:(數(shù)據(jù)類型名稱)(表達式)(2)顯示轉(zhuǎn)換(強制類型轉(zhuǎn)129Parse方法
——將特定格式的字符串轉(zhuǎn)換為數(shù)值.格式:
數(shù)值類型名稱.Parse(字符串型表達式)示例:
intm=int.Parse("1234");decimalx=decimal.Parse(“3.14”);3.類型轉(zhuǎn)換(3)使用方法實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換Parse方法格式:數(shù)值類型名稱.Parse(字符串型130
格式:變量名稱.ToString();示例:
intm=234;stringstr1=m.ToString();
ToString方法
——將其他類型的變量轉(zhuǎn)換為字符串。格式:變量名稱.ToString();示例:ToStri131System.Convert類
——將一個基本數(shù)據(jù)類型轉(zhuǎn)換為另一個基本數(shù)據(jù)類型。Convert類擁有針對每種數(shù)據(jù)類型的以To開始的方法。3.類型轉(zhuǎn)換(3)使用方法實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換System.Convert類3.類型轉(zhuǎn)換(3)使用方法實1323.類型轉(zhuǎn)換3.類型轉(zhuǎn)換1333.類型轉(zhuǎn)換3.類型轉(zhuǎn)換134System.Convert類 3.類型轉(zhuǎn)換(3)使用方法實現(xiàn)數(shù)據(jù)類型的轉(zhuǎn)換示例:
decimalprice;stringstr=“23.43”;price=Convert.ToDecimal(str);System.Convert類 3.類型轉(zhuǎn)換(3)使用方1354.運算符和表達式4.運算符和表達式1365.結(jié)構(gòu)類型結(jié)構(gòu)是將多個相關(guān)的數(shù)據(jù)字段合并在一起而創(chuàng)建的一種新的結(jié)構(gòu)。
[public|private]struct結(jié)構(gòu)名
{public數(shù)據(jù)類型字段名;
public數(shù)據(jù)類型字段名;
……};5.結(jié)構(gòu)類型結(jié)構(gòu)是將多個相關(guān)的數(shù)據(jù)字段合并在一起而創(chuàng)建的一1375.結(jié)構(gòu)類型示例
publicstructProduct{publicstringdescription;publicstringID;publicintquantity;publicdecimalprice;}5.結(jié)構(gòu)類型示例publicstructProdu1385.結(jié)構(gòu)類型結(jié)構(gòu)聲明不能放入方法內(nèi)部。通常應(yīng)把struct塊與類聲明一起放在文件頂部,也可以將struct塊放到類的內(nèi)部或外部 。5.結(jié)構(gòu)類型結(jié)構(gòu)聲明不能放入方法內(nèi)部。通常應(yīng)把struct1395.結(jié)構(gòu)類型示例publicstructOrderItem{publicstringsize;publicstringdrink;publicintquantity;publicdecimalprice;}OrderItemdrinkOrder;5.結(jié)構(gòu)類型示例publicstructOrderIt1406.枚舉枚舉類型用于聲明一組命名的常數(shù)。每種枚舉類型均有一種基礎(chǔ)類型,此基礎(chǔ)類型可以是除char類型以外的任何整型。enumWeekDay{Sun,Mon,Tue,Wed,Thu,Fri,Sat};WeekDaytheDay;枚舉元素的默認(rèn)基礎(chǔ)類型為int。默認(rèn)情況下,第一個枚舉元素值為0,后面的每個枚舉元素的值一次遞增1。6.枚舉枚舉類型用于聲明一組命名的常數(shù)。每種枚舉類型均有一141例2-2:編程,輸入年利率(例如2.5%)和存款總數(shù)(例如30000元),計算一年后的本息合計并輸出。輸出本息之和deposit輸入年利率rate和存款本金capitaldeposit=capital*(1+rate)例2-2:編程,輸入年利率(例如2.5%)和存款總數(shù)(例如3142staticvoidMain(string[]args){decimalrate,capital,depoist;
Console.Write("請輸入年利率:");rate=Convert.ToDecimal(Console.ReadLine());Console.Write("請輸入本金:");capital=Convert.ToDecimal(Console.ReadLine());depoist=capital*(1+rate);Console.Write("一年后本利之和:");Console.WriteLine(depoist);Console.ReadLine();}staticvoidMain(string[]args143第3章程序流程控制順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)第3章程序流程控制順序結(jié)構(gòu)1443.1選擇結(jié)構(gòu)簡介條件S1S2TF選擇結(jié)構(gòu)3.1選擇結(jié)構(gòu)簡介條件S1S2TF選擇結(jié)構(gòu)1453.1.1單分支選擇結(jié)構(gòu)
if(條件表達式)
語句1;[else
語句2;]3.1.1單分支選擇結(jié)構(gòu)if(條件表達式)1463.1.2多分支選擇結(jié)構(gòu)
if~elseif語句
switch語句3.1.2多分支選擇結(jié)構(gòu)if~elseif語句147(1)if~elseif語句if(條件表達式1)
語句1;elseif(條件表達式2)
語句2;:elseif
語句n;else
語句n+1;條件1=0≠0語句1條件2=0≠0語句2條件3=0≠0語句3語句4(1)if~elseif語句if(條件表達式1)條件1148例3-1:體型判斷。按“體指數(shù)”對肥胖程度進行劃分:
體指數(shù)t=體重w/(身高h)2
(w單位為公斤,h單位為米)當(dāng)t<18時,為低體重;當(dāng)t介于18和25之間時,為正常體重;當(dāng)t介于25和27之間時,為超重體重;當(dāng)t>=27時,為肥胖。編程從鍵盤輸入你的身高h和體重w,根據(jù)給定公式計算體指數(shù)t,然后判斷你的體重屬于何種類型。例3-1:體型判斷。按“體指數(shù)”對肥胖程度進行劃分:
149t<18?真假t<25?t<27?真真假假輸入身高h和體重w計算體指數(shù)t顯示”低體重”顯示”正?!憋@示”超重”顯示”肥胖”t<18?真假t<25?t<27?真真假假輸入身高h和體重w150decimalh,w,t;Console.Write("Pleaseenterh:");h=Convert.ToDecimal(Console.ReadLine());Console.Write("Pleaseenterw:");w=Convert.ToDecimal(Console.ReadLine());t=w/(h*h);Console.WriteLine(t);if(t<18)Console.WriteLine("低體重");elseif(t
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版全新泥水工合同協(xié)議下載
- 2025年度智能場館租賃合同中保證金與押金管理細(xì)則3篇
- 2025年網(wǎng)絡(luò)投票系統(tǒng)開發(fā)與運營合同范本3篇
- 2025年度特色餐飲文化體驗館租賃經(jīng)營合同3篇
- 2025年教育機構(gòu)安保人員勞動合同范本2篇
- 二零二五版飯店租賃合同合同履行監(jiān)督與評估機制2篇
- 2025年度大數(shù)據(jù)中心建設(shè)合同擔(dān)保協(xié)議書范本2篇
- 2024年規(guī)范化消石灰銷售協(xié)議模板版B版
- 二零二五版智慧城市建設(shè)監(jiān)理團隊聘用合同3篇
- 2024美容院部分股份轉(zhuǎn)讓協(xié)議書
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測驗)綜合能力測試題及答案1套
- 六年級數(shù)學(xué)質(zhì)量分析及改進措施
- 一年級下冊數(shù)學(xué)口算題卡打印
- 2024年中科院心理咨詢師新教材各單元考試題庫大全-下(多選題部分)
- 真人cs基于信號發(fā)射的激光武器設(shè)計
- 【閱讀提升】部編版語文五年級下冊第三單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 四年級上冊遞等式計算練習(xí)200題及答案
- 法院后勤部門述職報告
- 2024年國信證券招聘筆試參考題庫附帶答案詳解
- 道醫(yī)館可行性報告
- 仙家送錢表文-文字打印版
評論
0/150
提交評論