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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章

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

本章要點:

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

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

VisualC#.NET的常量和變量

VisualC#.NET的運算符與表達式

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

2.1.1VisualC#.NET的標識符

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.常量

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

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

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

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

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

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

[運行結果]第2章基本數(shù)據類型與表達式2.變量

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}}第2章基本數(shù)據類型與表達式[運行結果]第2章基本數(shù)據類型與表達式2.1.5運算符與表達式

1.運算符與表達式概述

(1)運算符和表達式的概念

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

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

3+5*2

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

Sb*(a-c)

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

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

(1)基本算術運算符

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

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

[程序代碼]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ù)據類型與表達式[運行結果]第2章基本數(shù)據類型與表達式【2-5】分析下列程序的運行結果。

[程序代碼]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ù)據類型與表達式[運行結果]

第2章基本數(shù)據類型與表達式3.關系運算符與關系表達式

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

優(yōu)于

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

==!=結合性:

<、<=、>、>=等運算符同級,結合性自左向右。==、!=等運算符同級,結合性自左向右。

第2章基本數(shù)據類型與表達式【2-6】分析下列程序的運行結果。[程序代碼]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ù)據類型與表達式[運行結果]第2章基本數(shù)據類型與表達式4.邏輯運算符與邏輯表達式

第2章基本數(shù)據類型與表達式第2章基本數(shù)據類型與表達式邏輯運算符的優(yōu)先級和結合性如下:優(yōu)先級:(1)邏輯非(?。┦菃文窟\算符,優(yōu)于雙目運算符;(2)邏輯與(&&)和邏輯或(||)是雙目運算符,其優(yōu)先級如下:雙目算術運算符

優(yōu)于

關系運算符

優(yōu)于

&&優(yōu)于

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

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

[程序代碼]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ù)據類型與表達式[運行結果]第2章基本數(shù)據類型與表達式5.位運算符

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

①左移運算符(<<)

②右移運算符(>>)

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

^優(yōu)于

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

[程序代碼]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ù)據類型與表達式[執(zhí)行結果]第2章基本數(shù)據類型與表達式6.賦值運算符與賦值表達式

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

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

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

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

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

方法功能示例Abs(x)求x的絕對值Abs(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論