一個簡單的C#程序.ppt_第1頁
一個簡單的C#程序.ppt_第2頁
一個簡單的C#程序.ppt_第3頁
一個簡單的C#程序.ppt_第4頁
一個簡單的C#程序.ppt_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 C#語言,3.1一個簡單的C#程序 3.2常量與變量 3.3數(shù)據(jù)類型 3.4運(yùn)算符 3.5數(shù) 組 3.6控制結(jié)構(gòu) 3.7類 3.8本章小結(jié),3.1 一個簡單的C#程序,創(chuàng)建程序的步驟:打開Visual Studio.NET 2003,選擇“文件”一“新建”一“項目”命令,在打開的對話框左邊選擇Visual C#選項,再在右邊選擇“控制臺應(yīng)用程序”選項,控制臺應(yīng)用程序就是C#編譯器控制窗口,編寫程序比較簡單直接,程序的代碼如下。 例3.1 Hello”程序。 using System; namespace Hello ( public class Hello (,下-頁 返回,3.1 一

2、個簡單的C#程序,static void Main() ConsoleWriteLine(”請輸入你的名字:”); ConsoleReadLine(); Console. WriteLine(”Hello!”); ) ) ) 3.1.1代碼分析,上-頁 下-頁 返回,3.1 一個簡單的C#程序,using System表不導(dǎo)入System命名空間。每個東西都必須屬于一個類,public class Hello表示Hello下的一個類。static void Main0表示類Hello中的一個方法,方法總是為完成某件工作。 在C#程序中程序的執(zhí)行總是從Main()方法開始的,一個程序中不允許出現(xiàn)

3、兩個或兩個以上的Main()方法。同時Main()方法必須被包含在一個類中。 按CtrI+F5鍵運(yùn)行程序,就可以看到程序的運(yùn)行結(jié)果了。 3.1.2添加注釋 C#的注釋方式:每一行中雙斜杠“”后面的內(nèi)容,以及在分割符“*”和“*”之間的內(nèi)容都將被編譯器忽略。,上-頁 下-頁 返回,3.1 一個簡單的C#程序,這樣就可以采用“”進(jìn)行單行注釋,采用分割符“,”和“*”進(jìn)行多行注釋,分割符“*”和“*”之間的注釋不能有嵌套注釋。因為“*”與遇到的第一個“*”匹配,表示注釋結(jié)束。,上-頁 返回,3.2常量與變量,3.2.1常量 顧名思義,常量就是在使用過程中其值不會發(fā)生變化,如數(shù)值、字符串以及日期等 在

4、C#中運(yùn)用常量的好處有以下3點(diǎn)。 可以用清楚的名詞代替不明確的數(shù)字或字符,使程序更易于閱讀。 使程序易于修改。 常量更容易避免程序出現(xiàn)的錯誤。,下-頁 返回,3.2常量與變量,在聲明常量時要注意以下幾點(diǎn)。 常量必須在聲明時初始化。指定了值后,程序運(yùn)行時就不能再修改。 不能從一個變量中提取值來初始化常量。 常量總是靜態(tài)的,但不允許在聲明常量時包含修飾符static。 在C#中沒有常量指針、常量方法、方法的常量參數(shù)等。,上-頁 下-頁 返回,3.2常量與變量,3.2.2變量 為變量起名時要遵守C#語言的以下規(guī)定。 變量名必須以字母開頭。 變量名只能由字母數(shù)字和下劃線組成而不能包含空格、標(biāo)點(diǎn)符號、運(yùn)

5、算符等其他符號。 變量名不能與C#中的關(guān)鍵字名稱相同。 變量名不能與C#中的庫函數(shù)名稱相同。 變量名在其聲明的作用域內(nèi)必須唯一。,上-頁 下-頁 返回,3.2常量與變量,使用變量的一條重要原則是:變量必須先定義后使用,使用之前必須對其進(jìn)行初始化。 變量可以在定義時被賦值,也可以在定義時不被賦值,但必須在使用前初始化。語法為: 變量修飾符數(shù)據(jù)類型變量名稱=初始值; 可以把幾個變量的聲明寫在同一行,中間用逗號隔開,但不允許在一條語句中聲明不同類型的變量。 變量的作用域大致分為以下幾種:靜態(tài)變量作用域、實例變量作用域、方法參數(shù)作用域、局部變量作用域、異常處理參數(shù)作用域。,上-頁 下-頁 返回,3.2

