C#程序設計課件整套電子教案_第1頁
C#程序設計課件整套電子教案_第2頁
C#程序設計課件整套電子教案_第3頁
C#程序設計課件整套電子教案_第4頁
C#程序設計課件整套電子教案_第5頁
已閱讀5頁,還剩424頁未讀 繼續免費閱讀

VIP免費下載

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

文檔簡介

1、C#程序設計第1章認識Visual C#本章任務了解Microsoft Visual Studio2008;能編寫簡單控制臺應用程序;能編寫簡單Windows應用程序 ;任務 1.1 Microsoft Visual tudio2008的安裝安裝Microsoft Visual Studio2008軟件。任務 1.1 Microsoft Visual tudio2008的安裝(1)將Microsoft Visual Studio2008軟件安裝光盤放入光驅,系統將自動啟動安裝程序(2)單擊“安裝Visual Studio2008” 任務 1.1 Microsoft Visual tudio20

2、08的安裝(3)加載組件完成后,單擊對話框中的“下一步”按鈕 任務 1.1 Microsoft Visual tudio2008的安裝(4)選擇“我已閱讀并接受許可條款”單選按鈕,并在“名稱”文本框中輸入用戶姓名,然后單擊“下一步”按鈕 任務 1.1 Microsoft Visual tudio2008的安裝(5)選擇需要安裝的功能單選按鈕,并且確定安裝目標文件夾 任務 1.1 Microsoft Visual tudio2008的安裝(6)單擊“安裝”按鈕,進入了安裝程序的安裝頁 任務 1.1 Microsoft Visual tudio2008的安裝(7)安裝完成后,打開對話框,單擊“完成

3、”按鈕,彈出“安裝程序”對話框 任務 1.1 Microsoft Visual tudio2008的安裝第一次啟動Visual Studio2008,選擇“Visual C#開發設置”后單擊“啟動Visual Studio” 1.1.1 Microsoft Visual Studio2008集成開發環境 1什么是.NET2Microsoft Visual Studio2008的安裝環境3Microsoft Visual Studio2008集成開發環境介紹4使用Microsoft Visual Studio2008集成開發環境開發WinForm應用程序1什么是.NET(1).NET平臺(2)V

4、isualC#.NET的特點語法更簡單;保留了C+的強大功能;快速應用開發功能;語言的自由性;強大的Web服務器控件;支持跨平臺;與XML相融合。 2Microsoft Visual Studio2008的安裝環境(1)支持的操作系統Microsoft Windows XPMicrosoft Windows Server 2003Windows Vista(2)硬件要求最低要求:1.6 G Hz CPU、384 MB RAM、1024x768 顯示器、5400 RPM(轉/分鐘)硬盤。建議配置:2.2 GHz 或更快的 CPU、1024 MB 或更大容量的 RAM、1280 x1024 顯示器

5、、7200 RPM或更高轉速的硬盤Windows Vista 上要求:2.4 GHz CPU、768 MB RAM硬盤的空間至少4G 。 3Microsoft Visual Studio2008集成開發環境介紹(1)啟動C#在“起始頁”對話框選中“創建:項目” 在彈出的“新建項目”對話框的“項目類型”框中選擇“Visual C#”下Windows項在“模板”框中選擇“Windows窗體應用程序” 在“名稱”中輸入要新建的項目文件名稱在“位置”處通過“瀏覽”按鈕設置文件存放位置單擊“確定” 3Microsoft Visual Studio2008集成開發環境介紹(2)VisualStudio.N

6、ET開發環境菜單欄 工具欄 “工具箱”面板“屬性”面板 解決方案資源管理器 4使用Microsoft Visual Studio2008集成開發環境開發WinForm應用程序學生信息管理系統 任務1.2 編寫簡單的控制臺輸出程序利用控制臺輸出“C_SHARP歡迎你!”任務解決方案 (1)選擇“開始”“程序”“Microsoft Visual Studio 2008”“Microsoft Visual Studio 2008”命令 (2)啟動Visual Studio2008開發環境之后,在菜單欄中選擇“文件”“新建”“項目”命令 (3)選擇“控制臺應用程序”,在名稱框中輸入“Welcome”,

7、然后單擊“確定”按鈕,完成控制臺應用程序的創建 (4)輸入代碼(5)單擊“調試”|“啟動調試”,或按F5鍵運行輸入代碼using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Welcome class Program static void Main(string args) Console.WriteLine(C_SHARP歡迎你!); Console.ReadKey(); 輸出C_SHARP歡迎你!語句等待用戶用鍵盤輸入任何語句,退出程序 C#工程項目的創建、編譯

