




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1C+C+與與C C計(jì)算機(jī)學(xué)院計(jì)算機(jī)學(xué)院 李虎李虎新主樓新主樓G910電話:電話:82338574Email: 2 第六章第六章 C#C#基本語言基本語言3C# C# 完全面向?qū)ο笸耆嫦驅(qū)ο蟮牡氖录?qū)動事件驅(qū)動的的可視化可視化編程語言編程語言參考教材:參考教材:Visual C#Visual C#技術(shù)內(nèi)幕技術(shù)內(nèi)幕 李虎等譯,機(jī)械工業(yè)出版社李虎等譯,機(jī)械工業(yè)出版社41.1 1.1 創(chuàng)建創(chuàng)建C# ConsoleC# Console程序程序.NET.NET中新建項(xiàng)目中新建項(xiàng)目56名字可以名字可以改變改變71.2 1.2 程序結(jié)構(gòu)程序結(jié)構(gòu)C#C#的程序文件后綴為的程序文件后綴為.cs.csC#C#的
2、的基本單元:類(基本單元:類(classclass),),C#C#中沒有全局變量、常量中沒有全局變量、常量和全局函數(shù)和全局函數(shù)一個(gè)可執(zhí)行程序中一個(gè)可執(zhí)行程序中有且只有一個(gè)類包含有且只有一個(gè)類包含MainMain成員函數(shù):成員函數(shù):static void Main ( string args )static void Main ( string args ) 程序入口程序入口8class Class1private int num;private int sum;static void Main(string args)num = 10;int result = calSum();void se
3、tNum ( int v)num = v;int calSum( )sum = 0;for ( int i=1;i=num;i+)sum+=i;return sum;9名字空間:名字空間:同一工程中的類定義同一工程中的類定義缺省放在同一名字空間中,空間缺省放在同一名字空間中,空間名字與工程名字相同名字與工程名字相同使用名字空間:使用名字空間:usingusing SystemSystem; ;使用某一名字空間時(shí),使用某一名字空間時(shí),必須添加相應(yīng)組件引用必須添加相應(yīng)組件引用SystemSystem名字空間和組件是自動添加的名字空間和組件是自動添加的1011121.3 1.3 預(yù)定義數(shù)據(jù)類型預(yù)定義
4、數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型含義含義bool8位位 布爾型:布爾型:true, falsechar16位位 Unicode字符字符byte8位位 無符號整型無符號整型sbyte8位位 有符號整型有符號整型short16位位 有符號整型有符號整型ushort16位位 無符號整型無符號整型int32位位 有符號整型有符號整型uint32位位 無符號整型無符號整型long64位位 有符號整型有符號整型ulong64位位 無符號整型無符號整型decimal128位位 貨幣貨幣float32位位 浮點(diǎn)數(shù)浮點(diǎn)數(shù)double64位位 浮點(diǎn)數(shù)浮點(diǎn)數(shù)objectstring字符串類字符串類利用數(shù)據(jù)利用數(shù)據(jù)類型定義類
5、型定義變量的方變量的方式與式與C+相同相同13注意:注意:C#C#中隱式轉(zhuǎn)換只允許從中隱式轉(zhuǎn)換只允許從“窄類型窄類型”向向“寬類型寬類型”轉(zhuǎn)換轉(zhuǎn)換顯式類型轉(zhuǎn)換與顯式類型轉(zhuǎn)換與C C語言語言相同相同double d = 10.5;int i = d; SystemSystem中:中:Int64Int64,Int32Int32,DoubleDouble等類等類可以將字符串分別可以將字符串分別轉(zhuǎn)換成轉(zhuǎn)換成64, 3264, 32的整型或浮點(diǎn)型:的整型或浮點(diǎn)型:string str1=“12”, str2 =“16”,str3=“12.5”;string str1=“12”, str2 =“16”,s
6、tr3=“12.5”;int i = int i = Int32.ParseInt32.Parse(str1);(str1);long l = long l = Int64.ParseInt64.Parse(str2);(str2);double d = double d = Double.ParseDouble.Parse(str3);(str3);14string變量變量可以和另一數(shù)據(jù)類型的值連接可以和另一數(shù)據(jù)類型的值連接生成更長的字符串:生成更長的字符串:string str1 = “He has ”;Consoel.WriteLine ( str1+2+“ books.” );/He
7、has 2 books.利用利用System中的中的String類類格式化字符串:格式化字符串:decimal amount = (decimal) 100.00;string str = String.Format ( “0:C”, amount);/ str為:為: ¥100.00151.4 1.4 值類型和引用類型值類型和引用類型值類型:定義的值類型:定義的變量包含該類型的值變量包含該類型的值,預(yù)定義的各種數(shù)據(jù)類,預(yù)定義的各種數(shù)據(jù)類型都是值類型。(變量和值綁在一起)型都是值類型。(變量和值綁在一起)引用類型:定義的引用類型:定義的變量包含數(shù)值在內(nèi)存中存儲的地址變量包含數(shù)值在內(nèi)存中存儲的地
8、址,自定,自定義的類都是引用類型。義的類都是引用類型。int i = 2;int j = i;j = 3;2i2j3注意:注意:缺省缺省情況下,情況下,值類型作為參數(shù)傳遞時(shí)是按值傳遞值類型作為參數(shù)傳遞時(shí)是按值傳遞的,的,引用類型作為參數(shù)傳遞時(shí)是按地址傳遞引用類型作為參數(shù)傳遞時(shí)是按地址傳遞的。的。16void swap ( int a, int b)int temp = a;a = b;b = a;無法交換無法交換int a = 10, b = 20;swap (a,b);c#提供了提供了ref和和out關(guān)鍵字:關(guān)鍵字:ref指定指定值類型參數(shù)按引用傳遞值類型參數(shù)按引用傳遞C#規(guī)定規(guī)定實(shí)參必須有
9、初始值,否則出現(xiàn)編譯錯(cuò)誤實(shí)參必須有初始值,否則出現(xiàn)編譯錯(cuò)誤,但,但out可以指定實(shí)可以指定實(shí)參無初始值,被調(diào)用的函數(shù)負(fù)責(zé)賦值參無初始值,被調(diào)用的函數(shù)負(fù)責(zé)賦值。void swap (ref int a, ref int b)int temp = a;a = b;b = a;swap ( ref a, ref b );17void sum ( int up, out int v )v = 0;for ( int i=1;i=0)&(h=0)&(h=0)&(v=0)&(value24)hour = value;elsehour = 0;屬性類型必須屬性類型必須和相應(yīng)成
10、員變和相應(yīng)成員變量類型一致量類型一致習(xí)慣約定:習(xí)慣約定:將成員變量將成員變量名的首字母名的首字母改為大寫作改為大寫作為屬性名為屬性名Time t1 = new Time(10,10,0);t1.Hour = 12;Console.WriteLine(“The hour is 0 . ”, t1.Hour );提示:提示:只讀屬性:只提供只讀屬性:只提供get只寫屬性:只提供只寫屬性:只提供set361.10 1.10 多態(tài)性和抽象類多態(tài)性和抽象類C#的多態(tài)性定義與的多態(tài)性定義與C+類似類似public class Animal public virtual void Eat ( )Consol
11、e.WriteLine (“Eat something”);public class Cat : Animal public override void Eat ( )Console.WriteLine (“Eat small animals”);重載基類虛函數(shù)重載基類虛函數(shù)時(shí),必須用時(shí),必須用override關(guān)鍵關(guān)鍵字字37C#中中抽象方法抽象方法相當(dāng)于相當(dāng)于C+中的純虛函數(shù)概念,中的純虛函數(shù)概念,包含抽象包含抽象方法的類為抽象類方法的類為抽象類,抽象類不能直接實(shí)例化(定義對象),抽象類不能直接實(shí)例化(定義對象)public abstract class Animal public abst
12、ract void Eat ( );public class Cat : Animal public override void Eat ( )Console.WriteLine (“Eat small animals”);抽象類、抽象方法前抽象類、抽象方法前必須有關(guān)鍵字:必須有關(guān)鍵字:abstract,抽象方法,抽象方法必須為空必須為空派生類繼承抽象類時(shí),派生類繼承抽象類時(shí),必須重載實(shí)現(xiàn)其所有的必須重載實(shí)現(xiàn)其所有的抽象方法抽象方法38定義一個(gè)類定義一個(gè)類UpperCase,要求:,要求: 用用C#語言實(shí)現(xiàn);語言實(shí)現(xiàn); 該類實(shí)例表示的字符串中不包含小寫字符,遇到小寫字符時(shí),將自動轉(zhuǎn)變?yōu)樵擃悓?shí)例表示的字符串中不包含小寫字符,遇到小寫字符時(shí),將自動轉(zhuǎn)變?yōu)?大寫字符,其
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030高蛋白蛋糕行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030風(fēng)機(jī)塔架行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030連鎖超市產(chǎn)業(yè)行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030精釀啤酒行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030豬飼料行業(yè)市場深度分析及競爭格局與投資價(jià)值研究報(bào)告
- 2025-2030游艇行業(yè)市場深度分析及發(fā)展策略研究報(bào)告
- 2025-2030智慧零售產(chǎn)業(yè)政府戰(zhàn)略管理與區(qū)域發(fā)展戰(zhàn)略研究報(bào)告
- 2025-2030旋轉(zhuǎn)燒烤電烤箱市場行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030摩托車行業(yè)市場發(fā)展分析及發(fā)展趨勢前景預(yù)測報(bào)告
- 非遺題材紀(jì)錄片中人物形象的建構(gòu)研究
- 2025-2030中國寵物行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資前景預(yù)測報(bào)告
- 境外道路貨物運(yùn)輸應(yīng)急預(yù)案
- GB/T 8627-2007建筑材料燃燒或分解的煙密度試驗(yàn)方法
- GB/T 4857.4-2008包裝運(yùn)輸包裝件基本試驗(yàn)第4部分:采用壓力試驗(yàn)機(jī)進(jìn)行的抗壓和堆碼試驗(yàn)方法
- 二極管整流濾波電路課件
- JC01基礎(chǔ)心理學(xué)單科作業(yè)題匯總(含解析)
- 中考英語讀寫綜合練習(xí)
- 混凝土供應(yīng)保證方案 2
- 慢性阻塞性肺疾病入院記錄模板-病歷書寫
- 新疆維吾爾自治區(qū)和田地區(qū)各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)及行政區(qū)劃代碼
- 軟件測試技術(shù)課程教學(xué)大綱
評論
0/150
提交評論