工學(xué)C第二章-c語言基礎(chǔ)課件_第1頁
工學(xué)C第二章-c語言基礎(chǔ)課件_第2頁
工學(xué)C第二章-c語言基礎(chǔ)課件_第3頁
工學(xué)C第二章-c語言基礎(chǔ)課件_第4頁
工學(xué)C第二章-c語言基礎(chǔ)課件_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章c#語言基礎(chǔ)第2章c#語言基礎(chǔ)在本章中,您將學(xué)習(xí):使用變量操作符:算術(shù)算術(shù)賦值一元比較邏輯使用條件結(jié)構(gòu)使用循環(huán)結(jié)構(gòu)目標(biāo)在本章中,您將學(xué)習(xí):目標(biāo)應(yīng)用程序使用操作符來處理用戶輸入的數(shù)據(jù)。C#中的操作符可以分成:算術(shù)操作符算術(shù)賦值操作符一元操作符比較操作符邏輯操作符使用操作符應(yīng)用程序使用操作符來處理用戶輸入的數(shù)據(jù)。使用操作符運(yùn)算符和表達(dá)式Result=number*100變量變量常量操作數(shù)表達(dá)式操作數(shù)和運(yùn)算符的組合運(yùn)算符運(yùn)算符和表達(dá)式Result=number*100變量變量常量類別運(yùn)算符說明表達(dá)式算術(shù)運(yùn)算符+執(zhí)行加法運(yùn)算(如果兩個操作數(shù)是字符串,則該運(yùn)算符用作字符串連接運(yùn)算符,將一個字符串添加到另一個字符串的末尾)操作數(shù)1+操作數(shù)2-執(zhí)行減法運(yùn)算操作數(shù)1-操作數(shù)2*執(zhí)行乘法運(yùn)算操作數(shù)1*操作數(shù)2/執(zhí)行除法運(yùn)算操作數(shù)1/操作數(shù)2%獲得進(jìn)行除法運(yùn)算后的余數(shù)操作數(shù)1%操作數(shù)2~將一個數(shù)按位取反~操作數(shù)類別運(yùn)算符說明表達(dá)式算術(shù)運(yùn)算符+執(zhí)行加法運(yùn)算(如果兩個操作數(shù)表達(dá)式類型計算方法結(jié)果(假定num1的值為5)num2=++num1;前置自加num1=num1+1;num2=num1;num2=6;num1=6;num2=num1++;后置自加num2=num1;num1=num1+1;num2=5;num1=6;num2=--num1;前置自減num1=num1-1;num2=num1;num2=4;Num1=4;num2=num1--;后置自減num2=num1;num1=num1-1;num2=5;Num1=4;表達(dá)式類型計算方法結(jié)果(假定num1的值為5)num2計算結(jié)果:1、 inti=0; boolresult=false result=(++i)+i==2?true:false; result=true計算結(jié)果:true類別運(yùn)算符說明表達(dá)式三元運(yùn)算符(條件運(yùn)算符)?:檢查給出的第一個表達(dá)式expression是否為真。如果為真,則計算operand1,否則計算operand2。這是唯一帶有三個操作數(shù)的運(yùn)算符表達(dá)式?操作數(shù)1:操作數(shù)2類別運(yùn)算符說明表達(dá)式三元運(yùn)算符(條件運(yùn)算符)?:檢查給出的下面的運(yùn)算結(jié)果是什么?

1、27%5=

