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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第2章 c#語言基礎在本章中,您將學習:使用變量操作符:算術 算術賦值一元 比較 邏輯使用條件結構使用循環(huán)結構 目標應用程序使用操作符來處理用戶輸入的數(shù)據(jù)。C#中的操作符可以分成:算術操作符算術賦值操作符一元操作符比較操作符邏輯操作符使用操作符運算符和表達式Result=number*100變量變量常量操作數(shù)表達式操作數(shù)和運算符的組合運算符類別運算符說明表達式算術運算符+執(zhí)行加法運算(如果兩個操作數(shù)是字符串,則該運算符用作字符串連接運算符,將一個字符串添加到另一個字符串的末尾) 操作數(shù)1 + 操作數(shù)2-執(zhí)行減法運算 操作數(shù)1 - 操作數(shù)2*執(zhí)行乘法運算操作數(shù)1 * 操作數(shù)2/執(zhí)行除法運算操作數(shù)

2、1 / 操作數(shù)2%獲得進行除法運算后的余數(shù) 操作數(shù)1 % 操作數(shù)2將一個數(shù)按位取反 操作數(shù)表達式類型計算方法結果(假定 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

3、 - 1;num2 = 5;Num1 = 4;計算結果:1、int i = 0;bool result = falseresult = (+i) + i = 2?true:false; result = true類別運算符說明表達式三元運算符(條件運算符) ?:檢查給出的第一個表達式 expression 是否為真。如果為真,則計算 operand1,否則計算 operand2。這是唯一帶有三個操作數(shù)的運算符 表達式? 操作數(shù)1:操作數(shù)2 下面的運算結果是什么?1、27 % 5 = 2、11 = 2-12為什么?類別運算符說明表達式比較運算符檢查一個數(shù)是否大于另一個數(shù) 操作數(shù)1 操作數(shù)2檢查一

4、個數(shù)是否小于另一個數(shù) 操作數(shù)1 =檢查一個數(shù)是否大于或等于另一個數(shù) 操作數(shù)1 = 操作數(shù)2= 檢查一個數(shù)是否小于或等于另一個數(shù) 操作數(shù)1 = 操作數(shù)2= 檢查兩個值是否相等 操作數(shù)1 = 操作數(shù)2!= 檢查兩個值是否不相等操作數(shù)1 != 操作數(shù)2類別運算符說明表達式成員訪問運算符.用于訪問數(shù)據(jù)結構的成員 數(shù)據(jù)結構.成員賦值運算符=給變量賦值 操作數(shù)1 = 操作數(shù)2邏輯運算符 & 對兩個表達式執(zhí)行邏輯“與”運算 操作數(shù)1 & 操作數(shù)2|對兩個表達式執(zhí)行邏輯“或”運算 操作數(shù)1 | 操作數(shù)2!對兩個表達式執(zhí)行邏輯“非”運算! 操作數(shù)異或表達式1 表達式2運算符計算方法表達式求值結果(假定 X =

5、10)+=運算結果 = 操作數(shù)1 + 操作數(shù)2X += 5X = X + 515-=運算結果 = 操作數(shù)1 - 操作數(shù)2X -= 5X = X - 55*=運算結果 = 操作數(shù)1 * 操作數(shù)2X *= 5X = X * 550/=運算結果 = 操作數(shù)1 / 操作數(shù)2X /= 5X = X / 52%=運算結果 = 操作數(shù)1 % 操作數(shù)2X %= 5X = X % 50C# 運算符的優(yōu)先級優(yōu)先級說明運算符結合性1括號( )從左到右2自加/自減運算符+/-從右到左3乘法運算符、除法運算符、取模運算符*、/、%從左到右4加減法運算符+ -從左到右5小于、小于等于大于、大于等于、=從左到右6等于不等于

6、=!=從左到右從左到右7邏輯與&從左到右8邏輯或|從左到右9賦值運算符和快捷運算符= 、+=、 *= /= 、%=、 -=從右到左使用條件結構條件結構能夠根據(jù)與其關聯(lián)的表達式值選擇執(zhí)行的語句。評估條件需要比較操作符。各種條件結構是:ifelse 結構switchcase 結構if.else 條件結構后跟一個邏輯表達式,在該表達式中比較數(shù)據(jù)并且根據(jù)比較結果作出決定。以下是if.else 結構的語法:if (expression)statements;elsestatements;ifelse 結構 if.else 結構可以彼此嵌入。當它們嵌在一起時,結構就是級聯(lián)的if.else 結構ifelse

7、 結構(續(xù)) static void Main(string args) Console.WriteLine(請選擇要顯示的內容); Console.WriteLine(1.開發(fā)環(huán)境); Console.WriteLine(2.編程語言); Console.WriteLine(3.項目類型); Console.WriteLine(4.退出); string i = Console.ReadLine(); if (i = 1) Console.WriteLine(microsoft visual basic); else if (i = 2) Console.WriteLine(c sharp)

8、; else if (i = 3) Console.WriteLine(控制臺應用程序); 當一個變量有多個值時要用到switchcase 結構。以下代碼是switch.case 結構的語法:switch (VariableName)case ConstantExpression_1:statements;break;case ConstantExpression_2:statements;break;case ConstantExpression_n:statements;break;default:statements;break;switchcase 結構問題描述:編寫一個模擬計算器的程

9、序。計算器應該能夠執(zhí)行以下算術操作:加法減法乘法除法 演示:使用條件結構的計算器 使用循環(huán)結構 循環(huán)結構用于重復執(zhí)行一行或多行代碼。C# 支持以下的循環(huán)結構:while 循環(huán)dowhile 循環(huán)for 循環(huán)while 循環(huán)while 循環(huán)結構根據(jù)條件來執(zhí)行一定次數(shù)的語句塊。以下代碼是while 循環(huán)結構的語法:while (expression)statements;dowhile 循環(huán)do.while 循環(huán)結構類似于 while 循環(huán)結構。兩個結構都要重復執(zhí)行語句直至指定的循環(huán)條件為false。以下代碼是 do.while 循環(huán)結構的語法:dostatements; while(expres

10、sion);dowhile 循環(huán)(續(xù))下圖顯示了 do.while 和 while 循環(huán)結構的區(qū)別。Falsedo whileFalseTrue執(zhí)行循環(huán)的主體評估條件True執(zhí)行循環(huán)的主體評估條件whilefor 循環(huán)for 循環(huán)結構用于執(zhí)行特定次數(shù)的語句塊。以下代碼是for 循環(huán)結構的語法: for (initialization; termination; increment/decrement) statementsfor 循環(huán)(續(xù))下圖顯示了完整的 for 循環(huán)結構的執(zhí)行順序。TrueFalse初始化評估條件循環(huán)主體退出循環(huán)增量/減量 演示:使用循環(huán)結構的Fibonacci 級數(shù)問題描

