C#程序開發(fā)基礎(chǔ)-程序控制結(jié)構(gòu).ppt
《C#程序開發(fā)基礎(chǔ)-程序控制結(jié)構(gòu).ppt》由會員分享,可在線閱讀,更多相關(guān)《C#程序開發(fā)基礎(chǔ)-程序控制結(jié)構(gòu).ppt(37頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第3章 C#程序開發(fā)基礎(chǔ) ——程序控制結(jié)構(gòu),? 賦值和注釋語句 ? 分支結(jié)構(gòu)語句 ? 循環(huán)結(jié)構(gòu)語句 ? 字符串操作,3.1 賦值和注釋語句,賦值語句和注釋是程序代碼中最基本的語句,本節(jié)將介紹二者的用法。,3.1.1 賦值語句,賦值語句執(zhí)行賦值操作,就是給變量或常量一個數(shù)值,比如,讓變量A的值是3,用語句表示就是A=3。賦值語句一般包括3部分,賦值運算符(=),變量,給變量的值。給變量的值可以是表達式的結(jié)果。 01 double x; //定義一個double型變量x 02 int y=3; //定義一個int型變量y,讓y的值為3,可以讀為把3賦給y, 03 int z=8; //定義一個int型變量z, 把8賦給z 04 x = y + z +Math.Sin(3.65);,3.1.2 注釋語句,注釋就是解釋,就是對代碼添加的描述性文字用來說明程序的功能、語句的作用等信息,以方便代碼的閱讀和維護。 C#的注釋方法有三種,分別是單行注釋、多行注釋和XML注釋。,,單行注釋以“//”開始,多行注釋使用“/* */”跨行注釋,XML注釋使用特殊的注釋語法,以“///”開頭。在///之后,你可以使用預(yù)先定義的標(biāo)簽注釋代碼,也可以插入自己定義標(biāo)簽。,,01 /******************************************** 多行注釋,介紹程序的名稱、功能和開發(fā)時間。 02 * 程序名: HelloWorld * 03 * 功 能:輸出字符串Hello World! * 04 * 時 間: 2009-10-10 * 05 *******************************************/ 06 namespace HelloWorld 07 { 08 public class HelloWorld 09 { XML注釋,說明程序的入口點和參數(shù)及返回值。,10 /// 11 /// 控制臺應(yīng)用程序入口點 12 /// 命令行參數(shù) 13 /// 運行成功返回0 14 /// 15 16 public static int Main(string[] args) //程序入口點 17 { //單行注釋,說明語句的功能! 18 System.Console.WriteLine(“Hello World!“); //輸出Hello World! 19 string name = System.Console.ReadLine(); //暫停程序的運行,接收鍵盤輸入的字符 20 return(0); //運行成功返回 0 單行注釋,說明語句的功能。 21 } 22 } 23 },第3章 C#程序開發(fā)基礎(chǔ) ——程序控制結(jié)構(gòu),? 賦值和注釋語句 ? 分支結(jié)構(gòu)語句 ? 循環(huán)結(jié)構(gòu)語句 ? 字符串操作,3.2 選擇正確的道路--分支結(jié)構(gòu),3.3.1 條件語句 條件語句就是對條件進行判斷,根據(jù)判斷結(jié)果選擇執(zhí)行不同的分支。C#中提供了多種形式的條件語句。包括:if語句、if---else語句和switch語句。下面我們來一個個的學(xué)習(xí)。 ⑴ 單分支結(jié)構(gòu)的if 語句 語法格式如下: if(條件表達式) { 語句塊 },,if(天氣晴朗) //(條件) {去海灘玩耍},,⑵ 雙分支結(jié)構(gòu)的if---else語句 語法格式如下: if(條件表達式) {語句塊1} else {語句塊2},01 static void Main(string[] args) 02 { 03 Console.Write(“請輸入一個字母: “); 04 char c = (char)Console.Read(); //接收從鍵盤上輸入的一個字符賦給c 05 if (Char.IsLower(c)) //判斷輸入的字母是否為小寫字母 06 { //如果是小寫字母執(zhí)行下面語句 07 Console.WriteLine(“您輸入的是小寫字母.“); //輸出“您輸入的是小寫字母” 08 } 09 else 10 { //如不是小寫字母執(zhí)行下面語句 11 Console.WriteLine(“您輸入的是大寫字母.“); //輸出“您輸入的是大寫字母” 12 } 13 },⑶ 多分支結(jié)構(gòu) if語句實現(xiàn)多分支結(jié)構(gòu)的語法為,if(表達式1) { 語句塊1 //表達式1的值為真時執(zhí)行的語句} else if(表達式2) { 語句塊2 //表達式2的值為真時執(zhí)行的語句} …… else if(表達式n) { 語句塊n //表達式n的值為真時執(zhí)行的語句} else { 語句塊n+1 //表達式1到n的值都不為真時執(zhí)行的語句}。,,例:檢查輸入字符是否是小寫字符、大寫字符或數(shù)字。否則,輸入字符不是字母字符。,01 Console.Write(“請輸入一個字符: “); 02 char c = (char)Console.Read(); //接收鍵盤上輸入的一個字符賦給字符型變量c 03 if (Char.IsUpper(c)) //如果c是大寫字母,執(zhí)行下面語句 04 { //下面語句輸出“輸入的字符是大寫字母.” 05 Console.WriteLine(“輸入的字符是大寫字母.“); 06 } 07 else if (Char.IsLower(c)) //如果c是小寫字母,執(zhí)行下面語句 08 { //輸出“輸入的字符是小寫字母.” 09 Console.WriteLine(“輸入的字符是小寫字母“); 10 } 11 else if (Char.IsDigit(c)) //如果c是數(shù)字符號,執(zhí)行下面語句 12 { //輸出“輸入的字符是數(shù)字.” 13 Console.WriteLine(“輸入的字符是數(shù)字.“); 14 } 15 else //如果c不是數(shù)字符號和字母,執(zhí)行下面語句 16 { //輸出“輸入的字符不是數(shù)字和字母.” 17 Console.WriteLine(“輸入的字符不是數(shù)字和字母.“); 18 },,3.2.2 switch結(jié)構(gòu) switch語句能夠根據(jù)表達式的值來選擇要行的代碼。在if語句中,if語句只能測試單個條件,如果需要測試多個條件,則需要書寫冗長的代碼。而switch語句能有效的避免冗長的代碼并能測試多個條件。switch語句的語法是:,,switch (表達式) { case 常量表達式1: 語句1 break; case 常量表達式2: 語句2 break; … case 常量表達式n: 語句n break; default: 語句n+1 break; },,【范例3-1】 輸入兩個數(shù)和運算符號,計算相應(yīng)的運算結(jié)果。 ? 在Visual Studio 2008中新建控制臺應(yīng)用程序,項目名稱為“Calculator”。 ? 在program.cs的main方法中輸入如下代碼(代碼3-1.txt):,第3章 C#程序開發(fā)基礎(chǔ) ——程序控制結(jié)構(gòu),? 賦值和注釋語句 ? 分支結(jié)構(gòu)語句 ? 循環(huán)結(jié)構(gòu)語句 ? 字符串操作,3.3.1 while循環(huán),C#語言使用while語句實現(xiàn)當(dāng)型循環(huán),while循環(huán)的語法為: while (表達式) { //循環(huán)體語句 },例如,計算前100個自然數(shù)的和,即,即1+2+3+……+100。,1 int i, sum;//定義int變量i用于控制循環(huán)次數(shù),sum用于累加求和 2 i = 1; //循環(huán)變量賦初始值為1 3 sum = 0; //累加器變量sum賦初值為0 4 while (i 101) //while循環(huán),當(dāng)i小于101時循環(huán) 5 { //循環(huán)體,累加求和 6 sum = sum + i; //累加求和 7 i++; //循環(huán)變量的值增1 8 } 9,3.3.2 for循環(huán),For循環(huán)語句是C#語句中使用最廣泛,最靈活的一種循環(huán)控制語句。語法為: for(表達式1;表達式2;表達式3) { //循環(huán)體 },【范例3-2】 用for循環(huán)計算 1+2+3+……+100的和。,1 int sum; //定義累加變量sum 2 sum = 0; //累加變量賦初始值為0 3 Console.WriteLine(”計算1+2+3+……+100的和:“); 4 for (int i=1;i=100;i++)//循環(huán)變量i從1開始到100變化循環(huán),i每次增1 5 { //循環(huán),累加求和 6 sum = sum + i; //累加求和 7 } 8 Console.WriteLine(”1+2+3+……+100={0}“,sum);,3.3.3 foreach循環(huán),for each循環(huán)用于遍歷整個集合或數(shù)組,可以獲取集合中的所有對象,循環(huán)條件不使用布爾表達式。foreach循環(huán)簡單易用,代碼簡潔。在以后的學(xué)習(xí)中,我們會經(jīng)常用到。語法如下: foreach(數(shù)據(jù)類型 局部變量 in 集合或者數(shù)組) { //代碼塊 },例如:輸出數(shù)組中的每個元素。,string[] str ={”Jan“, ”Feb“, ”Mar“, ”Apr“, ”May“, ”Jun“}; //定義數(shù)組并賦初值 foreach (string s in str)//如果數(shù)組中存在元素則執(zhí)行循環(huán) { Console.WriteLine(s);//分別輸出數(shù)組中的每個元素 },3.3.4 循環(huán)嵌套,循環(huán)嵌套就是在循環(huán)體中還可以使用循環(huán)語句,前面講過的幾種循環(huán)都可以互相嵌套的。 例:找出100之內(nèi)的素數(shù)。,1 static void Main(string[] args) 2 { 3 Console.Write(”{100之中的素數(shù)有:“);//輸出提示信息 4 for (int i = 2; i 100; i++) //外層循環(huán),i從2到100循環(huán)分別判斷i是否是素數(shù) 5 { 6 bool isPrime = true ;//定義isPrime變量,標(biāo)志某個數(shù)是否為素數(shù) 7 for (int j = 2; j i-1; j++) //內(nèi)層循環(huán),j從2到i-1循環(huán),看j能否整除i 8 { 9 if (i % j == 0) //如果i能整除以j,說明i不是素數(shù) 10 { 11 isPrime = false; //i不是素數(shù),設(shè)置isPrime=false 12 break; //跳出內(nèi)層循環(huán),繼續(xù)外層循環(huán) 13 } 14 } 15 //內(nèi)層循環(huán)結(jié)束 16 if (isPrime) //i如果是素數(shù)則輸出 17 { 18 Console.Write(” {0} , “,i) ;//輸出素數(shù)i 19 } 20 }//外層循環(huán)結(jié)束 21 },第3章 C#程序開發(fā)基礎(chǔ) ——程序控制結(jié)構(gòu),? 賦值和注釋語句 ? 分支結(jié)構(gòu)語句 ? 循環(huán)結(jié)構(gòu)語句 ? 字符串操作,3.4 字符串操作,字符串是程序中用的非常多的數(shù)據(jù)類型,也是最常用的一種引用類型。雖然C#是嚴(yán)格區(qū)分大小寫的,但是string和String在C#中是一樣的。String類屬于System命名空間,是.NET Framework提供的專門處理字符串的類庫。string相當(dāng)于String在C#中的別名,在C#中它們是完全相同的。,3.4.1 靜態(tài)串String,String對象的內(nèi)容是不可改變的,所以也稱為靜態(tài)串。不可改變指的是只要創(chuàng)建一個String類型的對象,就不能再更改對象的值,任何賦值、修改操作都將被分配一個新值。.NET Framework提供了很多處理字符處的方法,下面介紹常用的一些方法。,可以使用String類的Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith等方法進行字符串的比較。 使用 IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可獲取字符串中子字符串。 使用 Copy 和 CopyTo 可將字符串或子字符串復(fù)制到另一個字符串或 Char 類型的數(shù)組。 使用 Substring 和 Split 方法可通過原始字符串的組成部分創(chuàng)建一個或多個新字符串。 使用 Concat 和 Join 方法可通過一個或多個子字符串創(chuàng)建新字符串。 使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart 可修改字符串的全部或部分。 使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant方法可更改字符串中 Unicode 字符的大小寫。 使用 Length 屬性可獲取字符串中 Char 對象的數(shù)量;使用 Chars 屬性可訪問字符串中實際的 Char 對象。,【范例3-3】 String類比較、連接和分割字符串方法的使用。,? 在Visual Studio 2008中新建控制臺應(yīng)用程序,項目名稱為“StringDemo“。 ? 在program.cs的main方法中輸入如下代碼(代碼3-3.txt):,3.4.2 動態(tài)串StringBuilder,字符串對象是“不可變的”,即它們一旦創(chuàng)建就無法更改。對字符串進行操作的方法實際上返回的是新的字符串對象。因此,出于性能方面的原因,大量的連接或其他涉及字符串的操作應(yīng)當(dāng)用System.Text.StringBuilder 類。例如,當(dāng)在一個循環(huán)中將許多字符串連接在一起時,使用 StringBuilder 類可以提升性能。,【范例3-4】動態(tài)字符串的使用。,1 StringBuilder sb1 = new StringBuilder();//構(gòu)造一個空 StringBuilder名為sb1 2 Console.WriteLine(“sb1的初始容量為:{0}”, sb1.Capacity);//輸出sb1的容量 3 Console.WriteLine(“sb1的初始長度為:{0}“, sb1.Length); //輸出sb1的長度 4 sb1.Append(“hello world“); //向sb1中添加字符串,構(gòu)造新字符串 5 Console.WriteLine(“向sb1中添加后sb1的容量為:{0}“, sb1.Capacity); 6 Console.WriteLine(“向sb1中添加后sb1的長度為:{0}“, sb1.Length); 7 sb1.Append(“ hello C# I am very like learning English. “);,8 Console.WriteLine(“在次向sb1中添加后sb1的容量為:{0}“, sb1.Capacity); 9 Console.WriteLine(“在次向sb1中添加后sb1的長度為:{0}“, sb1.Length); 10 StringBuilder sb2 = new StringBuilder(“I Love java“, 30);//創(chuàng)建動態(tài)串sb2 11 Console.WriteLine(“sb2的原始內(nèi)容是:“); 12 Console.WriteLine(sb2); 13 Console.WriteLine(“使用replace方法將sb2中的java換成C#后內(nèi)容為:“); 14 Console.WriteLine(sb2.Replace(“java“, “C#“));//輸出替換后的sb2的內(nèi)容 15 Console.WriteLine(“使用insert方法在sb2第七個字符中添加java and 后sb2的內(nèi)容為“); 16 Console.WriteLine(sb2.Insert(7, “java and “));//輸出添加java and后sb2的內(nèi)容 17 Console.WriteLine(“使用remove方法將sb2中第個字符以后的刪除后sb2的內(nèi)容為:“); 18 Console.WriteLine(sb2.Remove(0, 7));//輸出刪除第7個字符后的sb2的內(nèi)容,3.6 跟我上機,編寫程序,利用循環(huán)語句求兩個正整數(shù)的最大公約數(shù)和最小公倍數(shù)。 編寫一個程序打印字母表和對應(yīng)的ASCII碼值。,Good bye,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C# 程序 開發(fā) 基礎(chǔ) 程序控制 結(jié)構(gòu)
鏈接地址:http://www.3dchina-expo.com/p-2713000.html