8、和執行1C#工程項目的創建2編寫代碼3項目編譯和運行程序(1)編譯程序(2)運行程序編寫代碼注意以下幾點 (1)C#源文件#源文件以.cs作為擴展名 ,可執行文件(.exe文件)后可以脫離VisualStudio.NET環境直接運行 (2)C#基本語法語句以一個分號“;”結尾 ,結構語句用花括號“.”組合為語句塊 (3)注釋行注釋行用于幫助源程序的閱讀,計算機在程序運行時不執行注釋行,以“/”開始的注釋叫“單行注釋” ,多行注釋以“/*”開始至“*/”結束 (4)Main()方法Main()方法是程序的入口點,也是出口點。 輸入和輸出該語句是一句輸出語句,其目的是要將字符串“C_SHARP歡迎

9、你!”顯示到屏幕上 Console是程序集System命名空間下的一個類 WriteLine()則是Console類的一個用于將字符串信息顯示到屏幕上的方法 Console.WriteLine(C_SHARP歡迎你!);類的常用方法名稱接受參數返回值類型用途Read無int從輸入流讀入下一個字符,至換行符結束。ReadKey無ConsoleKeyInfo從輸入流讀入一個字符。ReadLine無string從輸入流讀入一行文本,至換行符結束。Writestringvoid輸出一行文本。WriteLinestringvoid輸出一行文本,并在結尾處自動換行。Write和WriteLine的常用參數

10、 Write和WriteLine可以接受多種類型的參數,包括字符串、字符、整數、浮點數等Write和WriteLine也可以對輸入的參數進行格式化輸出 Console.Write(123); /輸出整數Console.WriteLine(123); /輸出整數并換行Console.WriteLine(15.25); /輸出浮點數并換行格式化輸出 將形如0、1的指代標記包含在方法的參數中,其后的變量列表則分別用以取代這些標記格式化時最多只能接受4個參數(即指代標記最大為3) string s=MikeConsole.Write(Hello,0,s);Console.WriteLine(Proje

11、ct:0,Language:1,Version:2,Console,C#,2008);輸出為:Hello,Mike輸出為:Project:Console,Language:C#,Version:2008Console.Read()方法 Read方法可以從標準輸入流中讀取下一個字符,且只能讀取一個字符如果輸入的是數字字符時,要注意輸入的是數字字符的ASCII碼值 static void Main(string args) int i; i = System.Console.Read(); System.Console.WriteLine(i); 當輸入“1”時,輸出的值是49 Console.R

12、eadLine()方法 ReadLine方法可以從標準輸入流讀取下一行字符 static void Main(string args) string s; System.Console.WriteLine(請輸入姓名:); s =System.Console.ReadLine(); System.Console.WriteLine(您的輸入的姓名是:0,s); Console.ReadKey()方法 ReadKey方法可以獲取用戶按下的下一個字符或功能鍵在程序的最后加上調用該方法的語句,使程序執行到該語句時暫停 static void Main(string args) Console.Wri

13、teLine(C_SHARP歡迎你!); Console.ReadKey(); 當用戶從鍵盤上輸入字符時退出任務1.3 制作一個歡迎界面在文本框中輸入姓名單擊“確定”命令按鈕在文本框中顯示歡迎語句任務解決方案 (1)選擇“文件”“新建”“項目”命令(2)選擇Windows項目類型,選擇Windows應用程序,輸入項目的名稱“Welcom_w”后,點擊“確定”按鈕(3)選擇Label控件、TextBox控件和Button控件并將其放置在窗體Form1上(4)修改Label1控件和Button1控件的屬性值(5)雙擊按鈕Button1,編輯代碼(6)運行程序代碼分析 private void bu

14、tton1_Click(object sender, EventArgs e) textBox2.Text = C#世界歡迎你-“ + textBox1.Text; 使用文本框Text屬性輸出“+”作用將兩個字符串連接起來。using語句using語句用于導入命名空間 ,“using System;”語句表示可以直接使用System命名空間內的資源注意不能寫成“using System.Console;” Console是命名空間System下的類,不是命名空間 若不用using System語句,任務1.2中的輸出語句則不能省略System ,應修改為 static void Main(st

15、ring args) System . Console.WriteLine(C_SHARP歡迎你!);System . Console.ReadKey(); 控件、事件的使用 窗體及控件都是對象,因此可以直接定義其外觀屬性、行為方法以及編寫與用戶交互的事件代碼,以滿足不同需求當用戶單擊鼠標或按下按鍵,程序可以被激活并且做一些事情 例如:程序員只需要對用戶單擊“確定”命令按鈕定義執行的操作,即為Button按鈕定義了一個Click事件的響應方法button1_Click()。總結什么是.NET ?控制臺程序與Windows應用程序如何創建 ?謝 謝!C#程序設計第2章C#編程基礎本章任務能正確使

