《C#程序設(shè)計(jì)》課件第3章C#程序與數(shù)據(jù)類型_第1頁(yè)
《C#程序設(shè)計(jì)》課件第3章C#程序與數(shù)據(jù)類型_第2頁(yè)
《C#程序設(shè)計(jì)》課件第3章C#程序與數(shù)據(jù)類型_第3頁(yè)
《C#程序設(shè)計(jì)》課件第3章C#程序與數(shù)據(jù)類型_第4頁(yè)
《C#程序設(shè)計(jì)》課件第3章C#程序與數(shù)據(jù)類型_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C#程序與數(shù)據(jù)類型思政目標(biāo):

?通過(guò)學(xué)習(xí)數(shù)據(jù)類型及轉(zhuǎn)換,培養(yǎng)學(xué)生的認(rèn)真、細(xì)致的編程態(tài)度

?通過(guò)編程練習(xí),培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力技能要求:

?掌握C#基本語(yǔ)法要求

?掌握C#中的基本數(shù)據(jù)類型及轉(zhuǎn)換

?正確理解變量的命名規(guī)則,學(xué)會(huì)使用值類型和引用類型實(shí)踐目標(biāo):

?通過(guò)認(rèn)識(shí)C#基本語(yǔ)法,為深入學(xué)習(xí)打基礎(chǔ)

?認(rèn)識(shí)變量與數(shù)據(jù)類型,能夠在編程中正確運(yùn)用

