第2講C程序設(shè)計基礎(chǔ)(一)課件_第1頁
第2講C程序設(shè)計基礎(chǔ)(一)課件_第2頁
第2講C程序設(shè)計基礎(chǔ)(一)課件_第3頁
第2講C程序設(shè)計基礎(chǔ)(一)課件_第4頁
第2講C程序設(shè)計基礎(chǔ)(一)課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二講C#程序設(shè)計基礎(chǔ)(一)掌握C#的數(shù)據(jù)類型及常用運算符和優(yōu)先級。了解控制流程的兩種方法。理解和掌握布爾邏輯的基本概念及布爾運算符的用法。掌握分支、循環(huán)流程控制語句的使用方法。重點和難點:C#的數(shù)據(jù)類型及常用運算符、布爾運算符的用法、分支結(jié)構(gòu)及循環(huán)結(jié)構(gòu)程序設(shè)計方法。第二講C#程序設(shè)計基礎(chǔ)(一)掌握C#的數(shù)據(jù)類型及常用運1第二講C#程序設(shè)計基礎(chǔ)(一)2.1C#數(shù)據(jù)類型2.2C#運算符與優(yōu)先級2.3C#流程控制語句第二講C#程序設(shè)計基礎(chǔ)(一)2.1C#數(shù)據(jù)類型22.1C#數(shù)據(jù)類型2.1.1值類型

2.1.2引用類型

2.1.3值類型間的數(shù)據(jù)轉(zhuǎn)換

2.1C#數(shù)據(jù)類型2.1.1值類型3C#數(shù)據(jù)類型C#數(shù)據(jù)類型分為兩類:值類型和引用類型。C#中把基本數(shù)據(jù)類型規(guī)定為值類型,而把一些較大的類型規(guī)定為引用類型,這種設(shè)計方式是為了得到最佳的性能。值類型包括整型數(shù)類型、布爾類型、浮點類型和小數(shù)型、結(jié)構(gòu)類型和枚舉類型。引用類型包括類類型、數(shù)組、接口類型和委托類型、字符串類型。C#數(shù)據(jù)類型C#數(shù)據(jù)類型分為兩類:值類型和引用類型。4值類型變量和引用類型變量的主要區(qū)別存儲位置值類型變量(定長)直接把變量的值保存在堆棧中。引用類型的變量(變長)把實際數(shù)據(jù)的地址保存在堆棧中,而實際數(shù)據(jù)則保存在堆中。賦值操作值類型變量在賦值時使用了內(nèi)存復制的方式,一個變量的操作不會影響到其他變量。引用類型變量在賦值時,直接傳遞的是地址,不存在內(nèi)存數(shù)據(jù)的復制,沒有性能損失,對一個變量的操作會影響到引用同一個對象的另一個變量。值類型變量和引用類型變量的主要區(qū)別存儲位置5.NET基本類型在.NETFramework中,被編譯器直接支持的數(shù)據(jù)類型稱為基本類型,也被設(shè)計成類,每種數(shù)據(jù)類型都有屬性和方法,在.NETFramework類庫中都有對應的類名。.NET基本類型包括:基本值類型:包括整型、浮點類型、小數(shù)型、布爾型、字符型。基本引用類型:包括Object類型(對象類型)、String類型。.NET基本類型在.NETFrame62.1.1值類型

聲明一個值類型的語法形式為:[數(shù)據(jù)類型名][變量名稱][=n];例如:

inta=100;//聲明一個整型變量a,并賦初值為100;

