




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 第2章 C#編程基礎(chǔ)主講人: XXX 面向?qū)ο蟪绦蛟O(shè)計C# 編程基礎(chǔ)基本數(shù)據(jù)類型基本數(shù)據(jù)類型 2變量與常量變量與常量 1面向?qū)ο蟪绦蛟O(shè)計初步面向?qū)ο蟪绦蛟O(shè)計初步 32022-5-2932.1 變量與常量2.1.1 變量的含意2.1.2 變量聲明2.1.3 常數(shù)2022-5-2942.1.1 變量的含意假設(shè)有兩數(shù)為x、y,我們想求出兩者之和,這在數(shù)學(xué)中表示為:x+y。要在程序中計算x、y的和,我們必須首先聲明將要指定給它們的數(shù)據(jù)類型。為其賦值之后,才能計算其和。 假設(shè)x、y都是整數(shù)。為了聲明指定給它們的數(shù)據(jù)類型是整數(shù),可編寫如下語句: int x; int y; 進(jìn)行此聲明后,即為x和y分配了
2、存儲數(shù)據(jù)值的存儲位置。 這些存儲位置稱為“變量”。而x和y是與存儲位置關(guān)聯(lián)的名稱,稱為變量名。做出上述聲明之后,x和y的值只能是整數(shù)值。我們使用賦值運算符“=”給x和y賦值。例如: x = 100; y = 98; 此時x的值是100,y的值是98。2022-5-2952.1.2 變量聲明 在C#中,使用變量之前,必須首先聲明它。聲明變量的一般格式為:數(shù)據(jù)類型 變量名; 如何命名變量?給變量分配有意義的名稱;使用大小寫混合方案。該方案要求變量名的首字母小寫,變量名中每個單詞的首字母大寫。如newAccountBalance切忌使用C#的關(guān)鍵字雖然C#區(qū)分大小寫,但是不要僅僅通過大小寫的不同來區(qū)
3、分不同的變量。如Sum和sum的同時使用。2022-5-296任務(wù)2.1 計算路程任務(wù)任務(wù)2.1 2.1 計算路程計算路程問題描述: 有一輛汽車每小時可以行駛x公里,欲計算y小時能行駛多少公里(假設(shè)x和y均為整數(shù))。編寫一程序解決該問題。 解決此問題需要使用公式:路程 = 速度 時間。 要編寫解決該問題的程序,可以使用3個變量:v、t和s。變量v用于存放速度的值,變量t用于存放時間的值,變量s用于存放路程的值。2022-5-2972.1.3 常數(shù)1. 常數(shù)的含義2. 聲明常數(shù)注意:盡管常數(shù)與變量有些相像,但不能像變量一樣更改其值或給它們賦新值。2022-5-2982.1.3 常數(shù) 使用 con
4、st 關(guān)鍵字以及該常量值的類型來聲明一個常量 聲明常量時必須對其賦值 /地球的半徑為地球的半徑為6378kmconst int earthRadius = 6378;/到太陽的平均距離為到太陽的平均距離為149600000kmconst long meanDistanceToSun = 149600000;/平均軌道速度是平均軌道速度是29.79km/s const double meanOrbitalVelocity = 29.79D;2022-5-2992.1.3 常數(shù)-討論 為什么有必要使用常量?為什么有必要使用常量? 列舉更多的需要使用常量的情況;列舉更多的需要使用常量的情況;防止一些
5、固定的量被無意修改,導(dǎo)致程序運算出現(xiàn)防止一些固定的量被無意修改,導(dǎo)致程序運算出現(xiàn)錯誤;錯誤;可能的情況有物理化學(xué)數(shù)學(xué)等學(xué)科在計算中使用可能的情況有物理化學(xué)數(shù)學(xué)等學(xué)科在計算中使用的常量,一些現(xiàn)實中固定不變的量,例如英文字的常量,一些現(xiàn)實中固定不變的量,例如英文字母的個數(shù)等等。母的個數(shù)等等。2022-5-29102.2 基本數(shù)據(jù)類型 每個變量都具有一個類型,以確定哪些值可以存儲在該變量中。 算術(shù)運算基本數(shù)據(jù)類型的相互轉(zhuǎn)換算術(shù)溢出及顯式轉(zhuǎn)換溢出布爾類型整型字符數(shù)據(jù)類型非整型格式化輸出2022-5-29112.2.1 整型C#支持9種整型:sbyte(8位有符號整型)、byte(8位無符號整型)、sh
6、ort(16位有符號整型)、ushort(16位無符號整型)、int(32位有符號整型)、uint(32位無符號整型)、long(64位有符號整型)、和ulong(64位無符號整型)。如果整數(shù)表示的值超出了 ulong 的范圍,就會產(chǎn)生編譯錯誤。如果某個變量總是存儲整數(shù)而不是帶小數(shù)的數(shù)字,則將它聲明為以上類型中的一種。沒有一個數(shù)值類型是存放在單個字節(jié)中的。但有時數(shù)據(jù)要存放成字節(jié),必須能訪問各個字節(jié)。這時該數(shù)據(jù)可存放在byte、sbyte類型的變量中,如果某個變量包含二進(jìn)制數(shù)據(jù)或未知種類的數(shù)據(jù),則將其聲明為byte類型。2022-5-2912任務(wù)2.2:整數(shù)相乘 主要知識點:讀取從文本框中輸入的
7、值。 將計算結(jié)果顯示在文本框中。將數(shù)字字符串轉(zhuǎn)換為整數(shù)。 異常(格式異常、溢出異常)處理。 問題描述: 用戶從鍵盤輸入整數(shù),當(dāng)單擊【相乘】按鈕時,計算它們的積,并顯示結(jié)果。 1. 創(chuàng)建項目和窗體 2. 編寫應(yīng)用程序的代碼 3. 測試應(yīng)用程序2022-5-29132.2.5 算術(shù)運算1. 算術(shù)表達(dá)式與算術(shù)運算符 在前面的示例中,op1*op2、op1/op2、5/3 都是算術(shù)表達(dá)式,因為它們都由算術(shù)運算符和操作數(shù)組成。算術(shù)運算符(如*)指定了數(shù)值計算。2. 算術(shù)運算符優(yōu)先級規(guī)則 在C#中,算術(shù)運算符優(yōu)先級規(guī)則與我們所學(xué)的標(biāo)準(zhǔn)代數(shù)中的算術(shù)運算規(guī)則是一樣的。2022-5-2914表2.4 算術(shù)運算符
8、2022-5-2915課題討論1、讀右列中的代碼,然后回答問題。、讀右列中的代碼,然后回答問題。int x=10;int y=x+;?y的值是什么,為什么?的值是什么,為什么?2、讀右列中的代碼,然后回答問題。、讀右列中的代碼,然后回答問題。x+=10;?x的值是什么,為什么?的值是什么,為什么?3、讀右列中的代碼,然后回答問題。、讀右列中的代碼,然后回答問題。int z=30;int a=x+y*z;?a的值是什么?為什么?將該代碼改寫成更具有可讀性的形式。的值是什么?為什么?將該代碼改寫成更具有可讀性的形式。4、讀右列中的代碼,然后回答問題。、讀右列中的代碼,然后回答問題。int a=10
9、;int b=a+;bool myBool=(a=b);?這段代碼做了些什么?這段代碼做了些什么?myBool的值是多少?的值是多少?2022-5-2916實訓(xùn)內(nèi)容: 制作一個簡單的加減運算器 設(shè)計如下圖windows應(yīng)用程序做簡單的整數(shù)加法和減發(fā)運算。 注意:異常的處理。2022-5-29172.2.3 非整型非整型數(shù)據(jù)類型是同時使用整數(shù)部分和小數(shù)部分來表示數(shù)值的類型。非整型數(shù)據(jù)類型有:float(7位有效位)、double(15到16位有效位)和decimal(28到29位有效位)。它們都是有符號類型。如果某個變量可以包含小數(shù),則將其聲明為這些類型之一。如果希望實數(shù)被視為非整型類型,請使用
10、文本類型字符,文本類型字符用M表示 decimal,用F表示float,用D表示double。2022-5-29182.2.3 非整型實踐操作:實踐操作:設(shè)計一個應(yīng)用程序,輸入以攝氏為單位的溫度,輸出以華氏為單位的溫度。攝氏與華氏 的公式為:F=1.8*C+322022-5-2919實訓(xùn)內(nèi)容: 設(shè)計一個應(yīng)用程序,輸入圓柱體的高和直徑,分別計算出表面積和體積。 要求將(3.14159)設(shè)置為常量。 注意:異常的處理。2022-5-2920任務(wù)2.4:貸款計算器 主要知識點: Single.Parse(s)方法。 Decimal.Parse(s)方法。 格式化字符串。 求冪運算。 問題描述:編寫一
11、貸款計數(shù)器程序,對于特定的貸款數(shù)量、年利率和貸款周期,計算月付款和總付款。計算月付款的公式為:月付款=p*r/(1-(1+r)-n)其中p為貸款金額;r為月利率(年利率除以12),以0到1(100%)之間的數(shù)給出;n是還完貸款需要的時間(以月為單位)。 解決方案:1. 創(chuàng)建項目和窗體2. 編寫應(yīng)用程序的代碼3. 測試應(yīng)用程序2022-5-29212.2.4 格式化輸出可通過調(diào)用String.Format方法格式化輸出信息。String.Format方法的一般格式為:String.Format(formats, 參數(shù)列表);其中formats為包含一個或多個格式規(guī)范N, M: Sn的字符串,St
12、ring.Format方法返回formats字符串,只不過將formats字符串中的第一個格式規(guī)范替換為參數(shù)列表中的第一個參數(shù)的值(該值被轉(zhuǎn)換為字符串),第二個格式規(guī)范替換為參數(shù)列表中的第二個參數(shù)的值(該值被轉(zhuǎn)換為字符串),依此類推。2022-5-29222.2.4 格式化輸出在格式規(guī)范N, M: Sn中,N是從零開始的整數(shù),表示要格式化的參數(shù),0表示要格式化的參數(shù)是參數(shù)列表中的第一個參數(shù),1表示要格式化的參數(shù)是參數(shù)列表中的第二個參數(shù),依此類推。M是整數(shù)(可選),指示包含格式化值的區(qū)域的寬度,剩余部分用空格填充。如果 M 的符號為負(fù),則格式化值在區(qū)域中左對齊;如果 M 的符號為正,則該值右對齊
13、。S是格式字符(可選),n為整數(shù)(可選),指定小數(shù)位數(shù)。在格式規(guī)范N, M: Sn中,只有N是必需的,其他兩項可有可無。2022-5-2923表2.3 格式化輸出說明2022-5-29242.2.4 格式化輸出實踐操作:將借貸計算器的練習(xí)按照書上的講解,自己實現(xiàn)。要求:將輸出的英文提示改成中文,同時將輸出對齊。 完成后,提交檢查。2022-5-2925實訓(xùn)內(nèi)容:設(shè)計一個應(yīng)用程序,計算“身體質(zhì)量指數(shù)”(BMI),反映體重有關(guān)的健康問題的危險程序。BMI計算公式為:BMI=w/h2其中:w是以千克為單位的體重。H是以米為單位的身高。 要求:計算結(jié)果保留2位小數(shù)。 窗體界面自行設(shè)計。2022-5-2
14、9262.2.2 字符數(shù)據(jù)類型 字符數(shù)據(jù)類型char用來處理Unicode字符。Unicode 字符是 16 位字符,用于表示世界上多數(shù)已知的書面語言。char變量以無符號的16位(兩個字節(jié))數(shù)字的形式存儲,取值范圍為0到65535。每個數(shù)值代表一個Unicode字符。 Unicode的前128個數(shù)值(0127)對應(yīng)于標(biāo)準(zhǔn)美國鍵盤上的字母和符號。這前 128 個數(shù)值與ASCII字符集中定義的數(shù)值相同。隨后的128個數(shù)值(128到 255)表示特殊字符,如拉丁字母、重音符號、貨幣符號以及分?jǐn)?shù)。其余的數(shù)值用于表示不同種類的符號,包括世界范圍的各種文本字符、音調(diào)符號以及數(shù)學(xué)和技術(shù)符號。2022-5-
15、2927任務(wù)2.3:字符檢查 問題描述:從鍵盤輸入一個字符,檢查輸入字符是否為字母字符或數(shù)字,如果不是,則輸出“輸入的字符不是字母字符或數(shù)字”。如果輸入的字符是字母字符,則輸出該字母字符的整數(shù)值。在任何一種情況下,都會顯示適當(dāng)?shù)南ⅰ?解決方案:1. 創(chuàng)建項目和窗體2. 編寫應(yīng)用程序的代碼3. 測試應(yīng)用程序2022-5-29282.2.6 基本數(shù)據(jù)類型的相互轉(zhuǎn)換l程序中在給變量賦值或進(jìn)行數(shù)據(jù)間混合運算時,要注意所賦值的數(shù)據(jù)類型是否與變量的數(shù)據(jù)類型一致、進(jìn)行混合運算的數(shù)據(jù)的類型是否一致。如果它們的類型不同,則有兩種情況:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。下面我們對隱式轉(zhuǎn)換和顯式轉(zhuǎn)換進(jìn)行討論。l1. 隱式數(shù)值轉(zhuǎn)
16、換表2.6顯示了預(yù)定義的隱式數(shù)值轉(zhuǎn)換。隱式轉(zhuǎn)換可能在多種情形下發(fā)生,包括在賦值語句中和數(shù)據(jù)間混合運算時及調(diào)用方法時。前面講過數(shù)據(jù)間混合運算時,可能發(fā)生隱式轉(zhuǎn)換,稱為“數(shù)據(jù)提升”的隱式轉(zhuǎn)換應(yīng)用于算術(shù)操作符的操作數(shù)。提升基于表2.7的規(guī)則,這種轉(zhuǎn)換之所以稱為“提升”,是因為操作數(shù)是從低精度轉(zhuǎn)換為高精度。l2. 顯式轉(zhuǎn)換2022-5-2929表2.6 隱式數(shù)值轉(zhuǎn)換2022-5-2930任務(wù)2.5:隱式和強(qiáng)制數(shù)值轉(zhuǎn)換任務(wù)2.5:隱式和強(qiáng)制數(shù)值轉(zhuǎn)換l問題描述:創(chuàng)建一簡單的程序,測試隱式和強(qiáng)制數(shù)值轉(zhuǎn)換。2022-5-2931表2.7 算術(shù)提升規(guī)則2022-5-29322.2.7 算術(shù)溢出及顯式轉(zhuǎn)換溢出算術(shù)
17、運算符(+、-、*、/)產(chǎn)生的結(jié)果及顯式數(shù)值轉(zhuǎn)換的結(jié)果可能會超出目標(biāo)類型可能值的范圍。在一般情況下:可能會丟失數(shù)據(jù)或引發(fā)異常。任務(wù)2.6:算術(shù)溢出及顯式轉(zhuǎn)換溢出問題描述:創(chuàng)建一簡單的程序,測試算術(shù)溢出及顯式轉(zhuǎn)換溢出。2022-5-29332.2.8 布爾類型lbool數(shù)據(jù)類型是被解釋為true 或false的無符號值。如果某個變量只能包含“真/假”、“是/否”或“開/關(guān)”信息,則將它聲明為bool類型。lbool沒有文本類型字符。l關(guān)系運算符都返回bool類型的結(jié)果。l關(guān)系運算符為=、!=、=,關(guān)系運算符將值彼此比較,結(jié)果為一bool類型的值,詳見表2.8。l任務(wù)2.7:數(shù)值比較問題描述:創(chuàng)建
18、一簡單的程序,測試布爾型變量、關(guān)系運算符及關(guān)系表達(dá)式。2022-5-2934表2.8 關(guān)系運算符2022-5-29352.3.1 類和對象2.3.2 消息和方法2.3.3 使用現(xiàn)有的類2.3.4 創(chuàng)建自己的類2.3 面向?qū)ο蟪绦蛟O(shè)計初步2022-5-2936 面向?qū)ο蟪绦蛟O(shè)計中兩個最重要的概論是類和對象。從廣義的術(shù)語來講,對象是一個可以想象的物體,它既可是有形的也可是無形的。對象具有屬性。例如,按鈕或標(biāo)簽之類的GUI對象具有屬性,屬性是對象的特性。如按鈕具有名稱、寬度、高度和標(biāo)題等屬性。窗口具有名稱、寬度、高度、標(biāo)題和背景顏色等屬性。對象具有行為方式(方法),它們用來描述對象可以執(zhí)行的操作。例
19、如,按鈕可以被禁用、可以設(shè)置標(biāo)題。標(biāo)簽可以顯示文本。窗口可以改變大小,還可以出現(xiàn)或消失。表2.9列出了某些GUI對象及其屬性和方法。 又如,人具有姓名、性別、年齡等屬性。2.3.1 類和對象2022-5-2937 類是對象的符號表示形式,它是計算機(jī)用來創(chuàng)建對象的模板。與藍(lán)圖描述構(gòu)成建筑的項一樣,類以同樣的方式描述組成對象的屬性和方法等。就像一幅藍(lán)圖可以用于建成多座建筑一樣,一個類也可以用于根據(jù)需要創(chuàng)建多個對象。如果使用藍(lán)圖類比,類就是藍(lán)圖,對象就是基于該藍(lán)圖的建筑。又如人是一個類,你是人,我是人,都是人類的實例或稱對象。一個類描述一類事物,描述這些事物所應(yīng)具有的屬性,如人有姓名、性別、年齡等屬
20、性。一個對象是類的一個實例,它具有確定的屬性值,如王飛(人的實例)年齡是20,性別是男。人類只有一個,人類的實例可以有無數(shù)多個。2.3.1 類和對象2022-5-2938表2.9 GUI對象及其屬性和方法2022-5-2939l 在編寫面向?qū)ο蟪绦虻倪^程中,我們首先定義類,當(dāng)程序開始運行時,由這些類創(chuàng)建對象以完成任務(wù)。任務(wù)可以是計算月付款、計算總付款、格式化字符串等。為了命令類或?qū)ο髨?zhí)行一項任務(wù),我們要為其發(fā)送一個消息,例如,我們發(fā)送消息pow給Math類,以計算指數(shù)。l 處理消息的類或?qū)ο蟊匦柘鄳?yīng)編程,不能將消息隨便發(fā)送給一個類或?qū)ο?,而只能將消息發(fā)送給能夠理解這個消息的類或?qū)ο蟆L幚硭盏?/p>
21、消息的類或?qū)ο蟊仨氂袑?yīng)的方法,也就是類或?qū)ο鬄橥瓿梢豁椚蝿?wù)而執(zhí)行的指令序列。只能有對象調(diào)用的方法為實例方法,否則是靜態(tài)方法,靜態(tài)方法將在第5章詳細(xì)講述。向?qū)ο蟀l(fā)送消息使對象調(diào)用方法,向類發(fā)送消息將調(diào)用類的方法。注意,發(fā)送給類或?qū)ο蟮南⒈仨毰c方法的名稱相同。向類或?qū)ο蟀l(fā)送調(diào)用方法的消息,可能以參數(shù)的形式來發(fā)送值。2.3.2 消息和方法2022-5-2940再看一個靜態(tài)方法的例子。Math類定義了靜態(tài)方法pow,該方法按參數(shù)指定的值,計算指數(shù)。由于Math類有靜態(tài)方法pow的定義,我們可以向Math類發(fā)送pow消息,按參數(shù)指定的值,計算指數(shù)。如以下代碼計算23的值,并賦給變量b:double
22、b = Math.pow(2,3);圖2.14描述了消息的發(fā)送過程。方法可能返回值也可能不返回值,這要看方法的定義。在后面的章節(jié)中我們將講述方法的定義。2.3.2 消息和方法2022-5-29412.3.2 消息和方法2022-5-2942l 前面章節(jié)我們已經(jīng)使用了.NET類庫中的類,如Math類、MessageBox類。下面我們使用.NET類庫中的類String。1. String類l任務(wù)2.8:文字游戲l 編寫一個與用戶一起玩的Eggy-Peggy文字游戲的應(yīng)用程序,該程序把用戶指定的字符串轉(zhuǎn)換為新字符串,在指定字符串的所有元音字母前增加“egg”單詞。如圖2.15所示。2.3.3 使用現(xiàn)有的類2022-5-29432.3.3 使用現(xiàn)有的類2022-5-2944l String類l聲明對象(對象變量): 類名 對象名;l創(chuàng)建對象:new 類名(參數(shù)列表);l消息傳遞(調(diào)用方法或讀取或設(shè)置屬性的值)l 對象名.方法名(參數(shù)列表)l 對象名.屬性名(可選參數(shù))l 對象名.屬性名=表達(dá)式l匿名對象l對象初始化方法
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漢字筆順的課件
- 漢字的構(gòu)造及分類課件
- 廣東省肇慶市2024-2025學(xué)年高二下學(xué)期期末考試物理試題(含答案)
- 工廠車間承包合同(5篇)
- 2024-2025學(xué)年廣東省揭陽市普寧市二中七年級(下)第一次月考數(shù)學(xué)試卷(含答案)
- 《史記》的當(dāng)代價值轉(zhuǎn)換知到智慧樹答案
- 年度個人先進(jìn)工作總結(jié)
- 《Android移動應(yīng)用開發(fā)基礎(chǔ)》知到智慧樹答案
- 能源環(huán)保產(chǎn)業(yè)前景分析報告
- 2024年秋新北師大版數(shù)學(xué)一年級上冊 第四單元 一起做游戲 教學(xué)課件
- 2025版《折彎機(jī)安全操作規(guī)程》全
- 2024版標(biāo)準(zhǔn)性二手車貸款合同模板(含車況鑒定)3篇
- 孕期陰道炎的健康宣教
- DB32-T 4467-2023 南美白對蝦小棚養(yǎng)殖尾水生態(tài)化處理技術(shù)規(guī)程
- 31個工種安全技術(shù)交底
- 人工智能概論課件完整版
- 管道承諾質(zhì)量保證書范本
- 門窗訂購電子合同模板
- 渠道襯砌施工方案(渠道預(yù)制混凝土塊)
- 臺州市開發(fā)投資集團(tuán)有限公司招聘筆試題庫2024
- 達(dá)州事業(yè)單位筆試真題2024
評論
0/150
提交評論