第2章 基本數(shù)據(jù)類型與表達(dá)式課件_第1頁
第2章 基本數(shù)據(jù)類型與表達(dá)式課件_第2頁
第2章 基本數(shù)據(jù)類型與表達(dá)式課件_第3頁
第2章 基本數(shù)據(jù)類型與表達(dá)式課件_第4頁
第2章 基本數(shù)據(jù)類型與表達(dá)式課件_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章

基本數(shù)據(jù)類型與表達(dá)式

本章要點(diǎn):

VisualC#.NET數(shù)據(jù)類型概述

VisualC#.NET簡單數(shù)據(jù)類型的使用

VisualC#.NET的常量和變量

VisualC#.NET的運(yùn)算符與表達(dá)式

VisualC#.NET的常用方法第2章基本數(shù)據(jù)類型與表達(dá)式2.1循序漸進(jìn)學(xué)理論

2.1.1VisualC#.NET的標(biāo)識符

在VisualC#.NET中定義標(biāo)識符時,必須符合以下命名規(guī)則。

(1)標(biāo)識符必須是由字母、數(shù)字、下劃線組成的一串符號,且必須以字母或下劃線開頭。(2)由于標(biāo)識符代表對象的名稱,所以用戶在選取標(biāo)識符時應(yīng)選取有意義的字符序列,以便在程序中能從標(biāo)識符看出所標(biāo)識的對象,從而便于閱讀和記憶。(3)用戶定義的標(biāo)識符不能與C#語言的關(guān)鍵字同名。

第2章基本數(shù)據(jù)類型與表達(dá)式2.1.2VisualC#.NET的數(shù)據(jù)類型簡介

第2章基本數(shù)據(jù)類型與表達(dá)式2.1.3簡單數(shù)據(jù)類型

1.整數(shù)數(shù)據(jù)類型

第2章基本數(shù)據(jù)類型與表達(dá)式2.字符數(shù)據(jù)類型

C#的字符類型有以下特點(diǎn):(1)每個字符占2個字節(jié)。(2)C#中的字符型與整型之間不能再像C/C++中自動轉(zhuǎn)換。以下語句在C#中不合法:charc=13;不過用戶依舊可以將一個整型數(shù)顯式地轉(zhuǎn)換為一個字符數(shù)據(jù)類型,然后賦值給字符變量。如下:charc=(char)13;

第2章基本數(shù)據(jù)類型與表達(dá)式第2章基本數(shù)據(jù)類型與表達(dá)式3.布爾類型

布爾類型(bool)只含有兩個數(shù)值:true和false。

4.實(shí)數(shù)類型實(shí)數(shù)類型又稱浮點(diǎn)型,C#中的浮點(diǎn)型包含單精度浮點(diǎn)型(float)和雙精度浮點(diǎn)型(double)兩種。

(1)單精度型:取值范圍為~之間,精度為7位數(shù)。(2)雙精度型:取值范圍為~之間,精度可達(dá)15到16位。

第2章基本數(shù)據(jù)類型與表達(dá)式使用實(shí)數(shù)類型,需注意以下幾個問題:

(1)存在正0和負(fù)0。(2)存在正無窮大和負(fù)無窮大,一般產(chǎn)生在除數(shù)為0的情況下,例如,1.2/0.0的結(jié)果是正無空大,-1.2/0.0的結(jié)果為負(fù)無空大。(3)存在非數(shù)字值(Not-a-Number,簡稱NaN)。當(dāng)出現(xiàn)0.0/0.0這種非法運(yùn)算的時候就會出現(xiàn)非數(shù)字值。(4)對于浮點(diǎn)運(yùn)算,如果運(yùn)算結(jié)果的絕對值在精度范圍內(nèi)小到一定程度,系統(tǒng)就會當(dāng)做0值處理(+0或-0)。

第2章基本數(shù)據(jù)類型與表達(dá)式5.小數(shù)類型