注意,C#不允許使用未初始化的變量。2.1.1值類型聲明一個值類型的語法形式為:7名稱.NET類名說明范圍sbyteSystem.SByte8位有符號整數(shù)-2n-1~2n-1-1(n=8)byteSystem.Byte8位無符號整數(shù)0~2n-1(n=8)shortSystem.Int1616位有符號整數(shù)-2n-1~2n-1-1(n=16)ushortSystem.Uint1616位無符號整數(shù)0~2n-1(n=16)intSystem.Int3232位有符號整數(shù)-2n-1~2n-1-1(n=32)uintSystem.Uint6432位無符號整數(shù)0~2n-1(n=32)longSystem.Int6464位有符號整數(shù)-2n-1~2n-1-1(n=64)ulongSystem.Uint3264位無符號整數(shù)0~2n-1(n=64)floatSystem.Single32位單精度浮點數(shù)(7位有效數(shù)字)±1.5×10-45~±3.4×1038doubleSystem.Double64位雙精度浮點數(shù)(15到16位有效數(shù)字)±5.0×10-324~±1.7×10308decimalSystem.Decimal128位高精度十進制數(shù)(28位到29位有效數(shù)字)±1.0×10-28~±7.9×1028boolSystem.BooleanTrue或falsecharSystem.Char16位Unicode字符C#基本值類型注:有效數(shù)字指從第一個不是零的數(shù)字起到最后一個數(shù)為止的數(shù)位。整數(shù)型浮點型小數(shù)型布爾型字符型名稱.NET類名說明范圍sbyteSystem.SByte88關(guān)于基本值類型的說明(1):如果對一個整數(shù)的數(shù)值沒有作出指示,編譯器將其默認為int類型,若不是int型,要加相應后綴,如:uintui=9000u;longl=9000L;ulongul=9000L;如果對一個非整數(shù)的數(shù)值沒有作出指示,編譯器將其默認為double類型,如果想指定為float型或小數(shù)型,數(shù)值要分別加后綴f或m,如:floatf=345.12f;decimald=10.0m;bool類型的值和整數(shù)類型不能互相轉(zhuǎn)換。關(guān)于基本值類型的說明(1):如果對一個整數(shù)的數(shù)值沒有作出指示9關(guān)于基本值類型的說明(2):char類型的值是使用單引號括起來的,如‘A’,’漢’。C#定義了一種特殊形式的字符數(shù)據(jù),即以“\”開頭的轉(zhuǎn)義字符,轉(zhuǎn)義字符用于在程序中取代特殊的控制字符,如下表所示。轉(zhuǎn)義序列字符轉(zhuǎn)義序列字符\’單引號\f換頁\’’雙引號\n換行\(zhòng)\反斜杠\r回車\0空\t水平Tab\a警告\v垂直Tab\b退格(←)關(guān)于基本值類型的說明(2):char類型的值是使用單引號括起10結(jié)構(gòu)類型在實際生活中,經(jīng)常把一組相關(guān)的信息放在一起。如,記錄一本書的相關(guān)信息如書名、作者和內(nèi)容等。如果按照簡單的管理,每一條記錄都要放到三個不同的變量中,這樣的工作量很大,也不夠直觀。C#結(jié)構(gòu)體可以解決這個問題。把一系列相關(guān)的變量組織成為一個單一實體的過程,稱為生成結(jié)構(gòu)的過程。這個單一實體的類型就叫做結(jié)構(gòu)類型,每一個變量稱為結(jié)構(gòu)的成員。結(jié)構(gòu)類型的變量采用struct來進行聲明。聲明形式如下:[訪問修飾符]struct結(jié)構(gòu)名稱{//主體}結(jié)構(gòu)類型在實際生活中,經(jīng)常把一組相關(guān)的信息放在一起。11下面根據(jù)記錄書中的信息定義一個結(jié)構(gòu)體,代碼如下:publicstructcentent{ publicstringtitle; publicstringauthor; publicstringcontent;}