?熟悉變量的使用,能夠在適當(dāng)場(chǎng)景中使用第3章編寫首個(gè)C#程序常量與變量數(shù)據(jù)類型編寫首個(gè)C#程序01PART我們從一個(gè)簡(jiǎn)單的C#程序開始,去認(rèn)識(shí)C#語(yǔ)言的基本構(gòu)成。編寫程序觀察上述程序,分析程序的組成部分。從運(yùn)行結(jié)果可知,代碼中的語(yǔ)句被輸出到屏幕。整個(gè)程序包括usingSystem、namespace、class、Main方法、語(yǔ)句或表達(dá)式,以及注釋。這些內(nèi)容構(gòu)成了一個(gè)完整的程序。第一句是usingSystem,using是C#中的關(guān)鍵字,用于在程序中包含System命名空間。第二句是namespaceConsoleApp2,將“namespace”命名為ConsoleApp2類型。第三句是classProgram,聲明class類,命名為Program。程序詳解第四句是staticvoidMain(string[]args),定義了一個(gè)Main方法。它是所有C#程序的入口點(diǎn),Main方法用來(lái)執(zhí)行類中的動(dòng)作。應(yīng)注意的是,每個(gè)程序必須帶有Main方法。第五句是Console.WriteLine("歡迎來(lái)到C#的世界"),這是一條語(yǔ)句。這條語(yǔ)句可以將括號(hào)中雙引號(hào)內(nèi)的內(nèi)容原樣的輸出到屏幕上,而其中的WriteLine即是執(zhí)行該功能的方法。第六句是Console.ReadKey(),這條語(yǔ)句可以讓輸出的語(yǔ)句在控制臺(tái)顯示,否則程序會(huì)一閃而過(guò)。程序詳解第七句是/*這是第一個(gè)程序*/,這是注釋語(yǔ)句。注釋中的內(nèi)容,會(huì)被編譯器忽略,不會(huì)執(zhí)行。注釋有多種方式可以選擇。在程序中,經(jīng)常用到注釋。注釋是一種備注手段,主要為了方便程序編寫和維護(hù)人員修改、維護(hù)代碼。注釋方法注釋內(nèi)容并不會(huì)被程序編譯器運(yùn)行,即注釋不會(huì)影響程序運(yùn)行的結(jié)果。在C#中,主要有3種注釋方式3.XML注釋(///)2.多行注釋(/**/)1.單行注釋(//)單行注釋用于注釋文字不超過(guò)一行的情況,即短小的注釋。注釋內(nèi)容很多時(shí),可采用多行注釋,只需要將注釋文字放到/*和*/之間即可,且*與/之間不能有空格。注意,多行注釋不能嵌套使用。XML注釋主要用于方法、屬性等的注釋,因而調(diào)用此注釋方法的其他用戶也會(huì)看到相應(yīng)的提示,該注釋還可以方便地生成開發(fā)文檔。因?yàn)樵撟⑨尶勺詣?dòng)生成部分代碼,所以不需要人工輸入全部?jī)?nèi)容。注釋方法標(biāo)識(shí)符是用來(lái)命名變量、方法、參數(shù)等的一種字符串。標(biāo)識(shí)符程序中標(biāo)識(shí)符的位置有規(guī)定:數(shù)字不能放在首位;字母和下劃線隨意使用;@字符只能放在標(biāo)識(shí)符的首位;標(biāo)識(shí)符區(qū)分大小寫,如MyCar與myCar是不同的標(biāo)識(shí)符。需要注意的是,標(biāo)識(shí)符不能與C#的類庫(kù)名稱相同。標(biāo)識(shí)符與關(guān)鍵字關(guān)鍵字是C#編譯器預(yù)定的保留字,用于定義固定內(nèi)容。關(guān)鍵字不能用作變量名,也不能用作標(biāo)識(shí)符,關(guān)鍵字應(yīng)全部小寫。關(guān)鍵字關(guān)鍵字分為保留關(guān)鍵字(ReservedKeywords)和上下文關(guān)鍵字(ContextualKeywords)兩種,二者有區(qū)別。上下文關(guān)鍵字充當(dāng)標(biāo)識(shí)符,有特殊的含義。標(biāo)識(shí)符與關(guān)鍵字保留關(guān)鍵字標(biāo)識(shí)符與關(guān)鍵字abstractasbaseboolbreakbytecasecatchcharcheckedclassconstcontinuedecimaldefaultdelegatedodoubleelseenumeventexplicitexternfalsefinallyfixedfloatforforeachgotoifimplicitinin(genericmodifier)intinterfaceinternalislocklongnamespacenewnullobjectoperatoroutout(genericmodifier)overrideparamsprivateprotectedpublicreadonlyrefreturnsbytesealedshortsizeofstackallocstaticstringstructswitchthisthrowtruetrytypeofuintulonguncheckedunsafeushortusingvirtualvoidvolatilewhile上下文關(guān)鍵字標(biāo)識(shí)符與關(guān)鍵字addaliasascendingdescendingdynamicfromgetglobalgroupintojoinletorderbypartial(type)Partial(method)removeselectset常量與變量02PART常量常量是指在程序運(yùn)行過(guò)程中,值不改變的量。通常,程序中多次出現(xiàn)且固定不變的值定義為常量。枚舉類型使用常量最多。常量的特征(1)常量在程序中只能被賦予初始值,初始值一旦被賦予,該常量在程序運(yùn)行過(guò)程中的值就不會(huì)改變。(2)對(duì)常量進(jìn)行定義時(shí),表達(dá)式中的運(yùn)算符對(duì)象只允許有常量和常數(shù)。常量030201變量的命名變量的命名法變量的賦值變量變量的命名變量名可以包括字母、數(shù)字和下畫線,但數(shù)字不能作為開頭。(2)變量區(qū)分大小寫,這意味著china和China是不同的兩個(gè)變量。(3)變量名不能與C#中的函數(shù)名稱、關(guān)鍵字及上下文關(guān)鍵字相同。(4)變量命名雖然支持中文,但并不推薦使用。(5)Unicode代碼點(diǎn)可以作為變量標(biāo)志符,效果同使用相應(yīng)字符效果一樣,但此做法并不推薦。(6)變量先賦值再使用。定義局部變量時(shí)可以先不賦初值,使用前必須賦初值。變量(1)變量的命名法Pascal命名法所有單詞的首字母大寫,如變量MyCar。對(duì)于能夠從外部訪問(wèn)的成員,如類、屬性、事件、公共方法(函數(shù))和公共字段等的命名,采取Pascal命名法。匈牙利命名法該命名法的特點(diǎn)是在變量的名稱前面添加數(shù)據(jù)類型的縮寫前綴Camel命名法第一個(gè)單詞首字母小寫,其他單詞首字母大寫,如變量myCar。對(duì)于私有字段、私有方法、方法參數(shù)和局部變量等應(yīng)采取Camel命名法。變量變量的賦值,其實(shí)就是將數(shù)據(jù)保存到變量中的過(guò)程。變量的賦值在C#中,變量賦值的格式如下:

變量名=表達(dá)式該格式的意義是:將表達(dá)式計(jì)算后的值賦予變量。這里的等號(hào)意思是賦值符號(hào),不同于運(yùn)算表達(dá)式中的等號(hào)。在程序中,一個(gè)變量可以被多次賦值,變量的當(dāng)前值等于最后一次給變量所賦的值。在對(duì)變量進(jìn)行賦值時(shí),表達(dá)式的值的類型必須與變量的類型相同。字符串類型的變量不能是int類型的數(shù)值。變量數(shù)據(jù)類型03PART04030201整型布爾類型char類型枚舉類型數(shù)據(jù)類型0605隱式類型浮點(diǎn)類型數(shù)據(jù)類型整型類型說(shuō)明范圍sbyte8位有符號(hào)整數(shù)-128~127byte8位無(wú)符號(hào)整數(shù)0~255short16位有符號(hào)整數(shù)-32768~32767ushort16位無(wú)符號(hào)整數(shù)0~65535int32位有符號(hào)整數(shù)-2147483648~2147483647uint32位無(wú)符號(hào)整數(shù)0~4294967295long64位有符號(hào)整數(shù)-9223372036854775808~9223372036854775807ulong64位無(wú)符號(hào)整數(shù)0~18446744073709551615數(shù)據(jù)類型布爾類型數(shù)據(jù)類型bool類型的變量?jī)H有兩個(gè)值:true和false。true和false兩種狀態(tài)的轉(zhuǎn)換可以通過(guò)“!”運(yùn)算符來(lái)實(shí)現(xiàn)無(wú)論中文字符、英文字符或者數(shù)字都?xì)w屬于char類型,char類型占兩個(gè)字節(jié),故最多可以容納65536個(gè)符號(hào),其取值范圍為0~65535。char類型的賦值需要以成對(duì)單引號(hào)標(biāo)記char類型使用char類型需要注意以下五個(gè)方面。(1)給字符變量賦值時(shí),需要使用單引號(hào),且單引號(hào)內(nèi)的字符數(shù)有且僅有一個(gè)。(2)若某個(gè)字符使用雙引號(hào)則表明是字符串,即使其長(zhǎng)度為1也無(wú)法賦給字符型變量。(3)雖然char類型本質(zhì)上為整數(shù),然而其整型數(shù)值(即int,long,short,byte,sbyte等類型)卻不能直接賦給char類型變量。(4)char類型可以直接賦給int和long型變量(不能賦給short,byte,sbyte類型)。它可以像數(shù)值一樣參與運(yùn)算,并將結(jié)果賦給int或long型變量。(5)char類型在實(shí)際應(yīng)用中常和string類型一起使用,特別是在需要逐字符判斷校驗(yàn)字符串中是否含有不合法字符的場(chǎng)合。數(shù)據(jù)類型enum枚舉類型名稱{枚舉元素1[=數(shù)值1],枚舉元素2[=數(shù)值2],…}枚舉類型被用來(lái)表達(dá)若干固定值定義了枚舉后,則可以使用所定義的枚舉類型定義新的變量類型枚舉類型數(shù)據(jù)類型數(shù)值0有一個(gè)特性:它可以賦給任何的枚舉變量,而其他數(shù)值則不具有此特性。枚舉類型元素的默認(rèn)值類型為int,在默認(rèn)情況下,各個(gè)枚舉元素的值按照定義順序遞增1。為枚舉類型元素賦值時(shí),所能賦值的類型只能為byte、short、int、long等整型數(shù)值。除上面所講述的常規(guī)枚舉外,還有一類標(biāo)記枚舉。標(biāo)記枚舉的實(shí)現(xiàn)需要注意如下兩個(gè)事項(xiàng):(1)在枚舉頂部添加[Flags]標(biāo)記。(2)各個(gè)枚舉項(xiàng)的值應(yīng)符合2的冪指數(shù)規(guī)律。隱式類型用var聲明,var關(guān)鍵字是“萬(wàn)能類型”的定義方式,可以用來(lái)聲明任何類型的變量,但并不意味著聲明之后其類型仍不確定。使用var聲明變量的情況下,強(qiáng)制要求在聲明的同時(shí)給變量賦初值當(dāng)使用var聲明變量后,表面沒(méi)有給變量賦予某個(gè)具體的類型,然而編譯器將會(huì)根據(jù)變量的賦值情況,推斷其真實(shí)類型。一旦其真實(shí)類型被推斷,則此后該隱式類型變量不能再作為其他類型使用,故隱式類型變量表面類似JavaScript中的弱類型聲明方式,但它仍然屬于強(qiáng)類型。使用隱式類型變量時(shí)需要注意的問(wèn)題:(1)var聲明的變量,初始值不能為null。(2)var可以用來(lái)定義任何數(shù)據(jù)類型,但在聲明的同時(shí)需要賦初始值。(3)var不能一次聲明多個(gè)變量,如“vari=1,j=2;”,這是錯(cuò)誤的聲明方式。(4)var聲明的變量,初始值若為表達(dá)式,則表達(dá)式中不能包含自身,如“vari=i+1”。(5)隱式類型變量仍為強(qiáng)類型,其具體類型由編譯器根據(jù)初始化賦值情況來(lái)推斷確定。(6)var能不用則不用,使用場(chǎng)合多為L(zhǎng)INQ。(7)var看似相像于object,實(shí)則完全不同。其效率和強(qiáng)類型定義方式一樣,無(wú)object類型使用時(shí)的裝箱、拆箱操作。隱式類型數(shù)據(jù)類型無(wú)論中浮點(diǎn)類型,分別是float、double和decimal,float和double都為浮點(diǎn)類型,分別稱為單精度浮點(diǎn)型和雙精度浮點(diǎn)型;而decimal,一般用于精度要求高的場(chǎng)合。小數(shù)類型(decimal)是高精度的數(shù)據(jù)類型,占用16個(gè)字節(jié)(128位),主要為了滿足需要高精度的財(cái)務(wù)和金融計(jì)算機(jī)領(lǐng)域。文字符、英文字符或者數(shù)字都?xì)w屬于char類型,char類型占兩個(gè)字節(jié),故最多可以容納65536個(gè)符號(hào),其取值范圍為0~65535。char類型的賦值需要以成對(duì)單引號(hào)標(biāo)記浮點(diǎn)類型數(shù)據(jù)類型浮點(diǎn)數(shù)據(jù)類型數(shù)據(jù)類型類型字節(jié)精度后綴標(biāo)記范圍float47f/D1.5×10-45~3.4×1038double815~16d/D5.0×10-324~1.7×10308decimal1629m/M1.0×10-28~7.9×1028由于double是浮點(diǎn)數(shù)值類型的默認(rèn)類型,若使用了一個(gè)浮點(diǎn)數(shù),而沒(méi)有在該數(shù)值后面添加后綴標(biāo)記,則會(huì)使感到初學(xué)者困惑兩個(gè)整數(shù)相除,除數(shù)不能為0,因而decimal類型不能除以0,但此結(jié)論在float類型和double類型上并不成立。此外,使用小數(shù)時(shí)還需要注意精度問(wèn)題。雖然通常情況下,由于誤差過(guò)小,程序輸出結(jié)果并不會(huì)受到太大影響,但積累到一定程度后,問(wèn)題便會(huì)逐漸顯露理論上,該程序輸出的值應(yīng)該每次遞增0.1,然而實(shí)際輸出結(jié)果并非如此01020304數(shù)據(jù)類型數(shù)據(jù)類型1.隱式

轉(zhuǎn)換2.顯式

轉(zhuǎn)換3.Type.Parse4.Convert5.裝箱與拆箱隱式轉(zhuǎn)換可以自動(dòng)進(jìn)行,不會(huì)丟失數(shù)量級(jí),不會(huì)引發(fā)異常的任何轉(zhuǎn)換都屬于隱式轉(zhuǎn)換。典型的隱式轉(zhuǎn)換如int轉(zhuǎn)為long,值不會(huì)發(fā)生根本性的變化,此種轉(zhuǎn)換最簡(jiǎn)單,只需要使用賦值運(yùn)算符即可自動(dòng)完成顯式轉(zhuǎn)換又叫強(qiáng)制類型轉(zhuǎn)換,與隱式轉(zhuǎn)換相反,顯式轉(zhuǎn)換需要用戶明確地指定轉(zhuǎn)換類型。顯式轉(zhuǎn)換可以將一種數(shù)值類型強(qiáng)制轉(zhuǎn)換成另一種數(shù)值類型Type.Parse的轉(zhuǎn)換對(duì)象都

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論