又稱十進(jìn)制類型,其類型說明符為decimal,主要用于金融領(lǐng)域,又稱金融類型,其表示的值的范圍大約是到,比float類型小,但是其精確度卻可以達(dá)到28到29位。在十進(jìn)制類型的數(shù)據(jù)的后面加上“m”,表示該數(shù)據(jù)是小數(shù)類型,如0.1m、123.9m等。

第2章基本數(shù)據(jù)類型與表達(dá)式2.1.4常量與變量

1.常量

常量又叫常數(shù),是在程序運(yùn)行過程中其值不改變的量。常量也有數(shù)據(jù)類型,在C#語言中,常量的數(shù)據(jù)類型有多種,分別是:sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、string等。符號常量聲明的格式如下。[格式]:[常量修飾符]const類型說明符

常量名=常量表達(dá)式;第2章基本數(shù)據(jù)類型與表達(dá)式例如:

publicconstintA=1,B=3;與C/C++類似,在C#中,一個常量可以依賴于另一個符號常量,但不能形成循環(huán)依賴,例如:classConstExample{publicconstintA=1;publicconstintB=A+2;}

注意:常量是靜態(tài)的,能夠在類中訪問。

第2章基本數(shù)據(jù)類型與表達(dá)式【例2-1】分析下列程序的執(zhí)行結(jié)果。[程序代碼]classConstExample{publicconstintA=1;publicconstintB=(A+2)*(A+3);

publicstaticvoidMain(){System.Console.WriteLine("A={0},B={1}",ConstExample.A,ConstExample.B);}}第2章基本數(shù)據(jù)類型與表達(dá)式[程序分析]本題在類ConstExample中定義了兩個常量A和B,它們之間不存在相互依賴的關(guān)系,常量是靜態(tài)的,可以直接訪問。所以最后輸出的結(jié)果是1和12。

[運(yùn)行結(jié)果]第2章基本數(shù)據(jù)類型與表達(dá)式2.變量

(1)變量的含義及其定義變量是指在程序運(yùn)行過程中其值可以發(fā)生變化的量。定義變量的一般格式如下。[格式]:[變量修飾符]類型說明符變量名1=初值1,變量名2=初值2,…;例如,有以下變量定義語句:privatestaticintgz=65;publicdoublejj=76.8;第2章基本數(shù)據(jù)類型與表達(dá)式(2)靜態(tài)變量和實(shí)例變量

聲明變量時,使用static關(guān)鍵字聲明的變量為靜態(tài)變量。靜態(tài)變量只需創(chuàng)建一次,在后面的程序中就可以多次引用。靜態(tài)變量的初始值就是該變量類型的默認(rèn)值。實(shí)例變量是指在聲明變量時沒有使用static變量說明符的變量,也稱普通變量。實(shí)例對象在指定的對象中被聲明并分配空間,如果實(shí)例變量所在的對象被撤消了,該變量也就從內(nèi)存中被清除了。

第2章基本數(shù)據(jù)類型與表達(dá)式【例2-2】分析下列程序的運(yùn)行結(jié)果。[程序代碼]usingSystem;//引入命名空間classStaticTest//定義類{publicstaticintsta1=10;//定義靜態(tài)變量,該變量只創(chuàng)建一次,由類名訪問

publicinta2=10;//定義實(shí)例變量,每創(chuàng)建一個實(shí)例時,均創(chuàng)建一個變量}classStaticExample{publicstaticvoidMain(){StaticTestA,B;//定義類的變量第2章基本數(shù)據(jù)類型與表達(dá)式A=newStaticTest();//創(chuàng)建類的實(shí)例AB=newStaticTest();//創(chuàng)建類的實(shí)例BStaticTest.sta1=StaticTest.sta1+10;//通過類名給靜態(tài)變量賦值

A.a2=A.a2+10;//給實(shí)例A的成員a2賦值

StaticTest.sta1=StaticTest.sta1+10;//通過類名給靜態(tài)變量賦值

B.a2=B.a2+20;//給實(shí)例B的成員a2賦值

//輸出靜態(tài)變量和實(shí)例A的成員a2的值