下面根據(jù)記錄書中的信息定義一個結(jié)構(gòu)體,代碼如下:12結(jié)構(gòu)類型舉例:usingSystem;namespaceStructExample{publicstructPoint{publicintx;publicinty;publicstrings;}classProgram{publicstaticvoidMain(){Pointp;p.x=3;p.y=4;p.s="ok";Console.WriteLine("Theresultis{0},{1},{2}",p.x,p.y,p.s);Console.ReadLine();}}}運行結(jié)果:Theresultis3,4,ok結(jié)構(gòu)類型舉例:usingSystem;13枚舉類型枚舉是值類型的一種特殊形式,為簡單類型的常數(shù)值提供一種方便記憶的方法。枚舉類型的定義形式一般為:enum[:枚舉數(shù)據(jù)類型]枚舉名{枚舉值表};每一種枚舉類型都有一種基本類型,long、int、short和byte等整數(shù)類型均可作為枚舉類型的基本類型,如果不指明數(shù)據(jù)類型,則默認為int型,且第一個元素的值為0,其后每一個連續(xù)元素的值加1遞增,但是也可以給元素直接賦值定義。如:enumDays{Mon,Tue,Wed,Fri,Sat,Sun};//Mon:0,Tue:1……該枚舉名為Days,枚舉值共有7個,即一周中的7天,所有被聲明為Days類型的變量,其值只能是七天中的某一天。例如,當定義Days類型變量aDays后,變量aDay的值為如下形式:DaysaDay;aDay=Days.Wed;又如:enumData:long{Min=255l,Mid=1024l,Max=32768l};枚舉類型枚舉是值類型的一種特殊形式,為簡單類型的常數(shù)值提供一14枚舉類型舉例usingSystem;namespaceEnumExample{classProgram{//定義枚舉型數(shù)據(jù)days,并賦值,Sun到Sat的值分別對應于0到6enumdays{Sun,Mon,Tue,Wed,Thu,Fri,Sat};staticvoidMain(){Console.WriteLine(days.Wed);Console.WriteLine((int)days.Wed);//定義days型變量myday,為其賦枚舉中的值Fridaysmyday=days.Fri;Console.WriteLine(myday);Console.ReadLine();}}}運行結(jié)果:Wed3Fri枚舉類型舉例usingSystem;152.1.2引用類型

在基本類型里的引用類型有兩個數(shù)據(jù)類型,即Object類型和String類型。

名稱.NET庫別名說明ObjectSystem.Object根類型,.NET庫中的其它任何類型都是從它派生而來的(包括值類型)。StringSystem.String代表Unicode字符串2.1.2引用類型在基本類型里的引用類型有兩個數(shù)據(jù)類型16關(guān)于基本引用類型的說明(1)Object類型在C#中,Object類型是一切類型的最終父類型,所有內(nèi)在的和用戶定義的類型歸根結(jié)底都是由它派生而來的。(2)String類型(字符串)C#提供了一個封裝良好的string類,可以方便地執(zhí)行字符串相關(guān)的操作,如下所示:stringstring1=“你好”;stringstring2=“C#”;stringstring3=string1+string2;關(guān)于基本引用類型的說明(1)Object類型17(3)字符串在賦值方面像值類型,而不像引用類型。usingSystem;classstringexample{ staticvoidMain() { strings1="astring"; strings2=s1; Console.WriteLine("s1is"+s1); Console.WriteLine("s2is"+s2); s1="anotherstring"; Console.WriteLine("s1isnow"+s1); Console.WriteLine("s2isnow"+s2); Console.ReadLine(); }}運行結(jié)果如下:s1isastrings2isastrings1isnowanotherstrings2isnowastring(3)字符串在賦值方面像值類型,而不像引用類型。18(4)String是Uncode字符串,即每個英文字母與漢字一樣,均占兩個字節(jié),長度均為1。例如:stringstr=“ab張三cde”;Console.WriteLine(str.Length);//輸出結(jié)果:7。(5)可以使用Format方法將字符串表示為規(guī)定格式。規(guī)定格式的一般形式為:{N[,M][:格式碼]}其中,[]:表示其中的內(nèi)容為可選項。N:從零開始的整數(shù),表示第幾個參數(shù)。M:可選整數(shù),表示最小長度。若該參數(shù)的長度小于M的絕對值,就用空格填充,如果M為負,則左對齊;如果M為正,則右對齊。M默認為0。格式碼:可選的格式化代碼字符串(字母不區(qū)分大小寫)。如:inti=123;doublej=123.453;Strings=String.Format(“i={0,-7:d5},j={1,7:f2}”,i,j);Console.WriteLine(s);結(jié)果:i=00123,j=123.45(4)String是Uncode字符串,即每個英文字母與漢字19部分格式碼格式符含義示例:(inti=10;doublex=10.5;)結(jié)果C將數(shù)字按照金額形式輸出Console.WriteLine(“{0:C}”,i);¥10.00Console.WriteLine(“{0:C}”,x);¥10.50