2、~11=2-12為什么?下面的運(yùn)算結(jié)果是什么?2-12為什么?類別運(yùn)算符說明表達(dá)式比較運(yùn)算符>檢查一個數(shù)是否大于另一個數(shù)操作數(shù)1>操作數(shù)2<檢查一個數(shù)是否小于另一個數(shù)操作數(shù)1<操作數(shù)2>=檢查一個數(shù)是否大于或等于另一個數(shù)操作數(shù)1>=操作數(shù)2<=檢查一個數(shù)是否小于或等于另一個數(shù)操作數(shù)1<=操作數(shù)2==檢查兩個值是否相等操作數(shù)1==操作數(shù)2!=檢查兩個值是否不相等操作數(shù)1!=操作數(shù)2類別運(yùn)算符說明表達(dá)式比較運(yùn)算符>檢查一個數(shù)是否大于另一個數(shù)類別運(yùn)算符說明表達(dá)式成員訪問運(yùn)算符.用于訪問數(shù)據(jù)結(jié)構(gòu)的成員數(shù)據(jù)結(jié)構(gòu).成員賦值運(yùn)算符=給變量賦值操作數(shù)1=操作數(shù)2邏輯運(yùn)算符&&對兩個表達(dá)式執(zhí)行邏輯“與”運(yùn)算操作數(shù)1&&操作數(shù)2||對兩個表達(dá)式執(zhí)行邏輯“或”運(yùn)算操作數(shù)1||操作數(shù)2!對兩個表達(dá)式執(zhí)行邏輯“非”運(yùn)算!操作數(shù)^異或表達(dá)式1^表達(dá)式2類別運(yùn)算符說明表達(dá)式成員訪問運(yùn)算符.用于訪問數(shù)據(jù)結(jié)構(gòu)的成員運(yùn)算符計算方法表達(dá)式求值結(jié)果(假定X=10)+=運(yùn)算結(jié)果=操作數(shù)1+操作數(shù)2X+=5X=X+515-=運(yùn)算結(jié)果=操作數(shù)1-操作數(shù)2X-=5X=X-55*=運(yùn)算結(jié)果=操作數(shù)1*操作數(shù)2X*=5X=X*550/=運(yùn)算結(jié)果=操作數(shù)1/操作數(shù)2X/=5X=X/52%=運(yùn)算結(jié)果=操作數(shù)1%操作數(shù)2X%=5X=X%50運(yùn)算符計算方法表達(dá)式求值結(jié)果(假定X=10)+=運(yùn)算結(jié)C#運(yùn)算符的優(yōu)先級優(yōu)先級說明運(yùn)算符結(jié)合性1括號()從左到右2自加/自減運(yùn)算符++/--從右到左3乘法運(yùn)算符、除法運(yùn)算符、取模運(yùn)算符*、/、%從左到右4加減法運(yùn)算符+-從左到右5小于、小于等于大于、大于等于<、<=>、>=從左到右6等于不等于=!=從左到右從左到右7邏輯與&&從左到右8邏輯或||從左到右9賦值運(yùn)算符和快捷運(yùn)算符=、+=、*=/=、%=、-=從右到左C#運(yùn)算符的優(yōu)先級優(yōu)先級說明運(yùn)算符結(jié)合性1括號()從左到使用條件結(jié)構(gòu)條件結(jié)構(gòu)能夠根據(jù)與其關(guān)聯(lián)的表達(dá)式值選擇執(zhí)行的語句。評估條件需要比較操作符。各種條件結(jié)構(gòu)是:if…else結(jié)構(gòu)switch…case結(jié)構(gòu)使用條件結(jié)構(gòu)條件結(jié)構(gòu)能夠根據(jù)與其關(guān)聯(lián)的表達(dá)式值選擇執(zhí)行的語句if...else

條件結(jié)構(gòu)后跟一個邏輯表達(dá)式,在該表達(dá)式中比較數(shù)據(jù)并且根據(jù)比較結(jié)果作出決定。以下是if...else