Console.WriteLine("StaticTest.sta1={0},A.a2={1}",StaticTest.sta1,A.a2);//輸出靜態(tài)變量和實(shí)例B的成員a2的值

Console.WriteLine("StaticTest.sta1={0},B.a2={1}",StaticTest.sta1,B.a2);}}第2章基本數(shù)據(jù)類型與表達(dá)式[運(yùn)行結(jié)果]第2章基本數(shù)據(jù)類型與表達(dá)式(3)局部變量

局部變量是臨時變量,它只是在定義它的塊內(nèi)起作用,所謂塊是指大括號“{”和“}”之間的所有內(nèi)容。局部變量從被聲明的位置開始起作用,當(dāng)塊結(jié)束時,局部變量也會隨著消失。使用局部變量需注意初始化問題,局部變量需要人工賦值后才能使用

第2章基本數(shù)據(jù)類型與表達(dá)式【例2-3】分析下列程序的運(yùn)行結(jié)果。[程序代碼]usingSystem;publicclassLocalTest{publicstaticvoidLocalExample(){inti=210,k;//定義局部變量i和kk=i*2;//給局部變量k賦值

Console.WriteLine("i={0},k={1}",i,k);//輸出i和k的值

}publicstaticvoidMain(){LocalExample();//調(diào)用函數(shù)

Console.WriteLine("i={0},k={0}",i,k);//此語句將產(chǎn)生錯誤

}}第2章基本數(shù)據(jù)類型與表達(dá)式[運(yùn)行結(jié)果]第2章基本數(shù)據(jù)類型與表達(dá)式2.1.5運(yùn)算符與表達(dá)式

1.運(yùn)算符與表達(dá)式概述

(1)運(yùn)算符和表達(dá)式的概念

C#中各種運(yùn)算是用符號來表示的,用來表示運(yùn)算的符號稱運(yùn)算符。用運(yùn)算符把運(yùn)算對象連接起來的有意義的式子稱為表達(dá)式,每個表達(dá)式的運(yùn)算結(jié)果是一個值。(2)運(yùn)算對象和運(yùn)算符的“目”運(yùn)算符必須有運(yùn)算對象,根據(jù)運(yùn)算對象的多少可以把運(yùn)算符分成單目運(yùn)算符、雙目運(yùn)算符和三目運(yùn)算符。

第2章基本數(shù)據(jù)類型與表達(dá)式(3)運(yùn)算符的優(yōu)先級和結(jié)合性計算下面的表達(dá)式:

3+5*2

大家都知道先算“*”號再算“+”號,其實(shí)這里就涉及到運(yùn)算符的優(yōu)先級問題。即當(dāng)表達(dá)式中出現(xiàn)多個運(yùn)算符,計算表達(dá)式值時,必須決定運(yùn)算符的運(yùn)算次序,我們把這個問題稱為運(yùn)算符的優(yōu)先級。有如下的表達(dá)式:

Sb*(a-c)

該表達(dá)式應(yīng)先算括號內(nèi)的“a-c”,然后再用b乘上“a-c”的運(yùn)算結(jié)果。當(dāng)在一個表達(dá)式中出現(xiàn)多個同級別的運(yùn)算符時,應(yīng)先算誰呢?這就涉及到運(yùn)算符的結(jié)合性

第2章基本數(shù)據(jù)類型與表達(dá)式2.算術(shù)運(yùn)算符與算術(shù)表達(dá)式

(1)基本算術(shù)運(yùn)算符

第2章基本數(shù)據(jù)類型與表達(dá)式(2)增1(++)減1(--)運(yùn)算符

第2章基本數(shù)據(jù)類型與表達(dá)式【例2-4】分析下列程序的運(yùn)行結(jié)果。