D[n]輸出整數(shù)(n為數(shù)字個數(shù),不足補0)Console.WriteLine(“{0:D}”,i);10Console.WriteLine(“{0:D5}”,i);00010F[n]小數(shù)點后位數(shù)固定(n為小數(shù)點位數(shù),不足補0)Console.WriteLine(“{0:F}”,i);10.00Console.WriteLine(“{0:F4}”,i);10.5000部分格式碼格式符含義示例:(inti=10;double202.1.3值類型之間的數(shù)據(jù)轉(zhuǎn)換

同類整數(shù)值類型之間有兩種轉(zhuǎn)換方式:

隱式轉(zhuǎn)換與顯式轉(zhuǎn)換;所有值類型之間的轉(zhuǎn)換,都可以使用Convert類轉(zhuǎn)換。

2.1.3值類型之間的數(shù)據(jù)轉(zhuǎn)換同類整數(shù)值類型之間有兩種21(1)同類整數(shù)值類型之間的數(shù)據(jù)轉(zhuǎn)換-隱式轉(zhuǎn)換從低精度、小范圍的數(shù)據(jù)類型轉(zhuǎn)換為高精度、大范圍的數(shù)據(jù)類型,可以用隱式轉(zhuǎn)換。例如:

intk=1;longi=2;i=k;//隱式轉(zhuǎn)換(1)同類整數(shù)值類型之間的數(shù)據(jù)轉(zhuǎn)換-隱式轉(zhuǎn)換從低22(2)同類整數(shù)值類型之間的數(shù)據(jù)轉(zhuǎn)換-顯式轉(zhuǎn)換從大范圍類型的數(shù)據(jù)轉(zhuǎn)換為小范圍類型的數(shù)據(jù)的時候,必須采用顯式轉(zhuǎn)換,而且特別謹慎,因為此時有丟失數(shù)據(jù)的危險。如:longk=5000;inti=(int)k所有的隱式轉(zhuǎn)換也都可以采用顯式轉(zhuǎn)換的形式來表示。如:inti=10;longj=(long)i;

(2)同類整數(shù)值類型之間的數(shù)據(jù)轉(zhuǎn)換-顯式轉(zhuǎn)換23(3)使用Convert類進行所有值類型間的轉(zhuǎn)換命令結(jié)果Convert.ToBoolean(val)val轉(zhuǎn)化為boolConvert.ToByte(val)val轉(zhuǎn)化為byteConvert.ToChar(val)val轉(zhuǎn)化為charConvert.ToDecimal(val)val轉(zhuǎn)化為decimalConvert.ToDoube(val)val轉(zhuǎn)化為doubleConvert.ToInt16(val)val轉(zhuǎn)化為shortConvert.ToInt32(val)val轉(zhuǎn)化為intConvert.ToInt64(val)val轉(zhuǎn)化為longConvert.ToSByte(val)val轉(zhuǎn)化為sbyteConvert.ToSingle(val)val轉(zhuǎn)化為floatConvert.ToString(val)val轉(zhuǎn)化為stringConvert.ToUInt16(val)val轉(zhuǎn)化為ushortConvert.ToUInt32(val)val轉(zhuǎn)化為unitConvert.ToUInt64(val)val轉(zhuǎn)化為ulong(3)使用Convert類進行所有值類型間的轉(zhuǎn)換命令結(jié)24Convert類示例staticvoidMain(){ doublebalance,interestRate; Console.WriteLine("請輸入當前余額(元):"); balance=Convert.ToDouble(Console.ReadLine()); Console.WriteLine("請輸入年利率:"); interestRate=1+Convert.ToDouble(Console.ReadLine())/100.0; balance*=interestRate;

Console.WriteLine("1年后的余額將達{0:f2}元。",balance); Console.ReadLine();}Convert類示例staticvoidMain()252.2運算符與優(yōu)先級C#運算符分為以下兩大類:算術(shù)運算符數(shù)學運算符:+、-,*,/,%遞增遞減運算符:++,--(用于前綴);++,--(用于后綴)算術(shù)賦值運算符:=,*=,/=,%=,+=,-=布爾運算符下面只講算術(shù)運算符,第二節(jié)再講布爾運算符。2.2運算符與優(yōu)先級C#運算符分為以下兩大類:26數(shù)學表達式示例intvar1,var2=5,var3=6;var1=var2+var3;var1=var2-var3;var1=var2*var3;var1=var2/var3;var1=var2%var3;數(shù)學表達式示例intvar1,var2=5,var3=6;27遞增遞減運算符示例intvar1,var2=5;var1=++var2;//var1的值是var2+1,var2遞增1var1=--var2;//var1的值是var2-1,var2遞減1var1=var2++;//var1的值是var2,var2遞增1var1=var2--;//var1的值是var2,var2遞減1遞增遞減運算符示例intvar1,var2=5;28算術(shù)賦值運算符示例intvar1,var2=5;var1=var2;var1+=var2;//var1=var1+var2var1-=var2;//var1=var1-var2var1*=var2;//var1=var1*var2var1/=var2;//var1=var1/var2var1%=var2;//var1=var1%var2算術(shù)賦值運算符示例intvar1,var2=5;29算術(shù)運算符(優(yōu)先級高→低)組運算符一元運算符(1)+,-,++,--(用作前綴)乘/除/取余運算符*,/,%加/減運算符+,-賦值運算符=,*=,/=,%=,+=,-=一元運算符(2)++--(用作后綴)算術(shù)運算符(優(yōu)先級高→低)組運算符一元運算符(1)+,-,+302.3C#流程控制語句2.3.1布爾邏輯2.3.2C#流程控制語句2.3C#流程控制語句2.3.1布爾邏輯31流程控制的兩種方法分支有條件地執(zhí)行代碼。條件取決于計算的結(jié)果。循環(huán)重復執(zhí)行相同的語句(重復執(zhí)行一定的次數(shù),或者在滿足測試條件后停止執(zhí)行)。流程控制中要用布爾邏輯來控制流程的走向。流程控制的兩種方法分支322.3.1布爾邏輯布爾邏輯的基本概念布爾運算符布爾表達式常用運算符的優(yōu)先級2.3.1布爾邏輯布爾邏輯的基本概念33布爾邏輯的基本概念布爾(bool)類型可以有兩個值:true或false。布爾(bool)類型常常用于存儲某些操作(如比較)的結(jié)果,以便操作這些結(jié)果。如:要根據(jù)變量myVal是否小于10,來確定是否執(zhí)行代碼,為此,需要確定“myVal小于10”的真假。若為真,“myVal小于10”的布爾結(jié)果為true。若為假,“myVal小于10”的布爾結(jié)果為false。布爾邏輯的基本概念布爾(bool)類型可以有兩個值:true34布爾運算符布爾比較運算符:根據(jù)比較關(guān)系的真假來確定true還是false。包括:==,!=,<,>,<=,>=。 布爾條件運算符:用于判斷一個或多個條件是否滿足指定的規(guī)則,主要包括:!,&&,||。布爾運算符布爾比較運算符:根據(jù)比較關(guān)系的真假來確定true還35布爾比較運算符示例boolvar1intvar2=8,var3=5;boolvar1=(va2==var3);var1=(va2!=var3);var1=(va2<var3);var1=(va2>var3);var1=(va2<=var3);var1=(va2>=var3);//以上var1必須是布爾型,var2、var3可以是各種類型。布爾比較運算符示例boolvar136布爾條件運算符示例boolvar1,var2=true,var3=false;var1=!var2;var1=var2&&var3;//條件與var1=var2||var3;//條件或//var1、var2、var3必須是布爾型。布爾條件運算符示例boolvar1,var2=true,37布爾表達式布爾表達式是指結(jié)果為布爾值的表達式。如:boolvar;intix=3,iy=5;charcx='g',cy='h';stringsx="abc",sy="def";var=ix<iy==(sx!=sy);Console.WriteLine(“var={0}”,var);運行結(jié)果:var=True布爾表達式布爾表達式是指結(jié)果為布爾值的表達式。如:38布爾運算及布爾表達式綜合示例boolvar1,var2;intvar12=8,var3=5,var4=-1,var5=100;var1=(var12>var3)&&(var4<var5);var2=(var12>var3)||(var4>var5)&&(var4!=0);Console.WriteLine(“var1={0}var2={1}”,var1,var2);運行結(jié)果:var1=Truevar2=True布爾運算及布爾表達式綜合示例boolvar1,var2;39常用運算符優(yōu)先級(優(yōu)先級高→低)組運算符初級運算符()一元運算符(1)+,-,!++,--(用作前綴)乘/除運算符*,/,%加/減運算符+,-布爾比較運算符(1)<,>,<=,>=布爾比較運算符(2)==,!=布爾條件與運算符&&布爾條件或運算符||三元運算符?:賦值運算符=,*=,/=,%=,+=,-=一元運算符(2)++--(用作后綴)常用運算符優(yōu)先級(優(yōu)先級高→低)組運算符初級運算符()一元運402.3.2C#流程控制語句分支語句循環(huán)語句跳轉(zhuǎn)語句

2.3.2C#流程控制語句分支語句411.分支語句分支是控制下一步要執(zhí)行哪些代碼的過程,要跳轉(zhuǎn)到的代碼行由某個條件語句來控制。這個條件語句使用布爾邏輯,將測試值和可能值進行比較來決定程序走向。C#中的3種分支技術(shù)如下:三元運算符?:if語句switch語句1.分支語句分支是控制下一步要執(zhí)行哪些42三元運算符使用三元運算符是進行比較的最簡單的方式。其語法如下:<test>?<resultTure>:<resultFalse>其中,計算<test>可得到一個布爾值,三元運算符的結(jié)果根據(jù)這個值來確定是<resultTure>,還是<resultFalse>。三元運算符的示例如下:stringresultStr=(myInteger<10)?”小于10”:”大于等于10”;三元運算符比較適合于簡單賦值語句,根據(jù)比較結(jié)果執(zhí)行大量代碼的情形應使用if語句。三元運算符使用三元運算符是進行比較的最簡單的方式。其語法如下43if語句功能:根據(jù)測試條件布爾表達式的值(true或false)選擇要執(zhí)行的語句序列。典型結(jié)構(gòu)如下:if(測試條件布爾表達式){測試條件布爾表達式為真時執(zhí)行的語句序列}else{測試條件布爾表達式為假時執(zhí)行的語句序列}注:以后,凡是一個語句序列包含多于一條的語句,就必須使用大括號{}將語句序列括起來。if語句功能:根據(jù)測試條件布爾表達式44常見形式有:1)單獨使用if語句,不加else語句if(布爾表達式){布爾表達式為真時執(zhí)行的語句序列}

2)if語句和else語句配套使用的單條件測試if(布爾表達式){布爾表達式為真時執(zhí)行的語句序列}else{布爾表達式為假時執(zhí)行的語句序列}常見形式有:453)else塊中嵌套if語句的多條件測試if(布爾表達式1){布爾表達式1為真時執(zhí)行的語句序列}elseif(布爾表達式2)//注意,else和if之間有一個空格。{布爾表達式2為真時執(zhí)行的語句序列}elseif(布爾表達式3){布爾表達式3為真時執(zhí)行的語句序列}else{所有條件均為假時執(zhí)行的語句序列}3)else塊中嵌套if語句的多條件測試46//