16、用C#的常量與變量能正確讀取數據能正確格式化輸出數據能正確使用算術運算符及表達式能正確使用邏輯運算符及表達式能按照程序編寫規范書寫程序代碼任務 2.1 制作簡單加法計算器在文本框中輸入加數和被加數單擊“計算”按鈕后顯示加法運算結果 單擊“關閉”按鈕后退出任務 2.1 制作簡單加法計算器處理“計算”按鈕的 Click 事件處理“關閉”按鈕的 Click 事件分四步實現:任務解決方案 1.創建名為summator的Windows項目2.選擇Label、Textbox和Button等控件放到窗體的適當位置,并設置控件屬性3.編寫應用程序代碼4.測試程序表2.1 屬性表控件屬性設置控件屬性設置Form

17、1NamefrmsumLabel4NamelblResult2TextText簡單的加法計算器Textbox1NametxtSum1Label1NamelblSum1Textbox2NametxtSum2Text被加數:Label2NamelblSum2Button1NamebtncalcText加數:Text計算Label3NamelblResult1Button2NamebtnCloseText相加結果為:Text關閉代碼雙擊“計算”按鈕,在其Click事件的響應方法btncalc _Click()中,插入下列代碼:private void btncalc _Click(object se

18、nder, EventArgs e) int op1; int op2; int result; op1 = Int32.Parse(txtSum1.Text); op2 = Int32.Parse(txtSum2.Text); result = op1 + op2; lblResult2.Text = result.ToString();定義3個整型變量op1,op2和result 將字符型的文本框的值轉換為32位整數后賦給整型變量將結果result的值轉換為字符型后賦值給標簽控件Text屬性代碼雙擊“關閉”按鈕,在其Click事件的響應方法btnClose _Click()中,插入下列代碼

19、:private void btnClose _Click(object sender, EventArgs e) this.Close();關閉窗體 1.變量的定義用戶的角度在程序執行過程中值會發生改變的數據當需要保存特定的值或計算結果時,需要用到變量計算機的角度變量代表存儲地址變量的類型決定了存儲在變量中的數值的類型變量有3個屬性存儲變量值的存儲位置存儲位置中數據的數據類型用來引用該存儲位置的名稱(1)變量x=100 x=50 (3)變量的命名規范有利于程序的設計和維護使名稱具有一定的意義,避免冗長 Pascal表示法Camal表示法匈牙利表示法等對類名、類的屬性、類的方法采用Pascal

20、命名法,Pascal表示法將標識符的首字母和后面連接的每個單詞的首字母都大寫 例如:BackColor 、ForeColor對變量、對象采用Camal命名法,也叫駝峰命名法,Camal表示法以小寫字母開頭,以后的單詞都以大寫字母開頭。例如:redValue、myBook、sizeOfChar匈牙利表示法中變量名由變量的屬性、類型及對象的描述三部分組成。例如:iMyCar、cMyCar2.變量的聲明由于變量表示一個值在內存中的存儲地址,因此在使用變量前必須先聲明變量名和數據類型聲明變量的一般格式為:數據類型 變量名表;例如:在任務2.1中使用的語句。int op1;int op2;int res

21、ult;3.變量的賦值變量在使用前必須賦值,賦值運算符“=”可以將運算符右側的值賦予左側的變量賦值運算要求賦值號“=”右邊和左邊的數據類型完全一致,否則會編譯出錯。還可以在變量聲明的同時給變量賦初值 S=100; op1 = Int32.Parse(txtSum1.Text);int b=100;string c1=abc;4.變量的作用域變量的作用域,也叫變量的生命周期變量只有在它的生命周期內才可以被訪問,超過生命周期,任何對它的訪問和使用都會產生編譯錯誤變量的作用域一般由變量聲明的位置決定,在作用域內聲明的變量對于作用域外的代碼是不可見的。變量的作用域大致包括以下幾種:靜態變量作用域實例變

22、量作用域方法參數作用域局部變量作用域異常處理作用域public class DomainTest private int a; static int b; public int GetA() return a; public void SetA( int c ) int d; public void TryFunction() try catch (Exception e) 變量a的作用域為實例變量作用域變量b的作用域為靜態變量作用域 變量c的作用域為方法參數作用域變量d的作用域為局部變量作用域變量e的作用域為異常處理作用域 靜態變量作用域:靜態變量使用static修飾符聲明,它的生存期為整個