結(jié)構(gòu)的語法:if(expression){statements;}else{statements;}if…else結(jié)構(gòu)if...else條件結(jié)構(gòu)后跟一個邏輯表達(dá)式,在該表達(dá)式中if...else結(jié)構(gòu)可以彼此嵌入。當(dāng)它們嵌在一起時,結(jié)構(gòu)就是級聯(lián)的if...else結(jié)構(gòu)if…else結(jié)構(gòu)(續(xù))if...else結(jié)構(gòu)可以彼此嵌入。if…else結(jié)構(gòu)(

staticvoidMain(string[]args){Console.WriteLine("請選擇要顯示的內(nèi)容");Console.WriteLine("1.開發(fā)環(huán)境");Console.WriteLine("2.編程語言");Console.WriteLine("3.項目類型");Console.WriteLine("4.退出");stringi=Console.ReadLine();if(i=="1")Console.WriteLine("microsoftvisualbasic");elseif(i=="2")Console.WriteLine("csharp");elseif(i=="3")Console.WriteLine("控制臺應(yīng)用程序");}staticvoidMain(string[]arg當(dāng)一個變量有多個值時要用到switch…case結(jié)構(gòu)。以下代碼是switch...case結(jié)構(gòu)的語法:switch(VariableName){caseConstantExpression_1:statements;break;caseConstantExpression_2:statements;break;caseConstantExpression_n:statements;break;default:statements;break;}switch…case結(jié)構(gòu)當(dāng)一個變量有多個值時要用到switch…case結(jié)構(gòu)。sw問題描述:編寫一個模擬計算器的程序。計算器應(yīng)該能夠執(zhí)行以下算術(shù)操作:加法減法乘法除法

演示:使用條件結(jié)構(gòu)的計算器問題描述:演示:使用條件結(jié)構(gòu)的計算器使用循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于重復(fù)執(zhí)行一行或多行代碼。C#支持以下的循環(huán)結(jié)構(gòu):while循環(huán)do…while循環(huán)for循環(huán)使用循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于重復(fù)執(zhí)行一行或多行代碼。while循環(huán)while循環(huán)結(jié)構(gòu)根據(jù)條件來執(zhí)行一定次數(shù)的語句塊。以下代碼是while循環(huán)結(jié)構(gòu)的語法:while(expression){statements;}while循環(huán)while循環(huán)結(jié)構(gòu)根據(jù)條件來執(zhí)行一定次數(shù)的do…while循環(huán)do...while循環(huán)結(jié)構(gòu)類似于while循環(huán)結(jié)構(gòu)。兩個結(jié)構(gòu)都要重復(fù)執(zhí)行語句直至指定的循環(huán)條件為false。以下代碼是do...while循環(huán)結(jié)構(gòu)的語法:do{statements;}while(expression);do…while循環(huán)do...while循環(huán)結(jié)構(gòu)類似于do…while循環(huán)(續(xù))下圖顯示了do...while和while循環(huán)結(jié)構(gòu)的區(qū)別。FalsedowhileFalseTrue執(zhí)行循環(huán)的主體評估條件True執(zhí)行循環(huán)的主體評估條件whiledo…while循環(huán)(續(xù))下圖顯示了do...whilefor循環(huán)for循環(huán)結(jié)構(gòu)用于執(zhí)行特定次數(shù)的語句塊。以下代碼是for循環(huán)結(jié)構(gòu)的語法:

for(initialization;termination;increment/decrement) { statements }for循環(huán)for循環(huán)結(jié)構(gòu)用于執(zhí)行特定次數(shù)的語句塊。for循環(huán)(續(xù))下圖顯示了完整的for循環(huán)結(jié)構(gòu)的執(zhí)行順序。TrueFalse初始化評估條件循環(huán)主體退出循環(huán)增量/減量for循環(huán)(續(xù))下圖顯示了完整的for循環(huán)結(jié)構(gòu)的執(zhí)行順演示:使用循環(huán)結(jié)構(gòu)的Fibonacci級數(shù)問題描述:編寫能夠生成Fibonacci級數(shù)最高至200的程序。演示:使用循環(huán)結(jié)構(gòu)的Fibonacci級數(shù)問題描述:break和continue語句使用break語句退出for循環(huán)并停止剩余循環(huán)的執(zhí)行。使用Continue語句可以跳出所有后續(xù)的指令并將控制權(quán)交回給循環(huán)。演示3.24break和continue語句使用break語在本章中,您學(xué)習(xí)了:操作符用于計算和比較值并測試多個條件。使用算術(shù)操作符對變量執(zhí)行算術(shù)操作,例如加、減、乘、除。使用算術(shù)賦值操作符執(zhí)行算術(shù)操作并將結(jié)果賦值給變量。一元操作符(如增量和減量操作符)對一個操作數(shù)進(jìn)行操作。比較操作符用于比較兩個值并根據(jù)比較的結(jié)果執(zhí)行操作。邏輯操作符用于評估表達(dá)式并返回布爾值。小結(jié)在本章中,您學(xué)習(xí)了:小結(jié)條件結(jié)構(gòu)允許選擇執(zhí)行語句。C#中的條件結(jié)構(gòu)是:if…elseswitch…case當(dāng)您要對程序的某個部分重復(fù)執(zhí)行一定的次數(shù)時,可以使用循環(huán)結(jié)構(gòu)。C#提供以下的循環(huán)結(jié)構(gòu):whiledo…whileforbreak和continue語句用于控制循環(huán)中的程序流。小結(jié)(續(xù))條件結(jié)構(gòu)允許選擇執(zhí)行語句。C#中的條件結(jié)構(gòu)是:小結(jié)(續(xù))異常異常異常是在程序執(zhí)行期間發(fā)生的錯誤情況。當(dāng)一個異常在程序中發(fā)生的時候,系統(tǒng)拋出一個錯誤。

錯誤通過異常處理過程被處理。描述異常異常是在程序執(zhí)行期間發(fā)生的錯誤情況。描述異常在程序中發(fā)生的錯誤的類型有三種。它們是:語法錯誤:語法錯誤發(fā)生在語句沒有適當(dāng)構(gòu)造、關(guān)鍵字被拼錯或標(biāo)點被忽略的時候。

運(yùn)行時錯誤:運(yùn)行時錯誤發(fā)生在程序試圖完成一個操作,但它在運(yùn)行時不被允許。邏輯錯誤:邏輯錯誤發(fā)生在程序編譯和運(yùn)行正常但沒有產(chǎn)生預(yù)期的結(jié)果的時候。

讓我們了解錯誤類型的詳細(xì)信息。錯誤的類型在程序中發(fā)生的錯誤的類型有三種。它們是:錯誤的類型classErrors{Console.WriteLine(“EnjoyErrors”)}Console.WriteLine語句缺少分號語法錯誤classErrors{Console.WriteLineclassErrors{intNum1=0;intNum2=20;intNum3;Num3=Num2/Num1;Console.WriteLine(“TheResultis{0}”,Num3);}發(fā)生了除以零的情況運(yùn)行時錯誤classErrors{intNum1=0;Num3=NclassErrors{intNum1=10;intNum2=2;intNum3;Num3=Num2/Num1;Console.WriteLine(“TheResultis{0}”,Num3);}期望結(jié)果=5當(dāng)前結(jié)果=0邏輯錯誤classErrors{intNum1=10;Num3=許多異常類都直接或間接的派生自System.Exception類。

這些類有:System.ApplicationException

類System.SystemException

類異常類許多異常類都直接或間接的派生自System.ExceptioSystem.SystemException是所有預(yù)定義系統(tǒng)異常的基類。下表描述了一些派生自System.SystemException類的類:異常類(續(xù))異常類描述System.IO.IOException處理I/O錯誤System.IndexOutOfRangeException當(dāng)方法引用一個界外的數(shù)據(jù)元素時,處理產(chǎn)生的錯誤System.NullReferenceException處理在解除空對象引用的過程中產(chǎn)生的錯誤System.DivideByZeroException處理在除法中除數(shù)為0的過程中產(chǎn)生的錯誤System.InvalidCastException處理在類型匹配中產(chǎn)生的錯誤System.OutOfMemoryException處理程序內(nèi)存分配的錯誤System.SystemException是所有預(yù)定義系統(tǒng)處理異常在異常處理中,程序被分成代碼塊。一個顯示可能產(chǎn)生錯誤的塊包含一個或者多個異常處理程序。異常處理遵守一個控制結(jié)構(gòu)和一個處理系統(tǒng)級和程序級錯誤的統(tǒng)一方式。這些異常處理塊可以使用下面的關(guān)鍵字實現(xiàn):trycatchfinally

讓我們了解這些關(guān)鍵字的詳情。處理異常在異常處理中,程序被分成代碼塊。處理異常(續(xù))try塊:try塊監(jiān)視可能拋出異常的語句。以下是try塊的語法:try{//statementsthatmaycauseanexception}try塊管理包含在它內(nèi)部的語句,定義與它相關(guān)的異常處理程序的范圍。try塊必須至少有一個catch塊。處理異常(續(xù))try塊:處理異常(續(xù))catch塊:catch塊的語句使用一個異常類的對象作為參數(shù),它引用一個產(chǎn)生的異常。你可以通過提供一個或更多catch處理程序?qū)⒁粋€異常處理程序與try塊相聯(lián)系,緊挨著try塊之后:try{//statementsthatmaycauseanexception}catch(…){ //errorhandlingcode}處理異常(續(xù))catch塊:publicstaticvoidAdding_Numbers(intnumber1,intnumber2){try{intres=number1/number2;Console.WriteLine(res);}catch(DivideByZeroExceptione){Console.WriteLine("ExceptionCaught.{0}",e.Message);}Console.WriteLine("Afterhandingexception");}staticvoidMain(string[]args){Adding_Numbers(10,0);Console.Read();}publicstaticvoidAdding_Numb多重catch塊try{//程序代碼}catch(IOExceptionE){//錯誤處理代碼}catch(OutOfMemoryExceptionE){//錯誤處理代碼}用于捕捉兩種異常的“catch”塊多重catch塊try用于捕捉兩種異常的“catch”塊處理異常(續(xù))finally塊:finally塊被用于執(zhí)行一個給定的語句集,不論異常是否被拋出。try{//statementsthatmaycauseanexception}catch(…){ //errorhandlingcode}finally{

//statementstobeexecuted}演示10.9處理異常(續(xù))finally塊:演示10.9問題描述:David正在為一個項目工作,其中他正在計算一個整型數(shù)組中的總和。David需要處理當(dāng)他使用數(shù)組時發(fā)生的異常。如果David在執(zhí)行程序的時候遇到了任何異常情況,程序需要顯示一個異常消息。演示:處理數(shù)組越界異常問題描述:演示:處理數(shù)組越界異常實現(xiàn)用戶自定義異常在C#中,你可以創(chuàng)建你自己的異常類。這種類型的異常被稱為用戶自定義異常。在C#中Exception必須是所有異常的基類。用戶定義異常類必須遵守要么異常類的層次或一個標(biāo)準(zhǔn)的繼承類。

實現(xiàn)用戶自定義異常在C#中,你可以創(chuàng)建你自己的異常類。這種類實現(xiàn)用戶自定義異常(續(xù))用戶自定義異常類派生自ApplicationException類。為了實現(xiàn)用戶自定義異常,你需要:生成你自己的異常:你可以使用throw語句來產(chǎn)生你自己的異常。拋出對象:你可以拋出一個對象,如果對象是直接或間接派生自System.Exception。你可以使用在catch塊中的throw語句來拋出當(dāng)前對象,如下面的代碼所示: catch(Exceptioncaught){ ...throwcaught}實現(xiàn)用戶自定義異常(續(xù))用戶自定義異常類派生自ApplicaclassCountZero{staticvoidMain(){Calculatorcalc=newCalculator();try{calc.DoAverage();}catch(CountIsZeroExceptione){Console.WriteLine(e.Message);}Console.ReadLine();}}classCalculator{intsum=0;intcount=0;floataverage;

publicvoidDoAverage(){if(count==0)throw(newCountIsZeroException("ZerocountinDoAverage"));elseaverage=sum/count;}}classCountIsZeroException:ApplicationException{publicCountIsZeroException(stringmessage):

base(message){}}classCountZeroclassCalculato第2章c#語言基礎(chǔ)第2章c#語言基礎(chǔ)在本章中,您將學(xué)習(xí):使用變量操作符:算術(shù)算術(shù)賦值一元比較邏輯使用條件結(jié)構(gòu)使用循環(huán)結(jié)構(gòu)目標(biāo)在本章中,您將學(xué)習(xí):目標(biāo)應(yīng)用程序使用操作符來處理用戶輸入的數(shù)據(jù)。C#中的操作符可以分成:算術(shù)操作符算術(shù)賦值操作符一元操作符比較操作符邏輯操作符使用操作符應(yīng)用程序使用操作符來處理用戶輸入的數(shù)據(jù)。使用操作符運(yùn)算符和表達(dá)式Result=number*100變量變量常量操作數(shù)表達(dá)式操作數(shù)和運(yùn)算符的組合運(yùn)算符運(yùn)算符和表達(dá)式Result=number*100變量變量常量類別運(yùn)算符說明表達(dá)式算術(shù)運(yùn)算符+執(zhí)行加法運(yùn)算(如果兩個操作數(shù)是字符串,則該運(yùn)算符用作字符串連接運(yùn)算符,將一個字符串添加到另一個字符串的末尾)操作數(shù)1+操作數(shù)2-執(zhí)行減法運(yùn)算操作數(shù)1-操作數(shù)2*執(zhí)行乘法運(yùn)算操作數(shù)1*操作數(shù)2/執(zhí)行除法運(yùn)算操作數(shù)1/操作數(shù)2%獲得進(jìn)行除法運(yùn)算后的余數(shù)操作數(shù)1%操作數(shù)2~將一個數(shù)按位取反~操作數(shù)類別運(yùn)算符說明表達(dá)式算術(shù)運(yùn)算符+執(zhí)行加法運(yùn)算(如果兩個操作數(shù)表達(dá)式類型計算方法結(jié)果(假定num1的值為5)num2=++num1;前置自加num1=num1+1;num2=num1;num2=6;num1=6;num2=num1++;后置自加num2=num1;num1=num1+1;num2=5;num1=6;num2=--num1;前置自減num1=num1-1;num2=num1;num2=4;Num1=4;num2=num1--;后置自減num2=num1;num1=num1-1;num2=5;Num1=4;表達(dá)式類型計算方法結(jié)果(假定num1的值為5)num2計算結(jié)果:1、 inti=0; boolresult=false result=(++i)+i==2?true:false; result=true計算結(jié)果:true類別運(yùn)算符說明表達(dá)式三元運(yùn)算符(條件運(yùn)算符)?:檢查給出的第一個表達(dá)式expression是否為真。如果為真,則計算operand1,否則計算operand2。這是唯一帶有三個操作數(shù)的運(yùn)算符表達(dá)式?操作數(shù)1:操作數(shù)2類別運(yùn)算符說明表達(dá)式三元運(yùn)算符(條件運(yùn)算符)?:檢查給出的下面的運(yùn)算結(jié)果是什么?

1、27%5=

2、~11=2-12為什么?下面的運(yùn)算結(jié)果是什么?2-12為什么?類別運(yùn)算符說明表達(dá)式比較運(yùn)算符>檢查一個數(shù)是否大于另一個數(shù)操作數(shù)1>操作數(shù)2<檢查一個數(shù)是否小于另一個數(shù)操作數(shù)1<操作數(shù)2>=檢查一個數(shù)是否大于或等于另一個數(shù)操作數(shù)1>=操作數(shù)2<=檢查一個數(shù)是否小于或等于另一個數(shù)操作數(shù)1<=操作數(shù)2==檢查兩個值是否相等操作數(shù)1==操作數(shù)2!=檢查兩個值是否不相等操作數(shù)1!=操作數(shù)2類別運(yùn)算符說明表達(dá)式比較運(yùn)算符>檢查一個數(shù)是否大于另一個數(shù)類別運(yùn)算符說明表達(dá)式成員訪問運(yùn)算符.用于訪問數(shù)據(jù)結(jié)構(gòu)的成員數(shù)據(jù)結(jié)構(gòu).成員賦值運(yùn)算符=給變量賦值操作數(shù)1=操作數(shù)2邏輯運(yùn)算符&&對兩個表達(dá)式執(zhí)行邏輯“與”運(yùn)算操作數(shù)1&&操作數(shù)2||對兩個表達(dá)式執(zhí)行邏輯“或”運(yùn)算操作數(shù)1||操作數(shù)2!對兩個表達(dá)式執(zhí)行邏輯“非”運(yùn)算!操作數(shù)^異或表達(dá)式1^表達(dá)式2類別運(yùn)算符說明表達(dá)式成員訪問運(yùn)算符.用于訪問數(shù)據(jù)結(jié)構(gòu)的成員運(yùn)算符計算方法表達(dá)式求值結(jié)果(假定X=10)+=運(yùn)算結(jié)果=操作數(shù)1+操作數(shù)2X+=5X=X+515-=運(yùn)算結(jié)果=操作數(shù)1-操作數(shù)2X-=5X=X-55*=運(yùn)算結(jié)果=操作數(shù)1*操作數(shù)2X*=5X=X*550/=運(yùn)算結(jié)果=操作數(shù)1/操作數(shù)2X/=5X=X/52%=運(yùn)算結(jié)果=操作數(shù)1%操作數(shù)2X%=5X=X%50運(yùn)算符計算方法表達(dá)式求值結(jié)果(假定X=10)+=運(yùn)算結(jié)C#運(yùn)算符的優(yōu)先級優(yōu)先級說明運(yùn)算符結(jié)合性1括號()從左到右2自加/自減運(yùn)算符++/--從右到左3乘法運(yùn)算符、除法運(yùn)算符、取模運(yùn)算符*、/、%從左到右4加減法運(yùn)算符+-從左到右5小于、小于等于大于、大于等于<、<=>、>=從左到右6等于不等于=!=從左到右從左到右7邏輯與&&從左到右8邏輯或||從左到右9賦值運(yùn)算符和快捷運(yùn)算符=、+=、*=/=、%=、-=從右到左C#運(yùn)算符的優(yōu)先級優(yōu)先級說明運(yùn)算符結(jié)合性1括號()從左到使用條件結(jié)構(gòu)條件結(jié)構(gòu)能夠根據(jù)與其關(guān)聯(lián)的表達(dá)式值選擇執(zhí)行的語句。評估條件需要比較操作符。各種條件結(jié)構(gòu)是:if…else結(jié)構(gòu)switch…case結(jié)構(gòu)使用條件結(jié)構(gòu)條件結(jié)構(gòu)能夠根據(jù)與其關(guān)聯(lián)的表達(dá)式值選擇執(zhí)行的語句if...else

條件結(jié)構(gòu)后跟一個邏輯表達(dá)式,在該表達(dá)式中比較數(shù)據(jù)并且根據(jù)比較結(jié)果作出決定。以下是if...else

結(jié)構(gòu)的語法:if(expression){statements;}else{statements;}if…else結(jié)構(gòu)if...else條件結(jié)構(gòu)后跟一個邏輯表達(dá)式,在該表達(dá)式中if...else結(jié)構(gòu)可以彼此嵌入。當(dāng)它們嵌在一起時,結(jié)構(gòu)就是級聯(lián)的if...else結(jié)構(gòu)if…else結(jié)構(gòu)(續(xù))if...else結(jié)構(gòu)可以彼此嵌入。if…else結(jié)構(gòu)(

staticvoidMain(string[]args){Console.WriteLine("請選擇要顯示的內(nèi)容");Console.WriteLine("1.開發(fā)環(huán)境");Console.WriteLine("2.編程語言");Console.WriteLine("3.項目類型");Console.WriteLine("4.退出");stringi=Console.ReadLine();if(i=="1")Console.WriteLine("microsoftvisualbasic");elseif(i=="2")Console.WriteLine("csharp");elseif(i=="3")Console.WriteLine("控制臺應(yīng)用程序");}staticvoidMain(string[]arg當(dāng)一個變量有多個值時要用到switch…case結(jié)構(gòu)。以下代碼是switch...case結(jié)構(gòu)的語法:switch(VariableName){caseConstantExpression_1:statements;break;caseConstantExpression_2:statements;break;caseConstantExpression_n:statements;break;default:statements;break;}switch…case結(jié)構(gòu)當(dāng)一個變量有多個值時要用到switch…case結(jié)構(gòu)。sw問題描述:編寫一個模擬計算器的程序。計算器應(yīng)該能夠執(zhí)行以下算術(shù)操作:加法減法乘法除法

演示:使用條件結(jié)構(gòu)的計算器問題描述:演示:使用條件結(jié)構(gòu)的計算器使用循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于重復(fù)執(zhí)行一行或多行代碼。C#支持以下的循環(huán)結(jié)構(gòu):while循環(huán)do…while循環(huán)for循環(huán)使用循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于重復(fù)執(zhí)行一行或多行代碼。while循環(huán)while循環(huán)結(jié)構(gòu)根據(jù)條件來執(zhí)行一定次數(shù)的語句塊。以下代碼是while循環(huán)結(jié)構(gòu)的語法:while(expression){statements;}while循環(huán)while循環(huán)結(jié)構(gòu)根據(jù)條件來執(zhí)行一定次數(shù)的do…while循環(huán)do...while循環(huán)結(jié)構(gòu)類似于while循環(huán)結(jié)構(gòu)。兩個結(jié)構(gòu)都要重復(fù)執(zhí)行語句直至指定的循環(huán)條件為false。以下代碼是do...while循環(huán)結(jié)構(gòu)的語法:do{statements;}while(expression);do…while循環(huán)do...while循環(huán)結(jié)構(gòu)類似于do…while循環(huán)(續(xù))下圖顯示了do...while和while循環(huán)結(jié)構(gòu)的區(qū)別。FalsedowhileFalseTrue執(zhí)行循環(huán)的主體評估條件True執(zhí)行循環(huán)的主體評估條件whiledo…while循環(huán)(續(xù))下圖顯示了do...whilefor循環(huán)for循環(huán)結(jié)構(gòu)用于執(zhí)行特定次數(shù)的語句塊。以下代碼是for循環(huán)結(jié)構(gòu)的語法:

for(initialization;termination;increment/decrement) { statements }for循環(huán)for循環(huán)結(jié)構(gòu)用于執(zhí)行特定次數(shù)的語句塊。for循環(huán)(續(xù))下圖顯示了完整的for循環(huán)結(jié)構(gòu)的執(zhí)行順序。TrueFalse初始化評估條件循環(huán)主體退出循環(huán)增量/減量for循環(huán)(續(xù))下圖顯示了完整的for循環(huán)結(jié)構(gòu)的執(zhí)行順演示:使用循環(huán)結(jié)構(gòu)的Fibonacci級數(shù)問題描述:編寫能夠生成Fibonacci級數(shù)最高至200的程序。演示:使用循環(huán)結(jié)構(gòu)的Fibonacci級數(shù)問題描述:break和continue語句使用break語句退出for循環(huán)并停止剩余循環(huán)的執(zhí)行。使用Continue語句可以跳出所有后續(xù)的指令并將控制權(quán)交回給循環(huán)。演示3.24break和continue語句使用break語在本章中,您學(xué)習(xí)了:操作符用于計算和比較值并測試多個條件。使用算術(shù)操作符對變量執(zhí)行算術(shù)操作,例如加、減、乘、除。使用算術(shù)賦值操作符執(zhí)行算術(shù)操作并將結(jié)果賦值給變量。一元操作符(如增量和減量操作符)對一個操作數(shù)進(jìn)行操作。比較操作符用于比較兩個值并根據(jù)比較的結(jié)果執(zhí)行操作。邏輯操作符用于評估表達(dá)式并返回布爾值。小結(jié)在本章中,您學(xué)習(xí)了:小結(jié)條件結(jié)構(gòu)允許選擇執(zhí)行語句。C#中的條件結(jié)構(gòu)是:if…elseswitch…case當(dāng)您要對程序的某個部分重復(fù)執(zhí)行一定的次數(shù)時,可以使用循環(huán)結(jié)構(gòu)。C#提供以下的循環(huán)結(jié)構(gòu):whiledo…whileforbreak和continue語句用于控制循環(huán)中的程序流。小結(jié)(續(xù))條件結(jié)構(gòu)允許選擇執(zhí)行語句。C#中的條件結(jié)構(gòu)是:小結(jié)(續(xù))異常異常異常是在程序執(zhí)行期間發(fā)生的錯誤情況。當(dāng)一個異常在程序中發(fā)生的時候,系統(tǒng)拋出一個錯誤。

錯誤通過異常處理過程被處理。描述異常異常是在程序執(zhí)行期間發(fā)生的錯誤情況。描述異常在程序中發(fā)生的錯誤的類型有三種。它們是:語法錯誤:語法錯誤發(fā)生在語句沒有適當(dāng)構(gòu)造、關(guān)鍵字被拼錯或標(biāo)點被忽略的時候。

運(yùn)行時錯誤:運(yùn)行時錯誤發(fā)生在程序試圖完成一個操作,但它在運(yùn)行時不被允許。邏輯錯誤:邏輯錯誤發(fā)生在程序編譯和運(yùn)行正常但沒有產(chǎn)生預(yù)期的結(jié)果的時候。

讓我們了解錯誤類型的詳細(xì)信息。錯誤的類型在程序中發(fā)生的錯誤的類型有三種。它們是:錯誤的類型classErrors{Console.WriteLine(“EnjoyErrors”)}Console.WriteLine語句缺少分號語法錯誤classErrors{Console.WriteLineclassErrors{intNum1=0;intNum2=20;intNum3;Num3=Num2/Num1;Console.WriteLine(“TheResultis{0}”,Num3);}發(fā)生了除以零的情況運(yùn)行時錯誤classErrors{intNum1=0;Num3=NclassErrors{intNum1=10;intNum2=2;intNum3;Num3=Num2/Num1;Console.WriteLine(“TheResultis{0}”,Num3);}期望結(jié)果=5當(dāng)前結(jié)果=0邏輯錯誤classErrors{intNum1=10;Num3=許多異常類都直接或間接的派生自System.Exception類。

這些類有:System.ApplicationException

類System.SystemException

類異常類許多異常類都直接或間接的派生自System.ExceptioSystem.SystemException是所有預(yù)定義系統(tǒng)異常的基類。下表描述了一些派生自System.SystemException類的類:異常類(續(xù))異常類描述System.IO.IOException處理I/O錯誤System.IndexOutOfRangeException當(dāng)方法引用一個界外的數(shù)據(jù)元素時,處理產(chǎn)生的錯誤System.NullReferenceException處理在解除空對象引用的過程中產(chǎn)生的錯誤System.DivideByZeroException處理在除法中除數(shù)為0的過程中產(chǎn)生的錯誤System.InvalidCastException處理在類型匹配中產(chǎn)生的錯誤System.OutOfMemoryException處理程序內(nèi)存分配的錯誤System.SystemException是所有預(yù)定義系統(tǒng)處理異常在異常處理中,程序被分成代碼塊。一個顯示可能產(chǎn)生錯誤的塊包含一個或者多個異常處理程序。異常處理遵守一個控制結(jié)構(gòu)和一個處理系統(tǒng)級和程序級錯誤的統(tǒng)一方式。這些異常處理塊可以使用下面的關(guān)鍵字實現(xiàn):trycatchfinally

讓我們了解這些關(guān)鍵字的詳情。處理異常在異常處理中,程序被分成代碼塊。處理異常(續(xù))try塊:try塊監(jiān)視可能拋出異常的語句。以下是try塊的語法:try{//statementsthatmaycauseanexception}try塊管理包含在它內(nèi)部的語句,定義與它相關(guān)的異常處理程序的范圍。try塊必須至少有一個catch塊。處理異常(續(xù))try塊:處理異常(續(xù))catch塊:catch塊的語句使用一個異常類的對象作為參數(shù),它引用一個產(chǎn)生的異常。你可以通過提供一個或更多catch處理程序?qū)⒁粋€異常處理程序與try塊相聯(lián)系,緊挨著try塊之后:try{//statementsthatmaycauseanexception}catch(…){ //errorhandlingcode}處理異常(續(xù))catch塊:publicstaticvoidAdding_Numbers(intnumber1,intnumber2){try{intres=number1/number2;Console.WriteLine(res);}catch(DivideByZeroExceptione){Console.WriteLine("ExceptionCaught.{0}",e.Message);}Console.WriteLine("Afterhandingexception");}staticvoidMain(string[]args){

溫馨提示

  • 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

提交評論