6、常量與變量,示例程序如下: public class DomainTest ( private int a; 變量a的作用域為實例變量作用域 static int b; 變量b的作用域為靜態(tài)變量作用域 public int GetA() ( return a:,上-頁 下-頁 返回,3.2常量與變量,) public void SetA(int aa) 變量aa的作用域為方法參數(shù)作用域 ( int temp; 變量temp的作用域為局部變量作用域 temp=aa;,上-頁 返回,3.3數(shù)據(jù)類型,C#語言數(shù)據(jù)類型主要分為兩大類:值類型和引用類型。 值類型:變量本身就包含它們的數(shù)據(jù),即變量的內(nèi)存空

7、間中存放變量的值。 引用類型:變量包含的是對存放變量值的內(nèi)存空間的引用,即變量的內(nèi)存空間與變量值的內(nèi)存空間是分開的,變量內(nèi)存空間中保留的是對變量值內(nèi)存空間的引用。 同值類型例子為了方便處理常見的數(shù)據(jù)類型,C#預(yù)定義了15種數(shù)據(jù)類型,其中包括值類型中的13種常用類型和2種引用類型(obj ect和string)。 數(shù)據(jù)類型分類如圖3-1所示。,下-頁 返回,3.3數(shù)據(jù)類型1,3.3.1值類型 1簡單類型 簡單類型主要包括整數(shù)類型、實數(shù)類型、字符類型和布爾類型。 整數(shù)類型:所有整數(shù)類型變量都可以賦予十進(jìn)制或十六進(jìn)制的值,如果要賦予十六進(jìn)制整數(shù),需要在數(shù)值前邊添加Ox作為前綴。整數(shù)類型及其取值范圍見

8、表3.1。 實數(shù)類型:float類型用于存儲較小的浮點(diǎn)數(shù),精度較低,double類型可以存儲較大的浮點(diǎn)數(shù),精度是float的一倍。而decimal類型表示更高精度的浮點(diǎn)數(shù),精實數(shù)類型及其取值范圍與精度見表3.2。,上-頁 下-頁 返回,3.3數(shù)據(jù)類型,字符類型:計算機(jī)處理的信息,主要就是字符了。在C#語言中字符類型采用國際上公認(rèn)的16位Unicode字符集表示形式,用它可以表示世界上大多數(shù)語言。常見轉(zhuǎn)義字符見表3.3。 2結(jié)構(gòu)類型 把一組相關(guān)的信息放在一起,也就是把一系列相關(guān)的變量組織成為一個整體的過程,這稱為生成結(jié)構(gòu)的過程。 定義書籍信息單的記錄結(jié)構(gòu)的代碼如下 struct BookList

9、 public string name; public string author;,上-頁 下-頁 返回,3.3數(shù)據(jù)類型,public string company; BookList bl; 例3.3結(jié)構(gòu)類型示例程序。代碼見T-1 3枚舉類型 枚舉類型實際上是為一組在邏輯上密不可分的整數(shù)值提供一個便于記憶的符號。枚舉類型采用enum來進(jìn)行聲明,下面聲明一個代表星期的枚舉類型的變量:,上-頁 下-頁 返回,3.3數(shù)據(jù)類型,enum WeekOfDaySun, Mon, Tue, Wed, Thu, Fri, Sat); WeekOfDay day; 編譯系統(tǒng)對枚舉元素按常量處理,程序中不能對

10、枚舉元素進(jìn)行賦值操作。 3.3.2引用類型 1object類 obj ect類是所有其他類型的基類,C#語言中的所有類型都直接或間接地從object類中繼承。因此,對object的變量可以賦予任何類型的值:,上-頁 下-頁 返回,3.3數(shù)據(jù)類型,float f = 63 . 8; object objl; objl = f; object obj 2 = Hello World ; 2string類 C#還定義了一個基本的類string,表示一個Unicode字符序列,專門用于對字符串的操作。同樣,這個類也是在.NET框架結(jié)構(gòu)的預(yù)定義的命名空間System中定義的,是類System.Strin

11、g的別名。 3.3.3數(shù)據(jù)類型轉(zhuǎn)換,上-頁 下-頁 返回,3.3數(shù)據(jù)類型,1隱式類型轉(zhuǎn)換 隱式轉(zhuǎn)換就是系統(tǒng)默認(rèn)的,不需要加以聲明就可以進(jìn)行的轉(zhuǎn)換。在隱式轉(zhuǎn)換過程中,編譯器無需對轉(zhuǎn)換進(jìn)行詳細(xì)檢查就能夠安全地執(zhí)行轉(zhuǎn)換。 例如: int i=10; long l=i; 在數(shù)值類型中,可以根據(jù)下面數(shù)據(jù)類型順序,各種類型的值依次可以向后自動進(jìn)行轉(zhuǎn)換:byteshortintlongfloatdouble 以上的轉(zhuǎn)換可能會導(dǎo)致精度下降,但決不會引起數(shù)量上的丟失。,上-頁 下-頁 返回,3.3數(shù)據(jù)類型,2顯式類型轉(zhuǎn)換 顯式類型轉(zhuǎn)換又叫強(qiáng)制類型轉(zhuǎn)換。與隱式轉(zhuǎn)換正好相反,顯式轉(zhuǎn)換需要用戶明確地指定轉(zhuǎn)換的類型,可

12、能存在數(shù)據(jù)丟失問題。顯示轉(zhuǎn)換語法如下: (數(shù)據(jù)類型)表達(dá)式; 其中轉(zhuǎn)換數(shù)據(jù)類型用小括號括起放在需要轉(zhuǎn)換的表達(dá)式前邊,例如: long l=5000; inti= (int) l; 顯示轉(zhuǎn)換可能導(dǎo)致數(shù)據(jù)精度損失或引發(fā)異常,所以使用時要特別小心。,上-頁 返回,3.4運(yùn)算符,3.4.1算術(shù)運(yùn)算符 運(yùn)算符是程序中用來執(zhí)行計算操作的符號,C#語言中提供了大量的運(yùn)算符,這些運(yùn)算符指定在表達(dá)式中執(zhí)行哪些操作。依據(jù)運(yùn)算符作用的操作數(shù)個數(shù)可分為一元運(yùn)算符、二元運(yùn)算依據(jù)運(yùn)算符的作用可分為算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符等。 C#語言中提供的算術(shù)運(yùn)算符有6種,見表3.4。 例3.4運(yùn)算符的示例程序。

13、 代碼見T-2 按Ctrl+ F5鍵編譯并運(yùn)行該程序,效果如圖3-2所示。,下-頁 返回,3.4運(yùn)算符,3.4.2賦值運(yùn)算符 賦值運(yùn)算就是給一個變量賦一個新值。C#語言中提供的賦值運(yùn)算符見表3.5。 賦值運(yùn)算符的左操作數(shù)必須是一個變量、屬性訪問器。C#中的所有賦值運(yùn)算是右結(jié)合的,意味著在對變量進(jìn)行連續(xù)賦值時,運(yùn)算按照從右向左的順序依次進(jìn)行。 3.4.3關(guān)系運(yùn)算符 實際上是邏輯運(yùn)算的一種,可以把它理解為一種“判斷”,判斷的結(jié)果關(guān)系運(yùn)算要么是“真”,要么是“假”,也就是說關(guān)系表達(dá)式的返回值總是布爾類型。C#語言提供的關(guān)系運(yùn)算符有6個,見表3.6。,上-頁 下-頁 返回,3.4運(yùn)算符,3.4.4邏輯

14、運(yùn)算符 邏輯運(yùn)算符是用來進(jìn)行布爾表達(dá)式計算的。在C#語言中提供的邏輯運(yùn)算符主要有3種:邏輯與“ a21=2; a22=3; 或 int a2=new int1,2,3;,上-頁 返回,3.6控制結(jié)構(gòu),3.6.1順序結(jié)構(gòu) 順序結(jié)構(gòu)是程序設(shè)計中最簡單、最常用的基本結(jié)構(gòu),按照各語言出現(xiàn)的先后順序執(zhí)行。 例3.5順序結(jié)構(gòu)示例程序。 using System; class Test ( const string a=”這是第一個常數(shù)”; public static void Main(),下-頁 返回,3.6控制結(jié)構(gòu), const string b=”這是第二個常數(shù)”; System. Console.

15、 WriteLine(a); System. Console .WriteLine (b); 3.6.2條件語句 1if語句 if語句是最常用的選擇語句。它根據(jù)布爾表達(dá)式的值來判斷是否執(zhí)行后面的內(nèi)嵌語句。 格式: if(邏輯表達(dá)式)(執(zhí)行語句),上-頁 下-頁 返回,3.6控制結(jié)構(gòu),或 if(邏輯表達(dá)式) 執(zhí)行語句1) else (執(zhí)行語句2) 2switch語句 它的一般格式為: switch(控制表達(dá)式) ,上-頁 下-頁 返回,3.6控制結(jié)構(gòu),case常量表達(dá)式: 執(zhí)行語句; default: 執(zhí)行語句; 3.6.3循環(huán)語句 1while語句 while語句有條件地將內(nèi)嵌語句執(zhí)行0遍或若