23、源程序。實例變量作用域:當一個類的實例被創建時,其實例成員變量的生命周期開始,當該實例不再被使用,實例所占內存空間將被釋放時,實例成員變量的生命周期結束。方法參數作用域:方法參數變量的其作用域僅限于該方法內,方法被調用時,它的生命周期開始,方法執行完畢,它的生命周期結束。局部變量作用域:局部變量作用域僅限于它被定義的語句塊內,當該語句塊結束后,其生命周期結束。異常處理參數作用域:異常處理參數變量的生命周期只在錯誤處理語句塊內(即catch語塊內)存在。注意:變量只有在被聲明后才有效,如果在代碼塊的結尾處聲明了一個變量,由于沒有任何代碼可以訪問它,它將沒有任何作用。常量 (1)常量的定義:常量即

24、值不會發生改變的量 常量分為直接常量和符號常量直接常量是指在程序中直接給出數值或字符串的常量,例如:12345、“name”。符號常量是經過聲明的常量,包括常量的名稱和它的值。聲明常量的一般格式如下:const 數據類型 表達式例如:const int yearmonth=12;const double conpi=3.1415926;聲明了int型常量yarmonth聲明了double型常量conpi注意常量不能像變量一樣更改它的值或給它們賦新值。 const int yearmonth=12;yearmonth=22; /錯誤const double conpi=3.1415926;con

25、pi=3.14; /錯誤但是利用表達式形式聲明常量是允許的。 const int c1=10;const int c2=c1+100;與變量的聲明語句類似還可以在const前加上訪問標識符,用于規定常量的作用域,格式如下:訪問標識符 const 數據類型 表達式 private const int WordDays=200; /私有常量 public const int DaysInYear=365; /公有常量(2)使用常量的優點常量用易于理解的名稱替代了含義不明確的數字或字符串,使程序更易于閱讀常量使程序更易于修改常量更易于避免程序出現錯誤。如果要給程序中的常量再次賦值,編譯器立刻就會報告

26、錯誤2.1.2基本數據類型1.值類型值類型主要由簡單類型、枚舉類型和結構類型這三類組成 種類描述值類型簡單類型(Simple types)有符號整數:sbyte, short, int, long無符號整數:byte, ushort, uint, ulongUnicode 字符:charIEEE 浮點數:float, double十進制數:decimal布爾值:bool枚舉類型(Enum type)enum E .結構類型(Struct type)struct S .(1)整型類型描述位數數據類型取值范圍有符號整數8sbyte12812716short32 76832 76732int2 14

27、7 483 6482 147 483 64764long9 223 372 036 854 775 8089 223 372 036 854 775 807無符號整數8byte025516ushort065 53532uint04 294 967 29564ulong018 446 744 073 709 551 615C#定義了8種整型變量不同整型類型數據在內存中占用的內存位數各不相同 對所有整型類型變量賦值都默認是十進制數要使用十六進制的值,則需要添加0 x前綴 一個整數沒有任何顯示的聲明,則該變量默認為int類型若將數據指定為其他整數類型,則必須加上后綴 (2)浮點類型描述位數數據類型取

28、值范圍單精度浮點型32float1.51045 到3.41038, 7位精度雙精度浮點型64double5.010324 1.710308,15位精度C#支持2種浮點類型:單精度(float)和雙精度(double),它們的差別在于取值范圍和精度不同 用F表示float,M表示decimal,D表示double,如果沒有標志字符則默認為double類型例2.1浮點數相加。在任務2.1的基礎上,將操作數的數據類型由整型改為浮點型,實現浮點數相加將op1、op2、result三個變量改為單精度浮點型將txtSum1.Text數據類型轉為單精度浮點型修改應用程序代碼在窗體設計器中雙擊“計算”按鈕,將

29、其Click事件處理程序修改如下:private void btncalc _Click(object sender, EventArgs e) float op1,op2, result; op1 = Single.Parse(txtSum1.Text); op2 = Single.Parse(txtSum2.Text); result = op1 + op2; lblResult2.Text = result.ToString();測試程序定義浮點型變量將文本框Text屬性轉換成浮點型將浮點型轉換成字符串(3)小數類型描述位數數據類型取值范圍小數類型128decimal1.0 10287.

