已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章 C#程序開(kāi)發(fā)基礎(chǔ) 程序控制結(jié)構(gòu), 賦值和注釋語(yǔ)句 分支結(jié)構(gòu)語(yǔ)句 循環(huán)結(jié)構(gòu)語(yǔ)句 字符串操作,3.1 賦值和注釋語(yǔ)句,賦值語(yǔ)句和注釋是程序代碼中最基本的語(yǔ)句,本節(jié)將介紹二者的用法。,3.1.1 賦值語(yǔ)句,賦值語(yǔ)句執(zhí)行賦值操作,就是給變量或常量一個(gè)數(shù)值,比如,讓變量A的值是3,用語(yǔ)句表示就是A=3。賦值語(yǔ)句一般包括3部分,賦值運(yùn)算符(=),變量,給變量的值。給變量的值可以是表達(dá)式的結(jié)果。 01 double x; /定義一個(gè)double型變量x 02 int y=3; /定義一個(gè)int型變量y,讓y的值為3,可以讀為把3賦給y, 03 int z=8; /定義一個(gè)int型變量z, 把8賦給z 04 x = y + z +Math.Sin(3.65);,3.1.2 注釋語(yǔ)句,注釋就是解釋?zhuān)褪菍?duì)代碼添加的描述性文字用來(lái)說(shuō)明程序的功能、語(yǔ)句的作用等信息,以方便代碼的閱讀和維護(hù)。 C#的注釋方法有三種,分別是單行注釋、多行注釋和XML注釋。,單行注釋以“/”開(kāi)始,多行注釋使用“/* */”跨行注釋?zhuān)琗ML注釋使用特殊的注釋語(yǔ)法,以“/”開(kāi)頭。在/之后,你可以使用預(yù)先定義的標(biāo)簽注釋代碼,也可以插入自己定義標(biāo)簽。,01 /* 多行注釋?zhuān)榻B程序的名稱(chēng)、功能和開(kāi)發(fā)時(shí)間。 02 * 程序名: HelloWorld * 03 * 功 能:輸出字符串Hello World! * 04 * 時(shí) 間: 2009-10-10 * 05 */ 06 namespace HelloWorld 07 08 public class HelloWorld 09 XML注釋?zhuān)f(shuō)明程序的入口點(diǎn)和參數(shù)及返回值。,10 / 11 / 控制臺(tái)應(yīng)用程序入口點(diǎn) 12 / 命令行參數(shù) 13 / 運(yùn)行成功返回0 14 / 15 16 public static int Main(string args) /程序入口點(diǎn) 17 /單行注釋?zhuān)f(shuō)明語(yǔ)句的功能! 18 System.Console.WriteLine(“Hello World!“); /輸出Hello World! 19 string name = System.Console.ReadLine(); /暫停程序的運(yùn)行,接收鍵盤(pán)輸入的字符 20 return(0); /運(yùn)行成功返回 0 單行注釋?zhuān)f(shuō)明語(yǔ)句的功能。 21 22 23 ,第3章 C#程序開(kāi)發(fā)基礎(chǔ) 程序控制結(jié)構(gòu), 賦值和注釋語(yǔ)句 分支結(jié)構(gòu)語(yǔ)句 循環(huán)結(jié)構(gòu)語(yǔ)句 字符串操作,3.2 選擇正確的道路-分支結(jié)構(gòu),3.3.1 條件語(yǔ)句 條件語(yǔ)句就是對(duì)條件進(jìn)行判斷,根據(jù)判斷結(jié)果選擇執(zhí)行不同的分支。C#中提供了多種形式的條件語(yǔ)句。包括:if語(yǔ)句、if-else語(yǔ)句和switch語(yǔ)句。下面我們來(lái)一個(gè)個(gè)的學(xué)習(xí)。 單分支結(jié)構(gòu)的if 語(yǔ)句 語(yǔ)法格式如下: if(條件表達(dá)式) 語(yǔ)句塊 ,if(天氣晴朗) /(條件) 去海灘玩耍, 雙分支結(jié)構(gòu)的if-else語(yǔ)句 語(yǔ)法格式如下: if(條件表達(dá)式) 語(yǔ)句塊1 else 語(yǔ)句塊2,01 static void Main(string args) 02 03 Console.Write(“請(qǐng)輸入一個(gè)字母: “); 04 char c = (char)Console.Read(); /接收從鍵盤(pán)上輸入的一個(gè)字符賦給c 05 if (Char.IsLower(c) /判斷輸入的字母是否為小寫(xiě)字母 06 /如果是小寫(xiě)字母執(zhí)行下面語(yǔ)句 07 Console.WriteLine(“您輸入的是小寫(xiě)字母.“); /輸出“您輸入的是小寫(xiě)字母” 08 09 else 10 /如不是小寫(xiě)字母執(zhí)行下面語(yǔ)句 11 Console.WriteLine(“您輸入的是大寫(xiě)字母.“); /輸出“您輸入的是大寫(xiě)字母” 12 13 , 多分支結(jié)構(gòu) if語(yǔ)句實(shí)現(xiàn)多分支結(jié)構(gòu)的語(yǔ)法為,if(表達(dá)式1) 語(yǔ)句塊1 /表達(dá)式1的值為真時(shí)執(zhí)行的語(yǔ)句 else if(表達(dá)式2) 語(yǔ)句塊2 /表達(dá)式2的值為真時(shí)執(zhí)行的語(yǔ)句 else if(表達(dá)式n) 語(yǔ)句塊n /表達(dá)式n的值為真時(shí)執(zhí)行的語(yǔ)句 else 語(yǔ)句塊n+1 /表達(dá)式1到n的值都不為真時(shí)執(zhí)行的語(yǔ)句。,例:檢查輸入字符是否是小寫(xiě)字符、大寫(xiě)字符或數(shù)字。否則,輸入字符不是字母字符。,01 Console.Write(“請(qǐng)輸入一個(gè)字符: “); 02 char c = (char)Console.Read(); /接收鍵盤(pán)上輸入的一個(gè)字符賦給字符型變量c 03 if (Char.IsUpper(c) /如果c是大寫(xiě)字母,執(zhí)行下面語(yǔ)句 04 /下面語(yǔ)句輸出“輸入的字符是大寫(xiě)字母.” 05 Console.WriteLine(“輸入的字符是大寫(xiě)字母.“); 06 07 else if (Char.IsLower(c) /如果c是小寫(xiě)字母,執(zhí)行下面語(yǔ)句 08 /輸出“輸入的字符是小寫(xiě)字母.” 09 Console.WriteLine(“輸入的字符是小寫(xiě)字母“); 10 11 else if (Char.IsDigit(c) /如果c是數(shù)字符號(hào),執(zhí)行下面語(yǔ)句 12 /輸出“輸入的字符是數(shù)字.” 13 Console.WriteLine(“輸入的字符是數(shù)字.“); 14 15 else /如果c不是數(shù)字符號(hào)和字母,執(zhí)行下面語(yǔ)句 16 /輸出“輸入的字符不是數(shù)字和字母.” 17 Console.WriteLine(“輸入的字符不是數(shù)字和字母.“); 18 ,3.2.2 switch結(jié)構(gòu) switch語(yǔ)句能夠根據(jù)表達(dá)式的值來(lái)選擇要行的代碼。在if語(yǔ)句中,if語(yǔ)句只能測(cè)試單個(gè)條件,如果需要測(cè)試多個(gè)條件,則需要書(shū)寫(xiě)冗長(zhǎng)的代碼。而switch語(yǔ)句能有效的避免冗長(zhǎng)的代碼并能測(cè)試多個(gè)條件。switch語(yǔ)句的語(yǔ)法是:,switch (表達(dá)式) case 常量表達(dá)式1: 語(yǔ)句1 break; case 常量表達(dá)式2: 語(yǔ)句2 break; case 常量表達(dá)式n: 語(yǔ)句n break; default: 語(yǔ)句n+1 break; ,【范例3-1】 輸入兩個(gè)數(shù)和運(yùn)算符號(hào),計(jì)算相應(yīng)的運(yùn)算結(jié)果。 在Visual Studio 2008中新建控制臺(tái)應(yīng)用程序,項(xiàng)目名稱(chēng)為“Calculator”。 在program.cs的main方法中輸入如下代碼(代碼3-1.txt):,第3章 C#程序開(kāi)發(fā)基礎(chǔ) 程序控制結(jié)構(gòu), 賦值和注釋語(yǔ)句 分支結(jié)構(gòu)語(yǔ)句 循環(huán)結(jié)構(gòu)語(yǔ)句 字符串操作,3.3.1 while循環(huán),C#語(yǔ)言使用while語(yǔ)句實(shí)現(xiàn)當(dāng)型循環(huán),while循環(huán)的語(yǔ)法為: while (表達(dá)式) /循環(huán)體語(yǔ)句 ,例如,計(jì)算前100個(gè)自然數(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時(shí)循環(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)語(yǔ)句是C#語(yǔ)句中使用最廣泛,最靈活的一種循環(huán)控制語(yǔ)句。語(yǔ)法為: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) /循環(huán)體 ,【范例3-2】 用for循環(huán)計(jì)算 1+2+3+100的和。,1 int sum; /定義累加變量sum 2 sum = 0; /累加變量賦初始值為0 3 Console.WriteLine(”計(jì)算1+2+3+100的和:“); 4 for (int i=1;i=100;i+)/循環(huán)變量i從1開(kāi)始到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)用于遍歷整個(gè)集合或數(shù)組,可以獲取集合中的所有對(duì)象,循環(huán)條件不使用布爾表達(dá)式。foreach循環(huán)簡(jiǎn)單易用,代碼簡(jiǎn)潔。在以后的學(xué)習(xí)中,我們會(huì)經(jīng)常用到。語(yǔ)法如下: foreach(數(shù)據(jù)類(lèi)型 局部變量 in 集合或者數(shù)組) /代碼塊 ,例如:輸出數(shù)組中的每個(gè)元素。,string str =”Jan“, ”Feb“, ”Mar“, ”Apr“, ”May“, ”Jun“; /定義數(shù)組并賦初值 foreach (string s in str)/如果數(shù)組中存在元素則執(zhí)行循環(huán) Console.WriteLine(s);/分別輸出數(shù)組中的每個(gè)元素 ,3.3.4 循環(huán)嵌套,循環(huán)嵌套就是在循環(huán)體中還可以使用循環(huán)語(yǔ)句,前面講過(guò)的幾種循環(huán)都可以互相嵌套的。 例:找出100之內(nèi)的素?cái)?shù)。,1 static void Main(string args) 2 3 Console.Write(”100之中的素?cái)?shù)有:“);/輸出提示信息 4 for (int i = 2; i 100; i+) /外層循環(huán),i從2到100循環(huán)分別判斷i是否是素?cái)?shù) 5 6 bool isPrime = true ;/定義isPrime變量,標(biāo)志某個(gè)數(shù)是否為素?cái)?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,說(shuō)明i不是素?cái)?shù) 10 11 isPrime = false; /i不是素?cá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如果是素?cái)?shù)則輸出 17 18 Console.Write(” 0 , “,i) ;/輸出素?cái)?shù)i 19 20 /外層循環(huán)結(jié)束 21 ,第3章 C#程序開(kāi)發(fā)基礎(chǔ) 程序控制結(jié)構(gòu), 賦值和注釋語(yǔ)句 分支結(jié)構(gòu)語(yǔ)句 循環(huán)結(jié)構(gòu)語(yǔ)句 字符串操作,3.4 字符串操作,字符串是程序中用的非常多的數(shù)據(jù)類(lèi)型,也是最常用的一種引用類(lèi)型。雖然C#是嚴(yán)格區(qū)分大小寫(xiě)的,但是string和String在C#中是一樣的。String類(lèi)屬于System命名空間,是.NET Framework提供的專(zhuān)門(mén)處理字符串的類(lèi)庫(kù)。string相當(dāng)于String在C#中的別名,在C#中它們是完全相同的。,3.4.1 靜態(tài)串String,String對(duì)象的內(nèi)容是不可改變的,所以也稱(chēng)為靜態(tài)串。不可改變指的是只要?jiǎng)?chuàng)建一個(gè)String類(lèi)型的對(duì)象,就不能再更改對(duì)象的值,任何賦值、修改操作都將被分配一個(gè)新值。.NET Framework提供了很多處理字符處的方法,下面介紹常用的一些方法。,可以使用String類(lèi)的Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith等方法進(jìn)行字符串的比較。 使用 IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可獲取字符串中子字符串。 使用 Copy 和 CopyTo 可將字符串或子字符串復(fù)制到另一個(gè)字符串或 Char 類(lèi)型的數(shù)組。 使用 Substring 和 Split 方法可通過(guò)原始字符串的組成部分創(chuàng)建一個(gè)或多個(gè)新字符串。 使用 Concat 和 Join 方法可通過(guò)一個(gè)或多個(gè)子字符串創(chuàng)建新字符串。 使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart 可修改字符串的全部或部分。 使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant方法可更改字符串中 Unicode 字符的大小寫(xiě)。 使用 Length 屬性可獲取字符串中 Char 對(duì)象的數(shù)量;使用 Chars 屬性可訪(fǎng)問(wèn)字符串中實(shí)際的 Char 對(duì)象。,【范例3-3】 String類(lèi)比較、連接和分割字符串方法的使用。, 在Visual Studio 2008中新建控制臺(tái)應(yīng)用程序,項(xiàng)目名稱(chēng)為“StringDemo“。 在program.cs的main方法中輸入如下代碼(代碼3-3.txt):,3.4.2 動(dòng)態(tài)串StringBuilder,字符串對(duì)象是“不可變的”,即它們一旦創(chuàng)建就無(wú)法更改。對(duì)字符串進(jìn)行操作的方法實(shí)際上返回的是新的字符串對(duì)象。因此,出于性能方面的原因,大量的連接或其他涉及字符串的操作應(yīng)當(dāng)用System.Text.StringBuilder 類(lèi)。例如,當(dāng)在一個(gè)循環(huán)中將許多字符串連接在一起時(shí),使用 StringBuilder 類(lèi)可以提升性能。,【范例3-4】動(dòng)態(tài)字符串的使用。,1 StringBuilder sb1 = new StringBuilder();/構(gòu)造一個(gè)空 StringBuilder名為sb1 2 Console.WriteLine(“sb1的初始容量為:0”, sb1.Capacity);/輸出sb1的容量 3 Console.WriteLine(“sb1的初始長(zhǎng)度為:0“, sb1.Length); /輸出sb1的長(zhǎng)度 4 sb1.Append(“hello world“); /向sb1中添加字符串,構(gòu)造新字符串 5 Console.WriteLine(“向sb1中添加后sb1的容量為:0“, sb1.Capacity); 6 Console.WriteLine(“向sb1中添加后sb1的長(zhǎng)度為:0“, sb1.Length); 7 sb1.Append(“ hello C# I am very like learning English. “);,8 Console.WriteLine(“在次向sb1中添加后sb1的容量為:0“, sb1.Capacity
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《chap會(huì)計(jì)憑證》課件
- 《服裝行業(yè)櫥窗展示》課件
- 《建設(shè)項(xiàng)目質(zhì)量管理》課件
- 2024-2025學(xué)年天津市第三中學(xué)高三上學(xué)期10月月考?xì)v史試題(解析版)
- 單位管理制度集合大全【員工管理】十篇
- 單位管理制度集粹選集【人員管理】十篇
- 《中國(guó)心力衰竭診斷和治療指南(2024)》解讀完整版
- 單位管理制度匯編大全【職工管理】
- 單位管理制度合并選集職員管理
- 《電阻的串聯(lián)和并聯(lián)》課件
- 教師如何管理和控制自己的情緒
- 《中外歷史綱要(上)》全冊(cè)單元知識(shí)點(diǎn)高頻考點(diǎn)
- (完整版)庭審筆錄(刑事普通程序)
- DB15T+3199-2023公路工程水泥混凝土質(zhì)量聲波層析成像法檢測(cè)規(guī)程
- 耳鳴耳聾-疾病研究白皮書(shū)
- 危化品建設(shè)項(xiàng)目安全評(píng)價(jià)審查要點(diǎn)
- 信息學(xué)奧賽培訓(xùn)課件 第4課 c++基礎(chǔ)語(yǔ)法for循環(huán)結(jié)構(gòu)(第一課時(shí))
- 全面質(zhì)量管理基礎(chǔ)知識(shí)
- 國(guó)學(xué)故事-《孟母三遷》課件
- 職工代表大會(huì)表決辦法
- 專(zhuān)升本英語(yǔ)寫(xiě)作專(zhuān)題講解課件
評(píng)論
0/150
提交評(píng)論