11、述:編寫能夠生成Fibonacci級數(shù)最高至200的程序。break 和 continue 語句 使用 break 語句退出for循環(huán)并停止剩余循環(huán)的執(zhí)行。使用Continue語句可以跳出所有后續(xù)的指令并將控制權交回給循環(huán)。演示3.24在本章中,您學習了:操作符用于計算和比較值并測試多個條件。使用算術操作符對變量執(zhí)行算術操作,例如加、減、乘、除。使用算術賦值操作符執(zhí)行算術操作并將結果賦值給變量。一元操作符(如增量和減量操作符)對一個操作數(shù)進行操作。比較操作符用于比較兩個值并根據(jù)比較的結果執(zhí)行操作。 邏輯操作符用于評估表達式并返回布爾值。小結條件結構允許選擇執(zhí)行語句。C# 中的條件結構是:ife

12、lseswitchcase當您要對程序的某個部分重復執(zhí)行一定的次數(shù)時,可以使用循環(huán)結構。C# 提供以下的循環(huán)結構:whiledowhileforbreak 和 continue 語句用于控制循環(huán)中的程序流。 小結(續(xù))異常異常是在程序執(zhí)行期間發(fā)生的錯誤情況。當一個異常在程序中發(fā)生的時候,系統(tǒng)拋出一個錯誤。 錯誤通過異常處理過程被處理。描述異常在程序中發(fā)生的錯誤的類型有三種。它們是:語法錯誤:語法錯誤發(fā)生在語句沒有適當構造、關鍵字被拼錯或標點被忽略的時候。 運行時錯誤:運行時錯誤發(fā)生在程序試圖完成一個操作,但它在運行時不被允許。邏輯錯誤:邏輯錯誤發(fā)生在程序編譯和運行正常但沒有產(chǎn)生預期的結果的時候