30、9 1028, 29位有效位數據類型不僅可以是浮點類型,還可以是小數類型 decimal decimal類型適合金融和貨幣方面的運算decimal是一種高精度、128位數據類型它所表示的范圍從大約1.010287.91028的28位至29位有效數字,運算結果準確到28個小數位 Decimal類型的取值范圍比double類型的范圍要小的多,但它更精確,十進制小數數字可以用decimal類型來表示。例2.2 修改數據類型為decimal型將上例程序中的數據類型由float型修改為decimal型。修改應用程序代碼在窗體設計器中雙擊“計算”按鈕,將其Click事件處理程序修改如下:private v

31、oid btncalc _Click(object sender, EventArgs e) decimal op1,op2, result; op1 = decimal.Parse(txtSum1.Text); op2 = decimal.Parse(txtSum2.Text); result = op1 + op2; lblResult2.Text = result.ToString();測試程序定義decimal型變量將文本框Text屬性轉換成decimal型將 decimal型轉換成字符串(4)字符類型字符類型按照國際上公認的標準,采用Unicode字符集 Unicode 是一種國際字

32、符集,可表示多個國家的字符 字符變量以無符號16位(2個字節)數字的形式存儲,取值范圍為0到65535 在 C# 中可以直接在一個字符型變量中存儲一個漢字。給字符變量賦值可以使用單引號,也可以使用字符的ASCII碼 例如:char c= A ;或char c= (char)65;字符類型描述位數數據類型取值范圍字符類型16char在065535范圍內以雙字節編碼的任意符號轉義符轉義序列字符名稱Unicode 編碼單引號0 x0027雙引號0 x0022反斜杠0 x005C0空0 x0000a警報0 x0007b退格符0 x0008f換頁符0 x000Cn換行符0 x000Ar回車0 x000D

33、t水平制表符0 x0009v垂直制表符0 x000B例如:向控制臺輸出一個單引號字符。char c=;Console.WriteLine(0,c);或char c=x0027;Console.WriteLine(0,c);通過轉義符或Unicode表示法指代特殊的控制字符(5)布爾型布爾型用來表示“真”或“假”這兩個概念真”和“假”分別采用true和false兩個值來表示默認值是false,布爾型和其他類型之間不能互相轉換。例如:bool x=1 /錯誤。只能寫成x=true或x=false(6)結構類型在程序執行過程中,往往需要使用更為復雜的數據結構。編寫“學生信息管理系統”,需要對學生信息

34、處理,學生信息包括學號、姓名、性別、年齡等C#中提供了結構類型以解決這個問題結構類型一般定義形式為:struct Student public int Id; public string Name; public char Sex; public int Age; public int Score; public string Address;struct 結構名結構值表;例如結構類型可以由不同類型的數據組成Student結構體包含了6個簡單數據類型變量這6個變量稱為結構的成員 訪問成員需要使用成員訪問運算符“.” 格式如下:結構類型變量. 成員變量例如Student std; std.Id=

35、20081215;std.Nmae=王華;std.Sex=女;std.Age=21;std.Score=435;std.Address=合肥;Console.WriteLine(學號:+std.Id);結構類型的成員數據類型沒有限制,它可以是簡單數據類型、復雜數據類型,甚至是結構類型。Student結構類型嵌套一個結構類型的Address成員。struct Studentpublic int ID;public string Name;public string Address public string city; public string street; public int no; 2

36、.引用類型C#中的另一類數據類型是引用類型引用類型存儲的是數據的地址,而不是具體的數據C#提供了類類型、字符串類型、數組類型、接口類型、委托類型等幾種引用類型字符串是由作為一個整體處理的一系列字符組成,字符串可以包含英文字母、漢字、數字及符號等,定界符用雙引號表示C#中字符串可分為規則字符串和逐字字符串規則字符串它可以包括簡單轉義序列、十六進制轉義序列和 Unicode 轉義序列。定義規則字符串:String a=hello,world; / hello,world使用轉義符:String b = hello t world; / hello world聲明字符串:String c=hello

37、,world; /hello,world 2.1.3數據類型轉換1.隱式數據轉換隱式數據轉換就是系統默認的、不需要加以聲明在隱式轉換過程中,編譯器無需對轉換進行詳細檢查就能夠安全地執行轉換,轉換過程中數據一般不會丟失。C#中可以進行的隱式數值轉換見下表 隱式數值轉換 轉換前數據類型轉換后前數據類型sbyteshort、int、long、float、double 或 decimalbyteshort、ushort、int、uint、long、ulong、float、double 或 decimalshortint、long、float、double 或 decimalushortint、uint

