C#數(shù)據(jù)類(lèi)型和表達(dá)式.ppt
《C#數(shù)據(jù)類(lèi)型和表達(dá)式.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《C#數(shù)據(jù)類(lèi)型和表達(dá)式.ppt(41頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第2章 數(shù)據(jù)類(lèi)型和表達(dá)式,通過(guò)本章的學(xué)習(xí),使讀者: 了解C#語(yǔ)言的基本字符、標(biāo)識(shí)符和關(guān)鍵字 掌握C#語(yǔ)言的數(shù)據(jù)和數(shù)據(jù)類(lèi)型 掌握C#語(yǔ)言的運(yùn)算符和表達(dá)式,本章要點(diǎn),2.1 基本規(guī)則,2.1.1 標(biāo)識(shí)符,在C#中,標(biāo)識(shí)符的命名有如下規(guī)則 :,(1)首字符必須是字母、下劃線“_”或“”;后面的字符可以是字母、下劃線或數(shù)字 ; (2)標(biāo)識(shí)符不應(yīng)該使用C#的關(guān)鍵字。如果一定要用C#的關(guān)鍵字作為標(biāo)識(shí)符,應(yīng)使用“”字符作為前綴; (3)允許在標(biāo)識(shí)符中使用Unicode轉(zhuǎn)義符; (4) C#采用了Unicode技術(shù),因此支持使用中文作為標(biāo)識(shí)符,例如: 下面是幾個(gè)正確的變量名稱(chēng):intA、M_data、_D123。 下面是幾個(gè)錯(cuò)誤的變量名稱(chēng): 123data(錯(cuò)誤原因:使用數(shù)字作為起始字符) float (錯(cuò)誤原因:使用關(guān)鍵字作為標(biāo)識(shí)符) int-a (錯(cuò)誤原因:使用連字符“”)。,2.1 基本規(guī)則,2.1.3 關(guān)鍵字,關(guān)鍵字又稱(chēng)保留字,是一種有特殊用途的標(biāo)識(shí)符。由系統(tǒng)預(yù)先定義好的,不能用于其它目的。 C#中有七十多個(gè)關(guān)鍵字,這些關(guān)鍵字都有自己的用途。,C#中的關(guān)鍵字,C# 的數(shù)據(jù)類(lèi)型,C# 的數(shù)據(jù)類(lèi)型,C# 的數(shù)據(jù)類(lèi)型,2.2 基本數(shù)據(jù)類(lèi)型,C+語(yǔ)言的數(shù)據(jù)類(lèi)型分為基本數(shù)據(jù)類(lèi)型和構(gòu)造數(shù)據(jù)類(lèi)型(或稱(chēng)復(fù)合數(shù)據(jù)類(lèi)型)。,基本數(shù)據(jù)類(lèi)型有5種: 整型(int)、浮點(diǎn)型(float)、字符型(char)、雙 精度浮點(diǎn)型(double)和無(wú)值型(void)。,2.2 基本數(shù)據(jù)類(lèi)型,2.2 常量與變量,常量是在程序中不能改變的量。它通??梢苑譃閿?shù)字常量和符號(hào)常量,1 整型常量 整型常量可用以下幾種形式表示:,2.2.1 常量, 十進(jìn)制整數(shù) 如: 34、0、-56等。, 八進(jìn)制整數(shù) 為了與十進(jìn)制數(shù)區(qū)別,八進(jìn)制整數(shù)以0開(kāi)頭,后跟若干個(gè)07的數(shù)字。, 十六進(jìn)制整數(shù) 為了與十進(jìn)制整數(shù)和八進(jìn)制整數(shù)區(qū)別,以0x或OX開(kāi)頭,后跟若干個(gè)09及af,af分別表示十進(jìn)制整數(shù)1015。,2.2 常量與變量,2. 實(shí)型常量,實(shí)數(shù)又稱(chēng)為浮點(diǎn)數(shù),一般有兩種書(shū)寫(xiě)形式:, 一般形式 就是平時(shí)寫(xiě)實(shí)數(shù)的形式。, 指數(shù)形式 在C#中,指數(shù)形式表示為: E,3. 字符常量,字符常量是用單引號(hào)(即撇號(hào))括起來(lái)的一個(gè)字符。,2.2 常量與變量,4. 字符串常量,(1) 常規(guī)字符串 雙引號(hào)括引起的一串字符,可以包括轉(zhuǎn)義字符。 例如:“china”,“ ”,“teacher and student”, “a”等都是字符串常量。,(2) 逐字字符串 在常規(guī)字符串前面加一個(gè),就形成逐字字符串。例如: “C:windowsMicrosoft” 與 “C:windowsMicrosoft“含義相同,2.2 常量與變量,5. 布爾型常量,通常表示真假用布爾常量:false表示假,true表示真。,6. 符號(hào)常量,在聲明語(yǔ)句中,可以聲明一個(gè)標(biāo)識(shí)符常量??梢酝瑫r(shí)聲明一個(gè)或多個(gè)給定類(lèi)型的常量, 必須在聲明時(shí)賦初始值,一旦初始化,就不能修改了,否則會(huì)出現(xiàn)編譯錯(cuò)誤。 具體格式為: const 類(lèi)型 標(biāo)識(shí)符 = 初值 例如: const double PI=3.14159,2.2 常量與變量,在程序執(zhí)行過(guò)程中其值可以改變的量叫變量。,2.2.2 變量的聲明,1變量的定義,; 或 ,,,; 例如: int a,x,y; /定義了3個(gè)整型變量a,x,y char b; /定義了1個(gè)字符型變量b float c,d; /定義了2個(gè)實(shí)型(單精度)變量c,d double u,v; /定義了2個(gè)實(shí)型(雙精度)變量u,v,2.2 常量與變量,2. 變量的初始化,int a=2; /定義a為整型變量,初值為2 char b= A; /定義b為字符型變量,初值為A double x=2.1234; /定義x為實(shí)型變量,初值為2.1234 也可對(duì)被定義的變量的部分變量進(jìn)行初始化。如 int u,v=100,w; /定義u,v,w為整型變量,v的初值為100,2.2 常量與變量,2.2.3 變量的命名規(guī)范,通常有PascalCase和CamelCase兩種命名方法,PascalCase中每個(gè)單詞的首字母都是大寫(xiě),CamelCase規(guī)定首字母都是小寫(xiě)。下面給出PascalCase和CamelCase的例子,如下表所示。,2.2 常量與變量,2.2.4 變量的賦值,在C#中,給一個(gè)變量賦值的格式如下: 變量名 = 表達(dá)式;,int a = 0; /定義整型變量a,并為其賦初值等于0 double b; /定義雙精度變量b,未賦初值 a = 256; /為整型變量a賦值為256 b = 21.78; /為雙精度變量b賦值為21.78,2.2 常量與變量,2.2.5 變量的類(lèi)型,1值類(lèi)型,2.2 常量與變量,2.2.5 變量的類(lèi)型,2引用類(lèi)型 引用類(lèi)型不存儲(chǔ)它們所代表的實(shí)際值,而是指向所要存儲(chǔ)的值,即引用類(lèi)型存儲(chǔ)的實(shí)際數(shù)據(jù)是當(dāng)前的引用的地址 。,(1) object類(lèi)型 object數(shù)據(jù)類(lèi)型是根類(lèi)類(lèi)型,它是所有類(lèi)型的基類(lèi) 。任一個(gè)object變量,可以賦予任何類(lèi)型的值。例如: int x1 = 123; double x2 = 34.87; object y1,y2; /聲明y1,y2是object類(lèi)型的變量 y1 = x1; y2 = x2;,2.2 常量與變量,2.2.5 變量的類(lèi)型,2引用類(lèi)型,(2)字符串類(lèi)型string 字符串是被雙引號(hào)包含的一串字符,專(zhuān)門(mén)用于處理字符串的引用類(lèi)型,string是System.String的別名。用string關(guān)鍵字聲明的變量(對(duì)象)可以存儲(chǔ)Unicode字符的字符串,并具有字符串的連接運(yùn)算。例如: string str1=“C#語(yǔ)言”; string str2=“程序設(shè)計(jì)”; string str3; str3 = str1+str2; /str3的值為:“C#語(yǔ)言程序設(shè)計(jì)”,2.2 常量與變量,2.2.6 類(lèi)型之間的轉(zhuǎn)換,1隱式轉(zhuǎn)換 隱式轉(zhuǎn)換是系統(tǒng)默認(rèn)的,遵守“由低級(jí)(字節(jié)數(shù)和精度)類(lèi)型向高級(jí)類(lèi)型轉(zhuǎn)換,結(jié)果為高級(jí)類(lèi)型”的原則.,string a,b; a = 10 + “12”; /系統(tǒng)將整型數(shù)據(jù)10隱式轉(zhuǎn)化為字符串“10”,結(jié)果a的內(nèi)容為“1012” double x = 3.1415; int y = 21; double z = x+y; /系統(tǒng)將整型數(shù)據(jù)y隱式轉(zhuǎn)化為實(shí)型21.0后再與x運(yùn)算, /結(jié)果z的內(nèi)容為24.1415,隱式轉(zhuǎn)換的數(shù)據(jù)源類(lèi)型以及目標(biāo)類(lèi)型對(duì)應(yīng)表,2.2 常量與變量,2. 顯示轉(zhuǎn)換 (1) 強(qiáng)制轉(zhuǎn)換 強(qiáng)制轉(zhuǎn)換轉(zhuǎn)換的一般格式為:(數(shù)據(jù)類(lèi)型名稱(chēng))數(shù)據(jù) 例如: int i = 2; double d = 3.4; int v1 = (int)(i + d);,(2) ToString()方法 將基本數(shù)值類(lèi)型轉(zhuǎn)化為字符串 使用格式為:變量名稱(chēng).ToString() 例如: int c; c = 309; string e = c.ToString(); /e的值為“309” double d=3.1415; string f = dToString(); /f的值為“3.1415”,2.2 常量與變量,(3) Parse方法 將字符串轉(zhuǎn)換為數(shù)值 數(shù)值類(lèi)型名稱(chēng). Parse(字符串表達(dá)式) 例如: string s = “123.32“; int x; double y ; x = int.Parse(“234”); /將字符串“234“轉(zhuǎn)化為整數(shù)234 y = double.Parse(s); /將字符串“123.32“轉(zhuǎn)化為實(shí)數(shù)123.32,(4) Covert類(lèi) 各種數(shù)據(jù)類(lèi)型之間的相互轉(zhuǎn)化 int c; c=3; string e = c.ToString(); /e的值為“3” int g; g = Convert.ToInt32(e); /g為int類(lèi)型的值3,Convert類(lèi)的常見(jiàn)方法,Convert類(lèi)的常見(jiàn)方法,【例2-2】數(shù)據(jù)類(lèi)型轉(zhuǎn)換。 static void Main(string args) string s1 = “123“, s2 = “90.8“; int x; double y; /1. 用parse,Convert,將字符串轉(zhuǎn)換為數(shù)(int,double,.) x = int.Parse(s1); y = double.Parse(s2); Console.WriteLine(“n s1=0,s2=1“,x,y); x = Convert.ToInt32(s1); y = Convert.ToDouble(s2); Console.WriteLine(“n s1=0,s2=1“, x, y); /2. 用int ,.,Convert,將數(shù)轉(zhuǎn)換為字符串 int k = 12; double d = 12.56; s1 = k.ToString(); s2 = d.ToString(); Console.WriteLine(“n s1=0,s2=1“, s1, s2); s1 = Convert.ToString(k); s2 = Convert.ToString(d); Console.WriteLine(“n s1=0,s2=1“, s1, s2); ,課后作業(yè)1,1、自編程序:在程序中定義分別為int、char、string三種類(lèi)型的變量并正確賦值,隨后輸出這三個(gè)數(shù)據(jù),運(yùn)行該程序。 2、自編程序:在控制臺(tái)接收用戶(hù)隨機(jī)輸入的三個(gè)不同類(lèi)型數(shù)據(jù),分別為int、char、string,隨后輸出這三個(gè)數(shù)據(jù),運(yùn)行該程序。,2.3 運(yùn)算符與表達(dá)式,1. 算術(shù)運(yùn)算符,基本算術(shù)運(yùn)算符及其功能如下表所示。,2.3.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式,2.3 運(yùn)算符與表達(dá)式,2. 算術(shù)表達(dá)式,在C#中,用算術(shù)運(yùn)算符連接起來(lái)的式子稱(chēng)為算術(shù)表達(dá)式。,例如: 2*(a+4)/18-2.98+A, sin(x)+cos(x)/2,(int)a+4+(-z) 都是合法的C+算術(shù)表達(dá)式。但 sin300+ye9 ,3+|x|, 3a+5 不是合法的C#算術(shù)表達(dá)式。,2.3 運(yùn)算符與表達(dá)式,3. 優(yōu)先級(jí)和結(jié)合方向,C#語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向,在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,再按運(yùn)算符的結(jié)合方向結(jié)合(相同優(yōu)先級(jí)時(shí))。例如先乘除后加減,如下表所示。,高,2.3 運(yùn)算符與表達(dá)式,1關(guān)系運(yùn)算符,C#語(yǔ)言中提供6種關(guān)系運(yùn)算符 ,= , = ,!= 。,2.3.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式,(1) 優(yōu)先級(jí)別順序是:自上而下,優(yōu)先級(jí)由高到低。 (2) 同級(jí)運(yùn)算符的結(jié)合性是“左結(jié)合性”,即“自左向右”順序進(jìn)行。 關(guān)系運(yùn)算的優(yōu)先級(jí)都低于算術(shù)類(lèi),高于賦值類(lèi)。例如, ab+c 等效于 a(b+c) a = b+c 等效于 a = (b+c) (3) 關(guān)系運(yùn)算符= , = ,!= 在書(shū)寫(xiě)時(shí),不要空格將其分開(kāi),否則會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤。,2.3 運(yùn)算符與表達(dá)式,2關(guān)系表達(dá)式,用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái),表示關(guān)系運(yùn)算的表達(dá)式稱(chēng)為關(guān)系表達(dá)式。一般形式為: 表達(dá)式1 關(guān)系運(yùn)算符 表達(dá)式2,【例2-4】關(guān)系表達(dá)式。,2.3 運(yùn)算符與表達(dá)式,static void Main(string args) int z; z= 3+5 = 2*4; /即判斷(35)是否等于(2*4),z=1表示true Console.WriteLine(“z= 0“,z); z= 3 5-3; /等價(jià)于(2+3)!=(5(5-3),z=1表示true Console.WriteLine(“z= 0“,z); z = 54 = 3; /先求54結(jié)果為1,再進(jìn)行1 = 3的比較,z=0表示false Console.WriteLine(“z= 0“,z); ,2.3 運(yùn)算符與表達(dá)式,1邏輯運(yùn)算符,有3種邏輯運(yùn)算符:“!”(邏輯非)、“&”(邏輯與)和“|”(邏輯或)。,2.3.3 邏輯運(yùn)算符與邏輯表達(dá)式,2邏輯表達(dá)式,邏輯表達(dá)式的一般形式為: ! x , x & y, x | y,2.3 運(yùn)算符與表達(dá)式,【例2-5】邏輯表達(dá)式。 static void Main(string args) int x = 2,y=5,z; z = (x0)|(y8); Console.WriteLine(“z= 0“,z); /z=1表示true z = (x=0) /z=0表示false ,2.3 運(yùn)算符與表達(dá)式,表達(dá)式1 ?表達(dá)式2 :表達(dá)式3 如果“表達(dá)式1”的值為非0(真), 則條件表達(dá)式的運(yùn)算結(jié)果等于“表達(dá)式2”的值,否則,運(yùn)算結(jié)果等于“表達(dá)式3”的值。,求x的絕對(duì)值, 用條件運(yùn)算符處理為: y = (x=0)?x :-x;,2.3.5 條件運(yùn)算符,2.3 運(yùn)算符與表達(dá)式,當(dāng)表達(dá)式中包含多個(gè)運(yùn)算符時(shí),哪個(gè)運(yùn)算符先參加運(yùn)算是由運(yùn)算符的優(yōu)先級(jí)來(lái)決定的,高優(yōu)先級(jí)的先參加運(yùn)算,低優(yōu)先級(jí)的后參加運(yùn)算。,2.3.6 運(yùn)算符的優(yōu)先級(jí)與結(jié)合順序,課后作業(yè)2,編寫(xiě)一個(gè)應(yīng)用程序,要求用戶(hù)輸入2個(gè)整數(shù),并將它們的和、差、積、商(要求能提示除數(shù)不能為零)顯示出來(lái)。 編寫(xiě)一個(gè)應(yīng)用程序,要求以攝氏為單位的溫度C,輸出以華氏為單位的溫度F。攝氏度以用戶(hù)輸入數(shù)為準(zhǔn),轉(zhuǎn)換公式為:F=1.8*C+32。 假設(shè)一個(gè)修理汽車(chē)的顧客每小時(shí)付勞務(wù)費(fèi)35元,還有零件和工件的花費(fèi)以及5%的銷(xiāo)售稅。寫(xiě)一程序顯示出簡(jiǎn)單的賬單,通過(guò)提示用戶(hù)輸入顧客姓名、修理所需時(shí)間,還有零件和工件的花費(fèi)。程序最后輸出顧客的姓名和3項(xiàng)花費(fèi)。,習(xí)題二,1. C#的每條語(yǔ)句都通過(guò)_來(lái)結(jié)束。 2. 變量在使用前,必須先_和_。 3. 通過(guò)_可以改變運(yùn)算符的運(yùn)算順序,使表達(dá)式更加清晰易懂。 4. 下列變量的聲明方式不正確的是( )。 A. int a, string b, char c; B. int a=c=b=21; C. char a; D. string myString =”abc”; 5下面的標(biāo)識(shí)符中,不否合法的是: class , public, 3a, _3a, a3,a#5 6. 將下列各式寫(xiě)成C#語(yǔ)言表達(dá)式 (1) sin+cos (2) 4a2+5b3 (3) b=ba (4) 2cos450 (5) 以知a=15,計(jì)算a1008,并將結(jié)果賦給變量b。 7 求下面算術(shù)表達(dá)式的值,并編寫(xiě)程序運(yùn)行,驗(yàn)證其結(jié)果。 (1)x+a%3*(int)(x+y)%2/4,其中x=2.5,a=7,y=4.7 (2)x+A+(float)(a+b)/2+x%y,其中a=2,b=3,x=3.5,y=2.5; 8計(jì)算表達(dá)式的值 int x=1,y=2,z=-2; (1) (x+3)4 (2) x&y=z (3) x+y|z (4) x|yz,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C# 數(shù)據(jù)類(lèi)型 表達(dá)式
鏈接地址:http://appdesigncorp.com/p-2712772.html