13、。讓我們了解錯誤類型的詳細信息。錯誤的類型class ErrorsConsole.WriteLine(“Enjoy Errors”)Console.WriteLine 語句缺少分號語法錯誤class Errorsint Num1=0;int Num2=20;int Num3;Num3=Num2/Num1;Console.WriteLine(“The Result is 0”, Num3);發(fā)生了除以零的情況運行時錯誤class Errorsint Num1=10;int Num2=2;int Num3;Num3=Num2/Num1;Console.WriteLine(“The Result i

14、s 0”, Num3);期望結果 = 5當前結果 = 0邏輯錯誤許多異常類都直接或間接的派生自System.Exception類。 這些類有:System.ApplicationException 類System.SystemException 類異常類System.SystemException是所有預定義系統(tǒng)異常的基類。下表描述了一些派生自System.System Exception類的類:異常類(續(xù))異常類描述System.IO.IOException處理I/O錯誤System.IndexOutOfRangeException當方法引用一個界外的數(shù)據(jù)元素時,處理產(chǎn)生的錯誤System.

15、NullReferenceException處理在解除空對象引用的過程中產(chǎn)生的錯誤System.DivideByZeroException 處理在除法中除數(shù)為0的過程中產(chǎn)生的錯誤System.InvalidCastException 處理在類型匹配中產(chǎn)生的錯誤System.OutOfMemoryException 處理程序內存分配的錯誤處理異常在異常處理中,程序被分成代碼塊。一個顯示可能產(chǎn)生錯誤的塊包含一個或者多個異常處理程序。異常處理遵守一個控制結構和一個處理系統(tǒng)級和程序級錯誤的統(tǒng)一方式。這些異常處理塊可以使用下面的關鍵字實現(xiàn):trycatchfinally讓我們了解這些關鍵字的詳情。處理異

16、常(續(xù))try 塊:try塊監(jiān)視可能拋出異常的語句。以下是 try 塊的語法:try/statements that may cause an exceptiontry塊管理包含在它內部的語句,定義與它相關的異常處理程序的范圍。try塊必須至少有一個catch塊。處理異常(續(xù))catch 塊:catch塊的語句使用一個異常類的對象作為參數(shù),它引用一個產(chǎn)生的異常。你可以通過提供一個或更多catch處理程序將一個異常處理程序與try塊相聯(lián)系,緊挨著try塊之后:try /statements that may cause an exceptioncatch ()/error handling co

17、depublic static void Adding_Numbers(int number1, int number2) try int res = number1 / number2; Console.WriteLine(res); catch (DivideByZeroException e) Console.WriteLine(Exception Caught.0,e.Message); Console.WriteLine(After handing exception); static void Main(string args) Adding_Numbers(10,0); Cons

18、ole.Read(); 多重 catch 塊try/程序代碼catch (IOException E)/錯誤處理代碼catch (OutOfMemoryException E)/錯誤處理代碼用于捕捉兩種異常的“catch”塊處理異常(續(xù))finally 塊:finally塊被用于執(zhí)行一個給定的語句集,不論異常是否被拋出。try /statements that may cause an exceptioncatch ()/error handling codefinally/statements to be executed演示10.9問題描述:David正在為一個項目工作,其中他正在計算一個整型數(shù)組中的總和。David需要處理當他使用數(shù)組時發(fā)生的異常。如果David在執(zhí)行程序的時候遇到了任何異常情況,程序需要顯示一個異常消息。演示:處理數(shù)組越界異常實現(xiàn)用戶自定義異常在C#中,你可以創(chuàng)建你自己的異常類。這種類型的異常被稱為用戶自定義異常。在C#中Exception必須是所有異常的基類。用戶定義異常類必須遵守要么異常類的層次或一個標準的繼承類。 實現(xiàn)用戶自定義異常(續(xù))用戶自定義異常類派生自ApplicationException類。為了實現(xiàn)用戶自定義異常,

溫馨提示

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

評論

0/150

提交評論