38、、long、ulong、float、double 或 decimalintlong、float、double 或 decimaluintlong、ulong、float、double 或 decimallongfloat、double 或 decimalulongfloat、double 或 decimalcharushort、int、uint、long、ulong、float、double 或 decimalfloatdouble例2.3 編寫一個簡單的控制臺程序,實現隱式數據轉換并輸出。 class Program static void Main(string args) char a

39、= A; float b = 99.9F; int c; c = a; Console.WriteLine(c); float d = b+c; Console.WriteLine(d); 2. 顯式數據轉換轉換前數據類型轉換后前數據類型sbytebyte、ushort、uint、ulong或charbytesbyte或charshortsbyte、byte、ushort、uint、ulong或charushortsbyte、byte、short或char(續表) 轉換前數據類型轉換后前數據類型intsbyte、byte、short、ushort、uint、ulong或charuintsbyt

40、e、byte、short、ushort、int或charlongsbyte、byte、short、ushort、int、uint、ulong或charulongsbyte、byte、short、ushort、int、uint、long或charcharsbyte、byte或shortfloatsbyte、byte、short、ushort、int、uint、long、ulong、char或decimaldoublesbyte、byte、short、ushort、int、uint、long、ulong、char、float或decimaldecimalsbyte、byte、short、ushor

41、t、int、uint、long、ulong、char、float或double例2.4修改例2.3,實現顯式數據轉換,并輸出轉換后的結果。 class Program static void Main(string args) char a = A; float b = (float)99.9; int c; c = a; Console.WriteLine(c); decimal d = (decimal)b+c ; Console.WriteLine(d); 3.使用方法進行數據類型的轉換(1)Parse方法ToString方法可以將數值類型轉換成字符串型,其返回值是String 類型 使