16、干遍,語句的格式為: while(邏輯表達(dá)式)f執(zhí)行語句),上-頁 下-頁 返回,3.6控制結(jié)構(gòu),看下面的例子: int i=0: while (i100) i+; 2do-while語句 do-while語句與while語句不同的是:它將內(nèi)嵌語句執(zhí)行至少一次或若干次,語句格式 為:do執(zhí)行語句while(邏輯表達(dá)式) 看下面的例子: int j=0; doj+; while (jl00);,上-頁 下-頁 返回,3.6控制結(jié)構(gòu),例3.7 do-while語句示例程序。 代碼見T-3 3for語句 for語句是C#中使用頻率最高的循環(huán)語句。在事先知道循環(huán)次數(shù)的情況下,使用for語句是比較方便的

17、。for語句的格式為: for(初始化控制變量;條件; 控制變量遞增或遞減)執(zhí)行語句 例3.8 for語句示例程序。 代碼見T-4,上-頁 下-頁 返回,3.6控制結(jié)構(gòu),4foreach語句 foreach語句是在C#中新引入的,它表示收集一個集合中的各元素,并針對各個元素執(zhí)行內(nèi)嵌語句,語句的格式為: foreach(類型標(biāo)識符in表達(dá)式)f執(zhí)行語句1 例3.9 foreach語句示例程序代碼見T-5 3.6.4跳轉(zhuǎn)語句 1break語句 使用break語句可以跳出switch、while、do、for或foreach語句結(jié)構(gòu)。 語法如下: break;,上-頁 下-頁 返回,3.6控制結(jié)構(gòu),