[程序代碼]usingSystem;classArthTest{publicstaticvoidMain(){intn=10,m=3;floatf=5.0F,g=10.0F;doubled=5.0,e=10.0;Console.WriteLine("n+m={0},n-m={1},n*m={2},n/m={3},n%m={4}",n+m,n-m,n*m,n/m,n%m);Console.WriteLine("d+e={0},d-e={1},d*e={2},d/e={3}",d+e,d-e,d*e,d/e);Console.WriteLine("n+m-f*g/d={0}",n+m-f*g/d);Console.WriteLine("n%m*f*d={0}",n%m*f*d);}}第2章基本數(shù)據(jù)類型與表達(dá)式[運(yùn)行結(jié)果]第2章基本數(shù)據(jù)類型與表達(dá)式【2-5】分析下列程序的運(yùn)行結(jié)果。

[程序代碼]usingSystem;classAddSub{publicstaticvoidMain(){inta=4,b=5,m,n; //①m=a+++b++; //②n=a+b; //③Console.WriteLine("m={0}n={1}",m,n); //④m=++a+(++b); //⑤n=a+b; //⑥Console.WriteLine("m={0}n={1}",m,n); //⑦}}第2章基本數(shù)據(jù)類型與表達(dá)式[運(yùn)行結(jié)果]

第2章基本數(shù)據(jù)類型與表達(dá)式3.關(guān)系運(yùn)算符與關(guān)系表達(dá)式

第2章基本數(shù)據(jù)類型與表達(dá)式關(guān)系運(yùn)算符均是雙目運(yùn)算符,它們的優(yōu)先級和結(jié)合性如下:優(yōu)先級:(1)算術(shù)運(yùn)算符

優(yōu)于

關(guān)系運(yùn)算符(2)<、<=、>、>=優(yōu)于

==!=結(jié)合性:

<、<=、>、>=等運(yùn)算符同級,結(jié)合性自左向右。==、!=等運(yùn)算符同級,結(jié)合性自左向右。

第2章基本數(shù)據(jù)類型與表達(dá)式【2-6】分析下列程序的運(yùn)行結(jié)果。[程序代碼]usingSystem;classCompOP{publicstaticvoidMain(){inti=1,j=7; //①charc1='A',c2='a'; //②Console.WriteLine("{0},{1},{2}",i>j,i>=j,i<=j); //③Console.WriteLine("{0},{1},{2}",c1>c2,c1>=c2,c1<=c2); //④}}第2章基本數(shù)據(jù)類型與表達(dá)式[運(yùn)行結(jié)果]第2章基本數(shù)據(jù)類型與表達(dá)式4.邏輯運(yùn)算符與邏輯表達(dá)式

第2章基本數(shù)據(jù)類型與表達(dá)式第2章基本數(shù)據(jù)類型與表達(dá)式邏輯運(yùn)算符的優(yōu)先級和結(jié)合性如下:優(yōu)先級:(1)邏輯非(!)是單目運(yùn)算符,優(yōu)于雙目運(yùn)算符;(2)邏輯與(&&)和邏輯或(||)是雙目運(yùn)算符,其優(yōu)先級如下:雙目算術(shù)運(yùn)算符

優(yōu)于

關(guān)系運(yùn)算符

優(yōu)于

&&優(yōu)于

||結(jié)合性:(1)邏輯非!和單目算術(shù)運(yùn)算符是同級的,結(jié)合性自右向左;(2)邏輯與(&&)和邏輯或(||)是雙目運(yùn)算符,其結(jié)合性是自左向右。

第2章基本數(shù)據(jù)類型與表達(dá)式【2-7】分析下列程序的運(yùn)行結(jié)果。

[程序代碼]usingSystem;classLTest{publicstaticvoidMain(){intx=3,y=5,a=2,b=-3;Console.WriteLine("a>b&&x<y={0}",a>b&&x<y); //①Console.WriteLine("!(a>b)&&!(x>y)={0}",!(a>b)&&!(x>y)); //②Console.WriteLine("!(a>x)||!(b<y)={0}",!(a>x)||!(b<y)); //③}}第2章基本數(shù)據(jù)類型與表達(dá)式[運(yùn)行結(jié)果]第2章基本數(shù)據(jù)類型與表達(dá)式5.位運(yùn)算符

位運(yùn)算符用來對操作數(shù)進(jìn)行位運(yùn)算,其運(yùn)算對象是整型和字符型。(1)位邏輯運(yùn)算符①位與運(yùn)算符(&)②位或運(yùn)算符(|)③異或運(yùn)算符(^)④取反運(yùn)算符(~)(2)位移位運(yùn)算符

①左移運(yùn)算符(<<)

②右移運(yùn)算符(>>)

第2章基本數(shù)據(jù)類型與表達(dá)式位運(yùn)算符在表達(dá)式中的優(yōu)先級可概括成如下幾點(diǎn):①位反(~)運(yùn)算符為單目運(yùn)算符,優(yōu)于所有的雙目運(yùn)算符和三目運(yùn)算符。②位移位運(yùn)算符優(yōu)先級相同,比算術(shù)運(yùn)算符的優(yōu)先級低,比關(guān)系運(yùn)算符的優(yōu)先級高。③位邏輯運(yùn)算符的優(yōu)先級比關(guān)系運(yùn)算符的優(yōu)先級低,比邏輯運(yùn)算符的優(yōu)先級高。④三個位邏輯運(yùn)算符的優(yōu)先次序?yàn)椋?優(yōu)于

^優(yōu)于

|第2章基本數(shù)據(jù)類型與表達(dá)式【2-8】分析下列程序的運(yùn)行結(jié)果。

[程序代碼]usingSystem;classWeiTest{publicstaticvoidMain(){chary,x;x=(char)0x9d;y=(char)0xa5;Console.WriteLine("x&y={0}",x&y);Console.WriteLine("x|y={0}",x|y);Console.WriteLine("x^y={0}",x^y);Console.WriteLine("x>>2={0}",x>>2);Console.WriteLine("x<<2={0}",x<<2);}}第2章基本數(shù)據(jù)類型與表達(dá)式[執(zhí)行結(jié)果]第2章基本數(shù)據(jù)類型與表達(dá)式6.賦值運(yùn)算符與賦值表達(dá)式

賦值運(yùn)算符的優(yōu)先級與結(jié)合性如下。優(yōu)先級:在C#語言中,所有的賦值和自反賦值運(yùn)算符的優(yōu)先級都是一樣的,比所有的其它運(yùn)算符的優(yōu)先級都低,是優(yōu)先級最低的運(yùn)算符。結(jié)合性:賦值和自反賦值運(yùn)算符的結(jié)合性是自右向左。第2章基本數(shù)據(jù)類型與表達(dá)式第2章基本數(shù)據(jù)類型與表達(dá)式7.條件運(yùn)算符與條件表達(dá)式

條件運(yùn)算符是C#語言中的唯一的一個三目運(yùn)算符,它是由“?”和“:”兩個符號組成,它的三個對象都是表達(dá)式。其一般形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的優(yōu)先級和結(jié)合性如下:優(yōu)先級:僅優(yōu)于賦值運(yùn)算符。結(jié)合性:自右向左。例如,有下面的程序段:x=5;y=8;m=x>y?x:y;由于x>y的值為false,故條件表達(dá)式的值為y,即8,把8賦給m,m的值為8。

第2章基本數(shù)據(jù)類型與表達(dá)式8.其它運(yùn)算符

第2章基本數(shù)據(jù)類型與表達(dá)式9.運(yùn)算符的優(yōu)先級

第2章基本數(shù)據(jù)類型與表達(dá)式2.1.6常用方法

方法功能示例Abs(x)求x的絕對值A(chǔ)bs(15.3)=15.3、Abs(0)=0、Abs(-5.3)=5.3Ceiling(x)求不小于x的最小整數(shù)Ceiling(7.3)=8.0、Ceiling(-9.6)=-9.0Cos(x)求x的余弦值(x為弧度)Cos(0.0)=1.0Exp(x)求指數(shù)Exp(1.0)=2.718281828Floor(x)求不大于x的最小整數(shù)Floor(7.8)=7.

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論