42、用方法:數值類型數據.ToString()例如: lblResult2.Text = result.ToString(); 控制符示例運行結果C 貨幣2.5.ToString(C)¥2.50D 十進制數25.ToString(D5)00025E 科學型25000.ToString(E)2.500000E+005F 固定點25.ToString(F2)25.00G 常規2.5.ToString(G)2.5N 數字2500000.ToString(N)2,500,000.00X 十六進制255.ToString(X)FF2.1.3算術溢出及顯示轉換溢出1. 數據溢出例2.5實現簡單的數據計算。(1

43、)新建windows項目,名稱為calc,將Form1從項目中刪除,修改項目中的Program.cs主程序,代碼:public class calc static void Main() double x = 8245788526; int b = 45648745; int c = 1547454577; int y = (int)x; int z = (int)(b * c); MessageBox.Show(x= + x.ToString() + ,(int)x= + y.ToString() + n + b= + b.ToString() + ,c= + c.ToString() +

44、,b*c= + z.ToString(); 2. 異常C# 程序在運行中經常會由于遇到一些輕微錯誤(異常),而中斷程序的執行 異常處理可以通過使用try、catch和finally關鍵字定義代碼塊來實現 trycatchfinally語句的語法格式:try 語句塊1 catch (數據類型 標識符) 語句塊2finally 語句塊3 try子句catch子句finally子句整型數據算術溢出和整型之間的轉換溢出,會在運行時引發OverflowException異常;float、double或decimal值轉換為整型時如果整數值不在目標范圍,則會引發InvalidCastException異常

45、;decimal類型算術運算溢出,則會引發OverflowException異常;將float或double轉換成decimal時,如果源值為NaN(非數值)、無窮大或因過大而無法表示decimal時,則會引發InvalidCastException異常。對例2.5中程序代碼進行修改,可以捕獲計算結果溢出的錯誤。 static void Main() double x = 8245788526; int y; try checked y = (int)x; catch (System.OverflowException) MessageBox.Show(算術運算導致溢出);return; Me

46、ssageBox.Show(x= + x.ToString() + ,y= + y.ToString() + n);總結變量如何定義與賦值?常量如何定義與賦值?數據如何進行類型轉換?任務 2.2 制作工資所得稅計算器個人所得稅稅額=(應納稅所得起征標準)*適用稅率-速算扣除數個人所得稅起征點為2000元,稅率為10%,速算扣除數為25。任務 2.2 制作工資所得稅計算器處理“計算”按鈕的 Click 事件處理“復位”按鈕的 Click 事件分四步實現:任務解決方案 1.創建名為“TaxCalculator”的Windows應用程序項目。2.選擇Label、Textbox、Button等控件添加

47、到TaxCalculator窗體中,并設置控件屬性。3.編寫程序代碼4.測試程序代碼雙擊“計算”按鈕,在其Click事件程序中,插入下列代碼:private void btnCalculate_Click(object sender, EventArgs e) decimal wage,remian,tax,wag_tax; const int taxRate=10, deduct=25; wage = decimal.Parse(txtWage.Text); wag_tax = wage - 2000; tax = wag_tax * taxRate / 100 - deduct; remi

48、an = wage - tax; txtTax.Text += String.Format(0,-16:c1,16:c2,16:c, wage, tax, wag_tax) + rn; 代碼雙擊“復位”按鈕,在其Click事件程序中,插入下列代碼:private void btnReset_Click(object sender, EventArgs e) txtTax.Text = String.Format(0,-16:c1,-16:c2,-16:c, 稅前收入, 個人應繳所得稅, 稅后收入); txtWage.Text = ;2.2.1運算符及表達式表達式:通過運算符將常量、變量、函數連

49、接而成的有意義的式子根據操作數的個數,可分為以下3類: 一元運算符:一元運算符作用于一個操作數,包括前綴運算符和后綴運算符。二元運算符:二元運算符作用于兩個操作數。三元運算符:三元運算符作用于三個操作數。在C#中三元運算符只有一個(?:),用于組成條件表達式。2.2.1運算符及表達式1.算術運算符加法運算符、除法運算符模運算符、取反運算符2.關系運算符簡單賦值、復合賦值3.賦值運算符4.邏輯運算符5.條件運算符算術運算符類別運算符說明表達式算術運算符+執行加法運算 操作數1 + 操作數2-執行減法運算 操作數1 - 操作數2*執行乘法運算操作數1 * 操作數2/執行除法運算操作數1 / 操作數

50、2%獲得進行除法運算后的余數 操作數1 % 操作數2+將操作數加 1 操作數+或+操作數-將操作數減 1 操作數- 或-操作數將一個數按位取反 操作數關系運算符 類別運算符說明表達式關系運算符檢查一個數是否大于另一個數 操作數1 操作數2檢查一個數是否小于另一個數 操作數1 =檢查一個數是否大于或等于另一個數 操作數1 = 操作數2= 檢查一個數是否小于或等于另一個數 操作數1 = 操作數2= 檢查兩個值是否相等 操作數1 = 操作數2!= 檢查兩個值是否不相等操作數1 != 操作數2賦值運算符 類別運算符說明表達式賦值運算符=給變量賦值操作數1 = 操作數2+=操作數1 = 操作數1 + 操

51、作數2操作數1+ = 操作數2-=操作數1 = 操作數1 - 操作數2操作數1 -= 操作數2*=操作數1 = 操作數1 * 操作數2操作數1 *= 操作數2/=操作數1 = 操作數1 / 操作數2操作數1 /= 操作數2%=操作數1 = 操作數1 % 操作數2操作數1 %= 操作數2邏輯運算符 類別運算符說明表達式邏輯運算符&對兩個表達式執行按位“與”運算 操作數1 &操作數2|對兩個表達式執行按位“或”運算 操作數1 | 操作數2對兩個表達式執行按位“異或”運算操作數1 操作數2&對兩個表達式執行邏輯“與”運算 操作數1 & 操作數2|對兩個表達式執行邏輯“或”運算 操作數1 | 操作數2

52、!對兩個表達式執行邏輯“非”運算! 操作數條件運算符 ? : 運算符稱為條件運算符,是C#中唯一的三元運算符表達式如下:表達式? 操作數1:操作數22.2.2運算符及表達式優先級、結合律1.運算符優先級運算符的優先級控制著各運算符的計算順序2.表達式結合律賦值運算符和條件運算符是按照右結合的順序執行的其它的二元操作符都是左結合的運算符優先級 類別運算符基本運算符() x.y f(x) ax x+ x- new typeof sizeof checked unchecked一元運算符+ - | +x -x (T)x乘除運算符* / %加減運算符+ -位移運算符關系運算符 = is相等運算符= !

53、=按位與&按位異或按位或|類別運算符邏輯與&邏輯或|條件運算符?:賦值操作符= *= /= += -= = &= = |=2.2.3格式化輸出格式字符格式符說明格式字符格式符說明C或c貨幣G或g常規D或d十進制N或n數字E或e科學制P或p百分比F或f固定點一般格式為: String.Format(formats,參數列表);2.2.4程序編寫規范1.代碼書寫規則(1)用規定的縮進對齊代碼節(2)在括號對齊的位置垂直對齊左括號和右括號,也可以使用傾斜樣式,即左括號出現在行尾,右括號出現在行首(3)沿邏輯結構行縮進代碼(4)將長代碼寫為兩行,中間用“+”運算符連接起來,在后面換行代碼中要使用縮進格

54、式(5)每一行上放置的語句避免超過一條,除了循環語句(6)編寫 HTML 時,所有標記都大寫或所有屬性都小寫(7)編寫 SQL 語句時,對于關鍵字使用全部大寫,對于數據庫元素(如表、列和視圖)使用大小寫混合(8)關鍵的語句(包括聲明關鍵的變量)必須要寫注釋,注釋需和代碼對齊2.2.4程序編寫規范2.注釋單行注釋:以字符“/”開始,并延續到該文件行的末尾。多行注釋:以字符“/*”開始,以“*/”字符結束,可以跨多行。注意:1.避免在“/”單行注釋符后使用反斜杠符號“”2.分隔符“/*”和“*/”之間的注釋不能有嵌套注釋。 總結運算符中左結合和右結合的分別有哪些?列舉常用的代碼書寫規則。謝 謝!C

55、#程序設計第3章 C#程序控制 本章任務能夠使用if語句編寫簡單的選擇判斷程序;能夠使用while、dowhile語句編寫循環程序;能夠使用for語句編寫循環程序;能夠使用goto語句、continue語句在程序中有條件中斷重復執行語句; 任務3.1 編寫控制臺應用程序判斷是否應交個人所得稅1、輸入的應發工資數和養老金等三金或四金數,2、判斷是否應交個人所得稅。關鍵代碼1、輸入應發工資代碼:pay = double.Parse(Console.ReadLine();2、輸入養老金代碼:money = double.Parse(Console.ReadLine(); 3、判斷是否應交個人所得稅;

56、if (income 2000) Console.WriteLine(需要交個人所得稅!); If語句格式如下:If語句流程圖如圖所示If(表達式) 語句塊 任務3.2 編寫Windows窗體應用程序判斷是否應交個人所得稅。 1、用戶在相應文本框中輸入的應發工資數和養老金等三金或四金數;2、判斷是否應交個人所得稅。應發工資數減去養老金后,數據大于2000元;則交稅,否則不交稅。關鍵代碼1、將文本框中的值賦值給兩個變量pay = double.Parse(txtPay .Text ); money = double.Parse(txtMoney .Text );2、判斷是否應繳個人所得稅; if

57、 (income 2000) MessageBox.Show(需要交個人所得稅!); else MessageBox.Show(不需要交個人所得稅!); ifelse 語句If(表達式) 語句塊1else語句塊2結構流程圖如圖所示格式如下:任務3.3 編寫Windows窗體應用程序計算個人所得稅和實發工資。1、要求用戶輸入的數據必須是正數,否則要求用戶重新輸入;2、計算個人所得稅和實發工資。關鍵代碼1、判斷應發工資或養老金等是否為負 if (pay 0 | money 0 & income 500 & income = 2000) if語句的嵌套 格式如下:if(表達式1)if(表達式2)語句

58、塊1else語句塊2else語句塊3 ifelse ifelse 語句語句格式如下:if(表達式1)語句塊1else if(表達式2)語句塊2else語句塊n流程圖如圖所示任務3.4 簡易計算器1、在相應文本框輸入兩個操作數,2、分別實現這兩個操作數的加、減、乘、除運算,關鍵代碼op1 = double.Parse(txtOp1.Text);op2 = double.Parse(txtOp2.Text);1、通過double.Parse轉換后賦值給變量op1和op2, 2、組合框中選擇的運算符賦值給字符串類型變量op。 op = combOperation.SelectedItem.ToStr

59、ing(); 3、使用switch語句進行多項選擇判斷 switch (op) case : case : case : default : switch語句switch(表達式) case 常數表達式1: 跳轉語句 case 常數表達式2: 跳轉語句 defalut: 跳轉語句語句格式如下:任務3.5 計算某人一年公積金賬戶余額1、輸入的某人工資、公積金交存比例和住房貸款月還款金額,2、計算出他一年公積金賬戶余額。關鍵代碼計算每月公積金余額并累加:分別使用while結構、dowhile結構以及for循環結構 sum = 0; int i = 1; while (i =12) sum +=2*

60、pay *scale/100-loan; i=i +1; sum = 0; int i = 1; do sum += 2 * pay * scale / 100 - loan; i = i + 1; while (i = 12); sum = 0; for (int i = 1; i = 12;i + ) sum += 2 * pay * scale / 100 - loan; while語句while (表達式)循環體流程圖如圖所示:格式如下: do while語句格式如下:流程圖如圖所示 do循環體while (表達式)任務3.6 設計一個計算階乘和e的指數冪的計算器。 1、單擊“n!”按

溫馨提示

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

評論

0/150

提交評論