if語句舉例:任意輸入一個整數(shù)i,,先判斷合法性,再判斷i是否為”1”,為“1”打印“iisone”,不為”1”,打印“iisnotone”。usingSystem;namespaceConsoleAppIfExample{ classIfExample { staticvoidMain(string[]args) {inti; Console.Write("i="); i=Convert.ToInt32(Console.ReadLine()); if(i==1) { Console.WriteLine("iisone");}else{Console.WriteLine("iisnotone");}Console.ReadLine();} }}//if語句舉例:任意輸入一個整數(shù)i,,先判斷合法性,再47switch語句switch語句也叫case語句,可以一次將測試變量與多個可能值進行比較,這種測試僅限于可能值是離散的值類型常量。switch語句一般形式為:switch(條件表達式){case常量表達式1:語句序列1break;case常量表達式2:語句序列2break;……[default:語句序列break;]}每個case后的語句序列可不用大括號,但是每個case塊的最后一句一定要是break語句。switch語句switch語句也叫case語句,可以一48switch語句注意事項:a)如果某個case塊為空,則會從這個case塊直接跳到下一個case塊上。b)在一個switch中,不能有相同的兩個case標記。

switch(條件表達式){case常量表達式1:語句序列1break;case常量表達式2:語句序列2break;……[default:語句序列break;]}switch語句注意事項:a)如果某個case塊為49Switch語句舉例usingSystem;namespaceSwitchExample{publicclassProgram{publicstaticvoidMain(){Console.WriteLine("一年中你最喜歡那個季節(jié)?");stringSeason=Console.ReadLine();//從鍵盤讀取用戶輸入內(nèi)容Console.Write("你喜歡{0}",Season);switch(Season)//switch分支{case"春天":Console.WriteLine("這樣的天氣最適合郊游了,相信你肯定喜歡!");break;case"夏天":Console.WriteLine("火辣的天氣,去游泳館會是一個不錯的選擇!");break;case"秋天":Console.WriteLine("秋高氣爽,帶上你的家人去旅行吧!");break;case"冬天":Console.WriteLine("白雪茫茫的,去滑雪吧,絕對刺激!");break;default:Console.WriteLine("請確認你輸入的季節(jié)");break;}Console.Read();}}}Switch語句舉例usingSystem;502.循環(huán)語句循環(huán)就是重復執(zhí)行一些語句。循環(huán)語句包括:do-while語句while語句foreach語句for語句用于循環(huán)次數(shù)不定的情形。用于循環(huán)次數(shù)一定的情形。2.循環(huán)語句循環(huán)就是重復執(zhí)行一些語句。循環(huán)語句包括51do-while語句

do-while循環(huán)的結(jié)構(gòu)如下:do{語句序列}while(條件);注:while語句后面的分號是必須的。do-while循環(huán)先執(zhí)行循環(huán)體內(nèi)的語句序列,然后進行一個布爾測試,如果測試的結(jié)果為true,就繼續(xù)循環(huán)。如:inti=1;do{Console.WriteLine(“{0}”,i++);}while(i<=10);do-while語句do-while循環(huán)的結(jié)構(gòu)52例2-3do-while循環(huán)舉例。給定當前余額、年利率及預期余額,計算幾年后存款余額達到預期余額。doublebalance,interestRate,targetBalance;Console.WriteLine("請輸入當前余額(元):");balance=Convert.ToDouble(Console.ReadLine());Console.WriteLine("請輸入年利率:");

interestRate=1+Convert.ToDouble(Console.ReadLine())/100.0;Console.WriteLine("請輸入預期余額(元):");targetBalance=Convert.ToDouble(Console.ReadLine());inttotalYears=0;do{balance*=interestRate;++totalYears;}while(balance<targetBalance);Console.WriteLine("在{0}年內(nèi),余額將達{1}元。",totalYears,balance);Console.ReadLine();例2-3do-while循環(huán)舉例。給定當前余額、年利率及預53while語句While循環(huán)的結(jié)構(gòu)為:while(條件){語句序列}while循環(huán)非常類似于do-while循環(huán),區(qū)別在于:while循環(huán)中的布爾測試是在循環(huán)開始時進行,循環(huán)體可能一次都不執(zhí)行,而do-while循環(huán)是在最后進行布爾測試,循環(huán)體至少執(zhí)行一次。如:inti=1;while(i<=10){Console.WriteLine(“{0}”,i++);}while語句While循環(huán)的結(jié)構(gòu)為:54例2-4while循環(huán)舉例。給定當前余額、年利率及預期余額,計算幾年后存款余額達到預期余額。doublebalance,interestRate,targetBalance;Console.WriteLine("請輸入當前余額(元):");balance=Convert.ToDouble(Console.ReadLine());Console.WriteLine("請輸入年利率:"); interestRate=1+Convert.ToDouble(Console.ReadLine())/100.0;Console.WriteLine("請輸入預期余額(元):");targetBalance=Convert.ToDouble(Console.ReadLine());inttotalYears=0;while(balance<targetBalance){balance*=interestRate;++totalYears;}Console.WriteLine("在{0}年內(nèi),余額將達{1}元。",totalYears,balance);Console.ReadLine(); 例2-4while循環(huán)舉例。給定當前余額、年利率及預期余額55foreach循環(huán)foreach循環(huán)可以依次讀取集合中的每一項,但不能修改集合中的任何一項。foreach的語法如下:foreach(類型變量名in集合){執(zhí)行語句;}類型為集合元素的類型,變量名表示集合中的每一個元素。每次執(zhí)行一次循環(huán)語句,循環(huán)變量就讀取集中的一個元素。foreach循環(huán)foreach循環(huán)可以依次讀取集合中的每一56foreach舉例staticvoidMain(){string[]colors={"Red","Blue","Green","White","Yellow"};foreach(stringcincolors){Console.WriteLine("{0}",c);}Console.ReadLine();}foreach舉例staticvoidMain()57for語句do-while和while語句適于循環(huán)次數(shù)不定的情形。for語句用于循環(huán)次數(shù)一定的情形。要定義for循環(huán),需要下述信息:(1)初始化:給計數(shù)器變量(可以是多個)賦初值。(2)循環(huán)條件:繼續(xù)循環(huán)的條件,當計數(shù)器變量不滿足測試條件時結(jié)束循環(huán)。(3)循環(huán)控制:在每次循環(huán)的最后,對計數(shù)器變量執(zhí)行增減操作。for循環(huán)一般形式為:for(初始化;循環(huán)條件;循環(huán)控制){語句序列}

for語句do-while和whi58for語句簡單舉例例:循環(huán)把1至10寫到控制臺上。inti;for(i=1;i<=10;++i){console.writeline(“{0}”,i);}for語句簡單舉例例:循環(huán)把1至10寫到控制臺上。593.循環(huán)的中斷--跳轉(zhuǎn)語句有時需要在循環(huán)代碼的處理上使用跳轉(zhuǎn)語句實現(xiàn)更精細的控制。如下:break語句立即終止循環(huán)。continue語句立即終止當前的循環(huán),繼續(xù)執(zhí)行下一次循環(huán)。3.循環(huán)的中斷--跳轉(zhuǎn)語句有時需要在循環(huán)代碼的處60break語句舉例inti;for(i=1;i<=1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論