第2章數(shù)據(jù)類型與流程控制_第1頁
第2章數(shù)據(jù)類型與流程控制_第2頁
第2章數(shù)據(jù)類型與流程控制_第3頁
第2章數(shù)據(jù)類型與流程控制_第4頁
第2章數(shù)據(jù)類型與流程控制_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、內(nèi)容提要2.1 數(shù)據(jù)類型數(shù)據(jù)類型2.2 不同數(shù)據(jù)類型之間的轉換不同數(shù)據(jù)類型之間的轉換2.3 常量與變量常量與變量2.4 運算符與表達式運算符與表達式2.5 控制臺應用程序與格式化輸出控制臺應用程序與格式化輸出2.6 c#流程控制語句流程控制語句2 2預期目標掌握掌握c#的基本語法的基本語法3 32.1 數(shù)據(jù)類型c#數(shù)據(jù)類型分為兩類:值類型和引用類型。數(shù)據(jù)類型分為兩類:值類型和引用類型。值類型:包括簡單類型、枚舉類型、結構類型、可空值類型:包括簡單類型、枚舉類型、結構類型、可空類型。類型。引用類型:包括類、接口、數(shù)組、委托。引用類型:包括類、接口、數(shù)組、委托。一般把引用類型的變量稱為對象。一般把

2、引用類型的變量稱為對象。4 4值類型與引用類型區(qū)別堆棧堆56ij實際數(shù)據(jù)12345hobjobj5 5值類型和引用類型的區(qū)別 特性值類型引用類型變量中保存的內(nèi)容實際數(shù)據(jù)指向?qū)嶋H數(shù)據(jù)的引用指針內(nèi)存空間配置堆棧(stack)受管制的堆(managed heap)內(nèi)存需求較少較多執(zhí)行效率較快較慢內(nèi)存釋放時間點執(zhí)行超過定義變量的作用域時由垃圾回收機制負責回收可以為null不可以可以6 62.1.2 整型 c#提供了八種整型(即計算機組成原理中的提供了八種整型(即計算機組成原理中的“定定點數(shù)點數(shù)”):):sbyte:1字節(jié)有符號字節(jié)有符號byte: 1字節(jié)無符號字節(jié)無符號short: 2字節(jié)有符號字節(jié)有

3、符號ushort:2字節(jié)無符號字節(jié)無符號int: 4字節(jié)有符號,最常用字節(jié)有符號,最常用uint: 4字節(jié)無符號字節(jié)無符號long: 8字節(jié)有符號字節(jié)有符號ulong:8 字節(jié)無符號字節(jié)無符號7 72.1.3 浮點類型 float:4字節(jié)浮點數(shù),常用。例如:字節(jié)浮點數(shù),常用。例如:35.0fdouble:8字節(jié)浮點數(shù),常用。例如:字節(jié)浮點數(shù),常用。例如:2.7e+23decimal:16字節(jié)浮點數(shù),特殊的浮點數(shù),精度字節(jié)浮點數(shù),特殊的浮點數(shù),精度高,適用于金融、貨幣等需要高精度數(shù)值的領域。高,適用于金融、貨幣等需要高精度數(shù)值的領域。其類型指定符為其類型指定符為m(或(或m)。)。例如:例如:

4、decimal y = 9999999999999999999999999m;float和和double的浮點數(shù)格式與計算機組成原理介的浮點數(shù)格式與計算機組成原理介紹的紹的ieee754規(guī)定的格式相同規(guī)定的格式相同8 82.1.4 布爾型 用用bool表示,表示,bool類型只有兩個值類型只有兩個值true和和false。例如:例如:bool isexist = false;bool b = (i0 & i 100 | i 0) console.writeline(成績不在0-100范圍內(nèi)); else switch (i / 10) /整除 case 10: console.write(滿分

5、,); goto case 9; case 9: console.writeline(優(yōu)秀); break; case 8: case 7: console.writeline(良好); break; case 6: console.writeline(及格); break; default: console.writeline(不及格); break; console.readline(); 35352.6.2 循環(huán)語句 包括:包括:for語句語句while語句語句do-while語句語句foreach語句,用于對集合、數(shù)組進行操作。語句,用于對集合、數(shù)組進行操作。 36362.6.2 循環(huán)

