《CSharp語言基礎(chǔ)》PPT課件.ppt
《《CSharp語言基礎(chǔ)》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《CSharp語言基礎(chǔ)》PPT課件.ppt(53頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Visual C# 程序設計基礎(chǔ) XXXXXX大學計算機系基礎(chǔ)教研室,第3章 簡單C#程序設計,3.1 C#程序結(jié)構(gòu) 3.2 變量和常量 3.3 常用數(shù)據(jù)類型 3.4 C#語言的運算符和表達式 小結(jié)和習題,3.1 面向?qū)ο蟮母拍?3.1.1 組成要素 1.關(guān)鍵字 在C#代碼中常常使用關(guān)鍵字,關(guān)鍵字也叫保留字,是有特定意義的字符串。關(guān)鍵字在Visual Studio .NET環(huán)境的代碼視圖中默認以藍色顯示,所以在編輯器中用戶可以通過顏色識別該關(guān)鍵字是否是標識符。 例如,代碼中的using、namespace、class、static、void等,均為C#的關(guān)鍵字。,3.1 面向?qū)ο蟮母拍?3.1
2、.1組成要素 2.命名空間 系統(tǒng)命名空間(System) 使用using關(guān)鍵字導入,是Visual Studio .NET中的最基本的命名空間. 命名空間System是.NET基礎(chǔ)類庫的根命名空間,根據(jù)功能分成若干個子命名空間,如System.Collections..Generic、System. ComponentModel、 System.Drawing、System.Windows.Forms等等 用戶自定義命名空間,3.1 面向?qū)ο蟮母拍?3.1.1組成要素 3.類和方法 C#中,必須用類來組織程序的變量與方法。 C#要求每個程序必須且只能有一個“Main”方法。 “Main”方法必
3、須放在某一個類中。 “Main”方法是應用程序的入口。,3.1 面向?qū)ο蟮母拍?3.1.1組成要素 4.語句 C#應用程序中執(zhí)行操作的指令,一條語句就是執(zhí)行一個動作的命令。C#中的語句必須用分號“;”結(jié)尾。 例如:Console.WriteLine(“Hello World!”);,語句就是C#應用程序中執(zhí)行操作的指令,一條語句就是執(zhí)行一個動作的命令。C#中的語句必須用分號“;”結(jié)尾。例如: Console.WriteLine(“Hello World!”);,3.1 面向?qū)ο蟮母拍?3.1.1組成要素 4.大括號 在C#中,括號“”和“”是一種范圍標志,是組織代碼的一種方式,用于標識
4、應用程序中邏輯上有緊密聯(lián)系的一段代碼的開始與結(jié)束。 大括號可以嵌套,以表示應用程序中的不同層次。 例如:Console.WriteLine(“Hello World!”);,語句就是C#應用程序中執(zhí)行操作的指令,一條語句就是執(zhí)行一個動作的命令。C#中的語句必須用分號“;”結(jié)尾。例如: Console.WriteLine(“Hello World!”);,3.1.2 C#程序的格式,1. 縮進與空格 縮進用于表示代碼的結(jié)構(gòu)層次,在程序設計中應該使用統(tǒng)一的縮進格式書寫代碼。 空格有兩種作用: 語法要求 ,必須遵守; 避免語句擁擠。 例如:int ia = 3;,3.1.2 C#程序的格
5、式,2. 字母大小寫 C#中的字母可以大小寫混合,但是必須注意的是,C#把同一字母的大小寫當作兩個不同的字符對待。 如:大寫“A”與小寫“a”對C#來說,是兩個不同的字符。,3.1.2 C#程序的格式,3. 注釋 C#中的注釋基本有兩種: 單行注釋。單行注釋以雙斜線“// ”開始,不能換行。 多行注釋。多行注釋以“/*”開始,以“*/”結(jié)束,可以換行。,3.1.3 標識符與用法約定,標識符 標識符是給變量、用戶定義的類型(例如類和結(jié)構(gòu))和這些類型的成員指定的名稱,以識別程序中的不同元素(如:變量名、類名等) 標識符的命名規(guī)則: 標識符只能使用數(shù)字、字母、下劃線; 標識符開頭第一個字符必
6、須是字母或下劃線; 不能把C#關(guān)鍵字用作標識符; C#標識符區(qū)分大小寫。,3.1.3 標識符與用法約定,2. 關(guān)鍵字 C#中有76 個關(guān)鍵字,3.1.3 標識符與用法約定,3. 用法約定 命名變量時通常不使用前綴。 變量名應當體現(xiàn)變量的功能。 處理控件時,盡量使用能說明變量類型的名稱。如:ConfirmationDialog、ChosseEmployeeListBox 第一個字母大寫。 命名空間、類、以及基類中的成員等的名稱都應遵循該規(guī)則。如:EmployeeSalary、ConfirmationDialog。 最好不要使用下劃線。如:employee_salary。 常量也應遵循該規(guī)則
7、。如:Const int MaximumLength;,3.1.3 標識符與用法約定,3. 用法約定 使用camel大小寫形式。通常用于以下三種情況下: 類型中所有私有成員字段名稱; 傳遞給方法的參數(shù); 用于區(qū)分同名的兩個對象,比較常見的是屬性封裝一個字段。 如:employeeSalary、confirmationDialog。 風格應保持一致。 如:若一個方法叫ShowConfirmationDialog,那么另一個就不要叫ShowDialogWarning,應叫ShowWarningDialog。,3.1 建立簡單的應用程序,【例3-1】程序舉例 using System; publi
8、c sealed class P3_1 public static void Main() int result; result = 9 * 6; int thirteen; thirteen = 13; Console.WriteLine(result / thirteen); Console.WriteLine(result % thirteen); ,3.2 變量和常量,3.2.1 變量含義 變量是指在程序運行過程中其值可以不斷變化的量。 變量通常用來保存程序運行過程中的輸入數(shù)據(jù)并計算獲得的中間結(jié)果和最終結(jié)果。 每個變量都具有一個類型,它確定哪些值可以存儲
9、在該變量中。 變量的命名規(guī)則必須符合標識符的命名規(guī)則,并且變量名要有意義,以便閱讀,例如學生成績的命名可以為studentGrade。,3.2 變量和常量,3.2.2 變量聲明 變量必須先聲明后使用 1變量聲明 格式: 數(shù)據(jù)類型 變量名; 其中,是可選項,訪問修飾符可以是public、private、protected、internal 或 protected internal等。 例如: int number; // 聲明一個整型變量 bool open; // 聲明一個布爾型變量 decimal bankBlance; // 聲明一個十進制變量,3.2 變量和常量,3.2.2 變量聲明 1
10、變量聲明 如果一次聲明多個變量,變量名之間用逗號分隔,格式: 數(shù)據(jù)類型 變量名1,; 例如: sbyte a , b; // 聲明兩個有符號字節(jié)型變量 double x , y , z; // 聲明三個雙精度實型變量,3.2 變量和常量,3.2.2 變量聲明 2變量賦值 變量必須賦值后才能引用 為變量賦值需使用賦值號“=” 例如: 定義變量,直接賦值:int number1=32; 先定義變量,后進行賦值: int number1; number1 = 32; 使用變量為變量賦值:int number2; number2=number1;,3.2 變量和常量,3.2.3 常量 常量是在編譯時已
11、知的值在程序的生存周期內(nèi)始終不變的量。 1直接常量 常量必須在聲明時初始化,格式: const 數(shù)據(jù)類型 常量名=常量值; 例如:public const int months = 12; 常量在使用的過程中,不可以對其進行賦值改變,否則系統(tǒng)會自動報錯。,3.2 變量和常量,3.2.3 常量 2符號常量 符號常量使用const關(guān)鍵字聲明,格式: const 數(shù)據(jù)類型 常量名=常量表達式; “常量表達式”的意義在于該表達式不能包含變量及函數(shù)等值會發(fā)生變化的內(nèi)容,但可以包含其他已定義常量。 例如: const double PI = 3.1415926; 符號常量不能出現(xiàn)在賦值號的左邊。,3.2
12、 變量和常量,3.2.3 常量 2符號常量 說明: (1)可以同時聲明多個相同類型的常量 例如:const int months = 12, weeks = 52, days = 365; (2)如果不會造成循環(huán)引用,用于初始化一個常量的表達式可以引用另一個常量。例如: const int months = 12,weeks = 52,days = 365; const double daysPerWeek = (double)days / (double)weeks; const double daysPerMonth = (double)days / (double)months;,3
13、.2 變量和常量,3.2.3 常量 2符號常量 說明: (3)常量可標記為 public、private、protected、internal 或 protected internal。這些訪問修飾符定義類的用戶訪問該常量的方式。 (4)未包含在定義常量的類中的表達式必須使用類名、一個句點和常量名來訪問該常量。例如: int birthstones = Calendar.months; (5)如果在程序中強制修改常量的值,就會發(fā)生錯誤。 (6)常量通常用于:程序中一旦設定就不允許被修改的值(如圓周率);程序中被經(jīng)常引用的值。,3.2 變量和常量,3.2.4 應用實例 【例3-2 】設計一個Wi
14、ndows窗體應用程序,輸入速度和時間,計算行使路程,如圖所示,3.3 常用數(shù)據(jù)類型,3.3 常用數(shù)據(jù)類型,3.3.1 數(shù)值類型 1. 整數(shù)類型 整型常量 整型常量即整數(shù),整型常量有三種形式: 十進制形式,即通常意義上的整數(shù),如12,123,48910等。 八進制形式,輸入八進制整型常量,需要在數(shù)字前面加“0”,如,0123,038等。 十六進制形式,輸入十六進制整型常量,需要在數(shù)字前面加“0 x”或“0X”,如,0 x123,0X48910等。 (2) 整型變量 整數(shù)類型的變量的值為整數(shù),整型變量可分為以下幾類: 有符號整數(shù)包括sbyte(符號字節(jié)型)、short(短整型)、int(整型)、
15、long(長整型); 無符號整數(shù)包括byte(字節(jié)型)、ushort(無符號短整型)、uint(無符號整型)、ulong(無符號長整型)。,3.3 常用數(shù)據(jù)類型,3.3.1 數(shù)值類型 1. 整數(shù)類型,3.3 常用數(shù)據(jù)類型,3.3.1 數(shù)值類型 1. 整數(shù)類型 (3) 整型變量的聲明 變量聲明的形式為: 數(shù)據(jù)類型說明符 變量名標識符1,變量名標識符2,...; 而對整型變量而言,類型說明符可以是int、long、unsigned等等。例如: int a,b,c; // a,b,c為整型變量 long x,y; // x,y為長整型變量 unsigned p,q; // p,q為無符號整型變
16、量 定義一個變量,意味著在內(nèi)存中給這個變量分配相應大小的存儲空間,同時確定這個變量值的存儲方式和可以進行的操作。,3.3 常用數(shù)據(jù)類型,3.3.1 數(shù)值類型 2. 實數(shù)類型 實型常量 實型常量又稱實數(shù)或浮點數(shù),即帶小數(shù)的數(shù)值,實型常量有兩種表示形式: 小數(shù)形式,如0.123,12.3,.123等等。 指數(shù)形式,由底數(shù)加大寫的E或小寫的e加指數(shù)組成,如123e5或123E5都表示123105。 注意:小數(shù)形式表示的實型常量必須要有小數(shù)點。 (2) 實型變量 實數(shù)類型的變量的值為實數(shù),實型變量可分為以下兩類: 單精度(float) 雙精度(double),3.3 常用數(shù)據(jù)類型,3.3.1 數(shù)值類型
17、 2. 實數(shù)類型,3.3 常用數(shù)據(jù)類型,3.3.1 數(shù)值類型 1. 實數(shù)類型 (3) 實型變量的聲明 實型變量聲明的形式為: 數(shù)據(jù)類型說明符 變量名標識符1,變量名標識符2,...; 而對整型變量而言,類型說明符可以是float、double、long double。例如: float a,b,c; // a,b,c為實型變量 double x,y; // x,y為長實型變量 long double p,q; // p,q為無符號實型變量,3.3 常用數(shù)據(jù)類型,using System; using System.Collections.Generic; using System.Lin
18、q; using System.Text; namespace P3_3 class RealNumber public static void Main( ) float f = System.Single.PositiveInfinity; SpecialRealValue(f); f = System.Single.NegativeInfinity; SpecialRealValue(f); f =System.Single.NaN; SpecialRealValue(f); public static void SpecialRealValue( float f1) float
19、 f2=-1*f1; double d1=1/f1; double d2=-1/d1; Console.WriteLine(-1*0 = 1,f1,f2); Console.WriteLine(1/0 = 1,f1,d1); Console.WriteLine(-1/0 = 1, d1,d2); ,【例3-3 】特殊數(shù)值的計算,3.3 常用數(shù)據(jù)類型,3.3.2字符和字符串類型 字符類型 字符類型為由一個字符組成的字符常量或字符變量。 (1) 字符常量 字符常量聲明的格式為: const 字符常量 = 字符; 字符常量用一對英文單引號界定,如,A,a,+,漢 等。 轉(zhuǎn)義字符,有些字符不能直接放
20、在單引號中作為字符常量,這時需要使用轉(zhuǎn)義符來表示這些字符常量,轉(zhuǎn)義符由反斜杠“”加字符組成,如 n 。,3.3 常用數(shù)據(jù)類型,3.3.2字符和字符串類型 字符類型 (2) 字符變量 字符變量聲明格式: char 字符變量名 ; 字符變量初始化: char 字符變量名 = 字符常量 ; C#支持Unicode字符集。 char(字符型):數(shù)據(jù)范圍是065535之間的Unicode字符集中的單個字符,占用2個字節(jié)。 char(字符型)表示無符號16位整數(shù),它的可能值集與Unicode字符集相對應。,3.3 常用數(shù)據(jù)類型,3.3.2 字符和字符串類型 常用轉(zhuǎn)義字符,3.3 常用數(shù)據(jù)類型,3.3.2字
21、符和字符串類型 2. 字符串類型--string (1) 字符串常量 字符串常量是由一對雙引號界定的字符序列 例如:teacher and student. (2) 字符串變量 字符串變量聲明的格式: string 字符串變量; 例如:string str3; 變量聲明的同時,還可以對變量初始化,例如: string str1=C#語言; string str2=程序設計;,3.3 常用數(shù)據(jù)類型,3.3.2字符和字符串類型 2. 字符串類型--string (2) 字符串變量 合并字符串只需在需要合并的子字符串間使用連接運算符“+”,例如: string myString=歡迎使用 + C#
22、!; string greeting = Hello, World!; str3=str1+str2; //str3的值為:C#語言程序設計,3.3 常用數(shù)據(jù)類型,3.3.3 布爾類型和對象類型 布爾類型--bool 表示布爾邏輯量。數(shù)據(jù)范圍是“true”(真)和“false ”,占用一個字節(jié) (1) 布爾常量 布爾常量即布爾值本身,布爾值true(真)和false(假)是C#的兩個關(guān)鍵字 (2) 布爾變量 bool 變量標識符 = 布爾值; 【例3-4】bool類型舉例,3.3 常用數(shù)據(jù)類型,3.3.3 布爾類型和對象類型 2. 對象類型object 可以表示任何類型的值,占用字節(jié)視具體表
23、示的數(shù)據(jù)類型而定。 C#中的每種類型都是直接或間接從object類型派生的。 例如: int x1=123; double x2=34.56; object y1,y2; //聲明y1,y2是object類型的變量,3.3 常用數(shù)據(jù)類型,3.3.4 枚舉類型 枚舉(enum)是值類型的一種特殊形式,基本格式如下: 修飾符 enum 枚舉類型名: 基類型 由逗號分隔的枚舉數(shù)標識符 ; 例如: enum Days Sun,Mon,Tue,Wed,Thu,Fri,sat; enum Days Mon=1,Tue,Wed,Thu,Fri,Sat,Sun; enum MonthNames January
24、=31,February=28,March=31,April=30; enum MonthNames : byte January=31, February=28, March=31, April=30 ;,3.3 常用數(shù)據(jù)類型,3.3.5 引用類型 類(class):一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象集合。 接口(interface) 委托(delegate) 數(shù)組(array):包含若干相同類型元素的一組變量。,3.3 常用數(shù)據(jù)類型,3.3.6 類型轉(zhuǎn)換 1. 隱式轉(zhuǎn)換 遵守“由低級(字節(jié)數(shù)和精度)類型向高級類型轉(zhuǎn)換,結(jié)果為高級類型”的原則。 例如: string a,b; a=10+”
25、12”; double x=3.1415; int y=21; double z=x+y;,3.4 運算符和表達式,運算符大致分為3類: 一元運算符,包括前綴運算符和后綴運算符,用于處理一個操作數(shù) 二元運算符,使用時在操作數(shù)中間插入運算符,用于處理兩個操作數(shù) 三元運算符,使用時在操作數(shù)中間插入運算符,用于處理三個操作數(shù),3.4 運算符和表達式,C#語言運算符,3.4.1運算符與表達式類型,1. 算術(shù)運算符與算術(shù)表達式 一元運算符:-(取負)、+(取正)、++(增量)、--(減量)。 二元運算符:+(加)、-(減)、*(乘)、/(除)、%(求余)。 自增++和自減- - ( 例3-5 ) ++
26、(或- -)在前,如y=++(或- -)x,表示先將x值做++(或- -)運算,然后再賦值給y; ++(或- -)在后,如y=x++(或- -),表示先將x值賦值給y,然后再將x值做++(或- -)運算; 乘法運算時的溢出現(xiàn)象,3.4.1運算符與表達式類型,2.字符串運算符與字符串表達式 字符串運算符只有一個,即“+”運算符,表示將兩個字符串連接起來。 例如: string connec=abcd+ef; // connec的值為“abcdef” “+”運算符還可以將字符型數(shù)據(jù)與字符串型數(shù)據(jù)或多個字符型數(shù)據(jù)連接在一起,例如: string connec=abcd+e+f; // conne
27、c的值為“abcdef”,3.4.1運算符與表達式類型,3. 關(guān)系運算符與關(guān)系表達式 關(guān)系運算符的作用是比較兩操作數(shù)的大小,如表所示。 關(guān)系運算符都是二元運算符,左右操作數(shù)都是表達式,返 回 布 爾 類 型 的值true或 false。,3.4.1運算符與表達式類型,4. 邏輯運算符與邏輯表達式 邏輯運算符是!(非)、 // b3的值為true,3.4.1運算符與表達式類型,5. 條件運算符與條件表達式 條件運算符是C#中唯一的三元運算符,條件運算符由符號“?”與“:”組成,通過操作三個操作數(shù)完成運算,一般格式為: 布爾類型表達式?表達式1:表達式2 條件運算符的功能為:如果關(guān)系表達式的值
28、是true,則條件運算表達式得到的值為表達式1的值,否則為表達式2的值。 例如: x0?x:-x //判斷表達式x0的值,如果是true結(jié)果為x,如果是false結(jié)果為-x,3.4.1運算符與表達式類型,6. 賦值運算符與賦值表達式 賦值就是給一個變量賦一個新值。在賦值表達式中,賦值運算符左邊的操作數(shù)必須是一個變量。 (1)簡單賦值運算符 “=”運算符被稱為簡單賦值運算符。賦值表達式的格式: 變量=表達式 在一個簡單賦值中,如果賦值運算符兩邊的操作數(shù)類型不一致,那就先要進行類型轉(zhuǎn)換。若使其自動發(fā)生類型轉(zhuǎn)換需符合下面條件: 兩個類型是兼容的。 目的類型比源類型的取值范圍大。 C#中可以對變量進行
29、連續(xù)賦值,這時賦值運算符是右關(guān)聯(lián)的,意味著從右向左運算符被分組。 例如,a=b=c的表達式等價于a=(b=c)。,3.4.2 運算符的優(yōu)先級與結(jié)合性,1. 運算符的優(yōu)先級 一元運算符的優(yōu)先級高于二元和三元運算符。 不同種類運算符的優(yōu)先級有高低之分,算術(shù)運算符的優(yōu)先級高于關(guān)系運算符,關(guān)系運算符的優(yōu)先級高于邏輯運算符,邏輯運算符的優(yōu)先級高于條件運算符,條件運算符的優(yōu)先級高于賦值運算符。 有些同類運算符優(yōu)先級也有高低之分,在算術(shù)運算符中,乘、除、求余的優(yōu)先級高于加、減;在關(guān)系運算符中,小于、大于、小于等于、大于等于的優(yōu)先級高于相等與不等;邏輯運算符的優(yōu)先級按從高到低排列為非、與、或。 可以使用圓括號明確運算順序。,本章小結(jié),關(guān)鍵字 運算符和表達式 語句 常量、變量 常用的數(shù)據(jù)類型,習 題,1. 選擇題(P. ) (1) (12) 2. 填充題 (1) (2) 3. 問答題 (1) (3) 3. 編程題 (1) (3),
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。