18、2continue語句 continue語句能夠?qū)崿F(xiàn)重新開始包含它的while、do、for語句塊的執(zhí)行。其語法格式如下: continue: 3goto語句 goto語句可以將程序執(zhí)行流程直接跳轉(zhuǎn)到標(biāo)簽指定的代碼行。標(biāo)簽是由一個標(biāo)識符和緊 跟后面的冒號組成,goto語句的語法格式如下: goto標(biāo)簽標(biāo)識符; 也可以在switch語句中跳轉(zhuǎn)到指定的case子句,語法格式如下:,上-頁 下-頁 返回,3.6控制結(jié)構(gòu),goto case 常數(shù)表達(dá)式; goto default; 例3.11 goto語句示例程序。 代碼見T-6,上-頁 返回,3.7類,3.7.1類的定義 類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和

19、相同操作的對象的集合。類是一系列具有相同性質(zhì)的對象的抽象,是對對象共同特征的描述。例如如果每一輛汽車是一個對象的話,那么所有的汽車 C#使用關(guān)鍵字class定義類,定義類的語法如 修飾符class類名 定義類成員 在默認(rèn)情況下,類被定義為內(nèi)部的,即只有當(dāng)前項目中的代碼才能訪問。,下-頁 返回,3.7類,在C#中,一個類可以包含的成員見表3.10 3.7.2類的字段 字段也稱成員變量,它表示存儲位置,是C#的類不可缺少的一部分。字段的類型可以是C#中任何數(shù)據(jù)類型,聲明語法格式如下: 修飾符數(shù)據(jù)類型字段名稱; 其中字段修飾符除public、protected、privatee外,還有兩個比較特殊的

20、只讀字段(readonly)和靜態(tài)字段(static)。 例3.12字段示例程序。 代碼見T-7運(yùn)行程序,結(jié)果如圖3-3所示。,上-頁 下-頁 返回,3.7類,3.7.3 類的屬性 屬性的聲明語法如下: 修飾符數(shù)據(jù)類型屬性名稱; 屬性提供兩種訪問操作:get和set。get返回屬性的值,set設(shè)置屬性的值。 例3.13類屬性示例程序。 public class employee string name; public string name get,上-頁 下-頁 返回,3.7類,return name ; set name =value ; 3.7.4類的方法 方法是包含一系列語句的代碼塊,

21、是類中用于執(zhí)行計算或其他行為的成員。其聲明語法 格式如下:,上-頁 下-頁 返回,3.7類,修飾符返回值類型方法名(參數(shù)列表) 方法體; 例3.14類方法示例程序。 using System; public class methodOverload public void print() ConsoleWriteLine(”打印默認(rèn)頁面”); ,上-頁 下-頁 返回,3.7類,public void print (string str) ConsoleWriteLine(”打印指定字符:”+str); class test public static void Main (string args) methodOverload m=new methodOve rload();,上-頁 下-頁 返回,3.7類,m.print(); m.print(”文件”); 運(yùn)行程序,結(jié)果如圖3-4所示。 3.7.5類的繼承 在編寫程序時,人們總是希望能夠利用前人或自己以前的開發(fā)成果,同時又希望在

溫馨提示

  • 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

提交評論