6、語句(續(xù))for語句語句一般形式:一般形式:for (初始值;循環(huán)條件;循環(huán)控制) 語句序列3737例.使用for語句控制循環(huán)體 public static void main() console.clear(); console.backgroundcolor = consolecolor.blue; console.foregroundcolor = consolecolor.red; console.beep(); for (int i = 1; i 10; i += 2) console.setcursorposition(40 - i / 2, i); for (int j = 0;

7、 j i; j+) console.write(*); console.writeline(); console.readline(); 38382.6.2 循環(huán)語句(續(xù))while語句語句一般形式:一般形式:循環(huán)體內(nèi)的程序可能會執(zhí)行多次,也可能一次也循環(huán)體內(nèi)的程序可能會執(zhí)行多次,也可能一次也不執(zhí)行。不執(zhí)行。while (條件)語句序列39392.6.2 循環(huán)語句(續(xù))do-while一般形式:一般形式:循環(huán)體內(nèi)的程序至少會執(zhí)行一次,然后再判斷條循環(huán)體內(nèi)的程序至少會執(zhí)行一次,然后再判斷條件是否為件是否為true,如果條件為,如果條件為true,則繼續(xù)循環(huán)。,則繼續(xù)循環(huán)。 do 語句序列whil

8、e (條件); 40402.6.2 循環(huán)語句(續(xù)) foreach語句語句foreach語句用于逐個提取集合中的元素,并對集合中語句用于逐個提取集合中的元素,并對集合中每個元素執(zhí)行語句序列中操作的場合。一般形式為:每個元素執(zhí)行語句序列中操作的場合。一般形式為:注意:循環(huán)變量是一個只讀型的局部變量。注意:循環(huán)變量是一個只讀型的局部變量。foreach ( 類型 標識符 in 表達式 ) 語句序列41412.6.2 循環(huán)語句(續(xù))判斷下列語句是否正確判斷下列語句是否正確,并說明原因并說明原因 int myint=1,2,3; foreach(int test in myint) test+; co

9、nsole.writeline(test); 42422.6.3 跳轉語句1.break語句語句功能:退出最近的封閉功能:退出最近的封閉switch、while、do-while、for或或foreach語句。語句。格式:格式:break;4343示例【例例】循環(huán)接收和輸出鍵盤輸入的每一行的值,循環(huán)接收和輸出鍵盤輸入的每一行的值,當接收的內(nèi)容為空字符串時退出。當接收的內(nèi)容為空字符串時退出。 using system;namespace breakexample public class program public static void main() for (; ; ) console.w

10、rite(請輸入一個字符串(直接回車退出):); string s = console.readline(); if (s = ) break; console.writeline(你輸入的是: 0., s); console.readline(); 44442.6.3 跳轉語句 (續(xù))2.continue語句語句功能:將控制傳遞給下一個功能:將控制傳遞給下一個while、do-while、for或或foreach,繼續(xù)執(zhí)行下一次循環(huán)。繼續(xù)執(zhí)行下一次循環(huán)。格式:格式:continue ;3.goto語句語句僅在下面兩種情況下才可能會使用僅在下面兩種情況下才可能會使用goto語句:語句:(1)用

11、于)用于switch語句中從一個語句中從一個case標簽轉到另一個標簽轉到另一個case標簽處。標簽處。(2)用于直接退出到多重嵌套循環(huán)的外部。)用于直接退出到多重嵌套循環(huán)的外部。45452.6.3 跳轉語句 (續(xù))4.return語句語句功能:將控制返回到出現(xiàn)功能:將控制返回到出現(xiàn)return語句的函數(shù)成員的調(diào)語句的函數(shù)成員的調(diào)用方。用方。格式:格式:return 表達式表達式;其中表達式為可選項,如果該函數(shù)成員的返回類其中表達式為可選項,如果該函數(shù)成員的返回類型不為型不為null,則,則return語句必須使用表達式返回語句必須使用表達式返回這個類型的值,否則這個類型的值,否則return

12、語句不能使用表達式。語句不能使用表達式。46462.6.4 異常處理 1.try-catch語句語句在程序運行正常的時候,執(zhí)行在程序運行正常的時候,執(zhí)行try塊內(nèi)的程序。如塊內(nèi)的程序。如果果try塊中出現(xiàn)了異常,程序就轉移到塊中出現(xiàn)了異常,程序就轉移到catch塊中塊中執(zhí)行。執(zhí)行。 try 語句序列catch(異常類型 標識符) 異常處理47472.6.4 異常處理 (續(xù)) 2.try-catch-finally語句語句try 語句序列catch(異常類型 標識符) 異常處理finally 語句序列48482.6.4 異常處理 (續(xù))3.throw語句語句格式:格式:throw 表達式表達式;

13、拋出表達式的值。拋出表達式的值。注意表達式類型必須是注意表達式類型必須是system.exception或從或從system.exception派生的類的類型。派生的類的類型。throw也可以不帶表達式,不帶表達式的也可以不帶表達式,不帶表達式的throw語語句只能用在句只能用在catch塊中,在這種情況下,它重新塊中,在這種情況下,它重新拋出當前正在由拋出當前正在由catch塊處理的異常。塊處理的異常。 4949例.異常處理 using system;namespace trycatchexample class program static void f() try g(); catch (exception err) console.writeline(方法f中捕獲到: + err.message); /

溫馨提示

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

評論

0/150

提交評論