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