C語(yǔ)言入門(mén)簡(jiǎn)單教程PPT課件_第1頁(yè)
C語(yǔ)言入門(mén)簡(jiǎn)單教程PPT課件_第2頁(yè)
C語(yǔ)言入門(mén)簡(jiǎn)單教程PPT課件_第3頁(yè)
C語(yǔ)言入門(mén)簡(jiǎn)單教程PPT課件_第4頁(yè)
C語(yǔ)言入門(mén)簡(jiǎn)單教程PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1 C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)第1頁(yè)/共44頁(yè)2教學(xué)重點(diǎn) 命名空間 使用創(chuàng)建C#程序 C#數(shù)據(jù)類(lèi)型 C#程序結(jié)構(gòu) 類(lèi)和對(duì)象 面向?qū)ο蟪绦蛟O(shè)計(jì)的三個(gè)特性第2頁(yè)/共44頁(yè)3C#簡(jiǎn)介 C#是Microsoft公司專(zhuān)為.NET開(kāi)發(fā)平臺(tái)而設(shè)計(jì)的、完全面向?qū)ο蟮木W(wǎng)絡(luò)編程語(yǔ)言。 C#是從C和C+發(fā)展而來(lái)的。 利用C#語(yǔ)言既可以編寫(xiě)Windows應(yīng)用程序和控制臺(tái)程序,又可以編寫(xiě)Web程序等。第3頁(yè)/共44頁(yè)4命名空間 開(kāi)發(fā)一個(gè)大型工程的時(shí)候,可能會(huì)用到很多對(duì)象,需要?jiǎng)?chuàng)建很多類(lèi),而且有的時(shí)候類(lèi)的名稱(chēng)會(huì)有沖突。 使用命名空間不僅可以消除名稱(chēng)沖突,而且有助于很好地組織整個(gè)工程。 C#的程序代碼以類(lèi)、結(jié)構(gòu)、接口等形式存放在命

2、名空間中。第4頁(yè)/共44頁(yè)5命名空間的聲明和使用1、聲明:namespace 命名空間名 /命名空間的成員2、有兩種使用方法: 使用引用的全稱(chēng):命名空間名.類(lèi)名.方法名如:System.Console.WriteLine(“Hello!”) 利用using語(yǔ)句導(dǎo)入命名空間,然后直接使用類(lèi)名。using 命名空間名第5頁(yè)/共44頁(yè)6使用創(chuàng)建C#程序1.打開(kāi)VS2005,選擇“文件”“新建項(xiàng)目”。2.在“新建項(xiàng)目”對(duì)話框中,選擇“控制臺(tái)應(yīng)用程序”,輸入項(xiàng)目名稱(chēng)和項(xiàng)目創(chuàng)建位置。3.在代碼編輯器中輸入相應(yīng)代碼。4.選擇“調(diào)試”“啟動(dòng)”運(yùn)行程序。(或按F5)第6頁(yè)/共44頁(yè)7/這是用 C# 編寫(xiě)的一個(gè)簡(jiǎn)

3、單的 HelloWorld 程序using System;namespace Notepadclass HelloWorldstatic void Main()Console.WriteLine(Hello World);聲明 HelloWorld 類(lèi)描述代碼的注釋Hello World 程序程序程序入口點(diǎn), Main 的返回類(lèi)型為 void控制臺(tái)類(lèi)的 WriteLine() 方法用于顯示輸出結(jié)果導(dǎo)入 System 命名空間聲明命名空間 Notepad將文件保存為將文件保存為 第7頁(yè)/共44頁(yè)8數(shù)據(jù)類(lèi)型 值類(lèi)型 簡(jiǎn)單類(lèi)型 結(jié)構(gòu)類(lèi)型 枚舉類(lèi)型 引用類(lèi)型 對(duì)象類(lèi)型 字符串類(lèi)型 類(lèi)類(lèi)型 接口類(lèi)型 委

4、托類(lèi)型 數(shù)組類(lèi)型 兩者的區(qū)別在于進(jìn)行存取時(shí),值類(lèi)型的變量直接存儲(chǔ)其數(shù)據(jù),而引用類(lèi)型的變量則存儲(chǔ)其在系統(tǒng)中對(duì)應(yīng)的存儲(chǔ)地址。 第8頁(yè)/共44頁(yè)9值類(lèi)型 簡(jiǎn)單類(lèi)型 整數(shù)類(lèi)型:sbyte、byte、short、ushort、int、uint、long、ulong 布爾(bool)類(lèi)型(True | False) 字符(char)類(lèi)型(注意:轉(zhuǎn)義符) 浮點(diǎn)類(lèi)型:float、double 小數(shù)(decimal)類(lèi)型結(jié)構(gòu)類(lèi)型 struct 枚舉類(lèi)型 enum第9頁(yè)/共44頁(yè)10引用類(lèi)型 對(duì)象類(lèi)型 object 字符串類(lèi)型 string 類(lèi)類(lèi)型 class 接口類(lèi)型 interface 委托類(lèi)型 delega

5、te 數(shù)組類(lèi)型 array第10頁(yè)/共44頁(yè)11語(yǔ)句和注釋 語(yǔ)句是一個(gè)基本的指令單位。包括說(shuō)明語(yǔ)句、表達(dá)式語(yǔ)句和流程控制語(yǔ)句等,一般以分號(hào)(;)結(jié)尾 注釋就是在程序中標(biāo)記、說(shuō)明某個(gè)程序段的作用,它是不會(huì)被執(zhí)行的 /單行注釋 /* 多行注釋 */第11頁(yè)/共44頁(yè)12標(biāo)識(shí)符 正確: a hello this_is_valid Color Color1 _Color1 錯(cuò)誤: 1testthis is invalid $test If 關(guān)鍵字見(jiàn)課本P77第12頁(yè)/共44頁(yè)13 所謂常量,就是在程序的運(yùn)行過(guò)程中其值不能被改變的量。常量的類(lèi)型也可以是任何一種C#的數(shù)據(jù)類(lèi)型。 常量的定義格式如下: co

6、nst 常量數(shù)據(jù)類(lèi)型 常量名常量值;第13頁(yè)/共44頁(yè)14變量 所謂變量,就是在程序的運(yùn)行過(guò)程中其值可以被改變的量,變量的類(lèi)型可以是任何一種C#的數(shù)據(jù)類(lèi)型。所有值類(lèi)型的變量具有實(shí)際存在于內(nèi)存中的值,也就是說(shuō)當(dāng)將一個(gè)值賦給變量是執(zhí)行的是值拷貝操作。 變量的定義格式和常量的有些類(lèi)似,只是沒(méi)有了const關(guān)鍵字,其定義格式如下: 變量數(shù)據(jù)類(lèi)型 變量名;或:變量數(shù)據(jù)類(lèi)型 變量名變量值;第14頁(yè)/共44頁(yè)15 .Net的類(lèi)型分為兩種,一種是值類(lèi)型,另一種是引用類(lèi)型。這兩個(gè)類(lèi)型的本質(zhì)區(qū)別,值類(lèi)型數(shù)據(jù)是分配在棧中,而引用類(lèi)型數(shù)據(jù)分配在堆上。那么如果要把一個(gè)值類(lèi)型數(shù)據(jù)放到堆上,就需要裝箱操作;反之,把一個(gè)放在

7、堆上的值類(lèi)型數(shù)據(jù)取出來(lái),則需要進(jìn)行拆箱操作。 例:int i =123; object o = i;/裝箱 int j = (int)o;/拆箱 第15頁(yè)/共44頁(yè)16第16頁(yè)/共44頁(yè)17運(yùn)算符 算術(shù)運(yùn)算符 加+ 減- 乘* 除/ 取余% 自加+ 自減- 位邏輯運(yùn)算符 按位與& 按位或| 按位取反 按位異或 第17頁(yè)/共44頁(yè)18運(yùn)算符 邏輯運(yùn)算符 邏輯與& 邏輯或| 邏輯非! 條件運(yùn)算符?: 操作數(shù)1?操作數(shù)2:操作數(shù)3第18頁(yè)/共44頁(yè)19運(yùn)算符 關(guān)系運(yùn)算符 等于= = 不等于! = 小于 小于等于= 對(duì)象創(chuàng)建運(yùn)算符 例:Class1 obj=new Class1()第1

8、9頁(yè)/共44頁(yè)20運(yùn)算符的優(yōu)先級(jí)第20頁(yè)/共44頁(yè)21C#程序結(jié)構(gòu) 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu)第21頁(yè)/共44頁(yè)22分支語(yǔ)句if 語(yǔ)句if(表達(dá)式) 代碼1; else 代碼2; switch語(yǔ)句 switch(表達(dá)式) case 常量1: 語(yǔ)句1; break; default: 語(yǔ)句n; break;第22頁(yè)/共44頁(yè)23循環(huán)語(yǔ)句 for循環(huán)for(for-initializer;for-condition;for-iterator) 語(yǔ)句塊; while循環(huán) while(條件表達(dá)式)語(yǔ)句塊; do循環(huán) do語(yǔ)句塊; while(條件表達(dá)式); foreach循環(huán) foreach(類(lèi)型

9、變量名 in 數(shù)組名/集合名) 語(yǔ)句塊; 第23頁(yè)/共44頁(yè)24foreach語(yǔ)句的用法int odd=0,even=0;int arr=0,1,2,3,7,23,40;foreach (int i in arr) if(i%2=0) even+; else odd+;Console.WriteLine(“奇數(shù)的個(gè)數(shù)為:0,偶數(shù)的個(gè)數(shù)為:1”,odd,even);第24頁(yè)/共44頁(yè)25跳轉(zhuǎn)語(yǔ)句 break語(yǔ)句 :終止并跳出循環(huán) continue語(yǔ)句 :終止當(dāng)前的循環(huán),重新開(kāi)始一個(gè) 新的循環(huán) goto語(yǔ)句:跳轉(zhuǎn)到指定的位置(建議不要使用) return語(yǔ)句:跳出循環(huán),將控制權(quán)返回給包含該retu

10、rn語(yǔ)句的函數(shù)成員的調(diào)用程序。 throw語(yǔ)句:拋出一個(gè)異常第25頁(yè)/共44頁(yè)26異常處理語(yǔ)句 異常是程序執(zhí)行時(shí)遇到的任何錯(cuò)誤情況或意外行為。 以下這些情況都可以引發(fā)異常: 用戶(hù)錯(cuò)誤的輸入 內(nèi)存不夠、網(wǎng)絡(luò)資源不可用 磁盤(pán)出錯(cuò)、數(shù)據(jù)庫(kù)無(wú)法使用等 每種語(yǔ)言都使用 Try/Catch/Finally 形式的結(jié)構(gòu)化異常處理。 將可能引發(fā)異常的代碼節(jié)放在Try塊中 將處理異常的代碼放在Catch塊中。 Finally塊總是執(zhí)行,不論是否有異常發(fā)生。第26頁(yè)/共44頁(yè)27異常處理語(yǔ)句流程try /執(zhí)行的代碼,其中可能有異常。一旦發(fā)現(xiàn)異常,則立即跳到catch執(zhí)行。否則不會(huì)執(zhí)行catch里面的內(nèi)容 catc

11、h /除非try里面執(zhí)行代碼發(fā)生了異常,否則這里的代碼不會(huì)執(zhí)行 finally /不管什么情況都會(huì)執(zhí)行,包括try catch 里面用了return ,可以理解為只要執(zhí)行了try或者catch,就一定會(huì)執(zhí)行 finally 第27頁(yè)/共44頁(yè)28示例:處理除數(shù)為0的異常using System;namespace yichang class Class1 static void Main(string args) try第28頁(yè)/共44頁(yè)29 Console.WriteLine(“請(qǐng)輸入除數(shù)!”); int i=int.Parse(Console.Readline(); Console.Wri

12、teLine(“1000除以0=1”,i,1000/i);catch(DivideByZeroException e) Console.WriteLine(“除以0異常0”,e);Console.Read();第29頁(yè)/共44頁(yè)30定義類(lèi) C#中提供了很多標(biāo)準(zhǔn)的類(lèi),用戶(hù)在開(kāi)發(fā)過(guò)程中可以使用這些類(lèi),這樣大大節(jié)省了程序的開(kāi)發(fā)時(shí)間。 類(lèi)的定義方法如下: 類(lèi)修飾符 class 類(lèi)名:父類(lèi)名 成員修飾符 類(lèi)的成員變量或者成員函數(shù); ;第30頁(yè)/共44頁(yè)31類(lèi)修飾符第31頁(yè)/共44頁(yè)32類(lèi)的成員 變量成員:不以函數(shù)形式體現(xiàn) 常量 變量 事件 類(lèi)型 函數(shù)成員:以函數(shù)形式體現(xiàn) 方法 屬性 索引指示器 運(yùn)算符

13、構(gòu)造函數(shù) 析構(gòu)函數(shù)第32頁(yè)/共44頁(yè)33成員修飾符第33頁(yè)/共44頁(yè)34類(lèi)的定義示例class ClassA / 定義類(lèi)ClassA public int a; /聲明變量成員 private int b; protected int c; public void SetA() /聲明函數(shù)成員 a=1; b=2; c=3; 第34頁(yè)/共44頁(yè)35對(duì)象的創(chuàng)建 類(lèi)定義后,需要通過(guò)new運(yùn)算符來(lái)創(chuàng)建類(lèi)的實(shí)例即對(duì)象。 創(chuàng)建對(duì)象的格式: 類(lèi)名 實(shí)例名=new 類(lèi)名(參數(shù)列表) new運(yùn)算符的作用是調(diào)用類(lèi)的構(gòu)造函數(shù)來(lái)完成對(duì)象的初始化工作。如: ClassA c1=new ClassA();第35頁(yè)/共44

14、頁(yè)36構(gòu)造函數(shù) 構(gòu)造函數(shù)是當(dāng)類(lèi)被實(shí)例化時(shí)首先執(zhí)行的函數(shù),就是new關(guān)鍵字后面的函數(shù)。 當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),系統(tǒng)首先給對(duì)象分配合適的內(nèi)存空間,隨后系統(tǒng)就自動(dòng)調(diào)用對(duì)象的構(gòu)造函數(shù)。因此構(gòu)造函數(shù)是對(duì)象執(zhí)行的入口函數(shù),非常的重要。 如果要定義構(gòu)造函數(shù),那么構(gòu)造函數(shù)的函數(shù)名必須和類(lèi)名一樣。 構(gòu)造函數(shù)示例見(jiàn)P104-105第36頁(yè)/共44頁(yè)37析構(gòu)函數(shù) 析構(gòu)函數(shù)是當(dāng)實(shí)例對(duì)象從內(nèi)存中刪除前最后執(zhí)行的函數(shù)。 析構(gòu)函數(shù)在類(lèi)撤銷(xiāo)時(shí)運(yùn)行,常用來(lái)處理類(lèi)用完后的收尾工作。 析構(gòu)函數(shù)不能帶有參數(shù),也不能被繼承,不能擁有訪問(wèn)修飾符。 定義形式:class MyClass MyClass() /收尾工作 第37頁(yè)/共44頁(yè)38類(lèi)

15、的靜態(tài)成員 類(lèi)有兩種成員:靜態(tài)成員和實(shí)例成員。 靜態(tài)成員是用static聲明的成員,實(shí)例成員是沒(méi)有用static聲明的成員。 靜態(tài)成員是在編譯階段分配存儲(chǔ)單元,它對(duì)所有類(lèi)的實(shí)例是共享的。靜態(tài)成員通過(guò)類(lèi)名來(lái)調(diào)用(類(lèi)名.成員)。 實(shí)例成員是在程序執(zhí)行過(guò)程中創(chuàng)建該類(lèi)的實(shí)例時(shí)分配存儲(chǔ)單元的,它通過(guò)類(lèi)的實(shí)例來(lái)調(diào)用的(對(duì)象名.成員)。第38頁(yè)/共44頁(yè)39封裝性 封裝是隱藏屬性、方法或?qū)崿F(xiàn)的詳細(xì)信息的處理方式。 封裝性是指把代碼封裝到大括號(hào)中,只能訪問(wèn)自己內(nèi)部的數(shù)據(jù),外邊的東西訪問(wèn)不了。 封裝的目的是增強(qiáng)安全性和簡(jiǎn)化編程,使用者不必了解具體的實(shí)現(xiàn)細(xì)節(jié)。 第39頁(yè)/共44頁(yè)40繼承性 繼承就是一個(gè)類(lèi)在另一個(gè)

16、類(lèi)的基礎(chǔ)上創(chuàng)建。 子類(lèi)可以繼承父類(lèi)的所有非private成員,還可以再定義自己的新成員。 繼承性使得軟件模塊可以最大限度地復(fù)用,并且編程人員還可以對(duì)已有的模塊進(jìn)行擴(kuò)充,而不需要修改原來(lái)的源代碼,大大提高了軟件的開(kāi)發(fā)效率。 在定義類(lèi)的時(shí)候可以指定要繼承的類(lèi): 類(lèi)修飾符 class 類(lèi)名:父類(lèi)名 成員修飾符 類(lèi)的成員變量或者成員函數(shù); ; 第40頁(yè)/共44頁(yè)41示例:繼承的使用class Parents /定義一個(gè)基類(lèi) private int n1=1; /私有成員不能被繼承 public int n2=2; protected int n3=3; internal int n4=4;第41頁(yè)/共44頁(yè)42class Child:Parents /定義一個(gè)派生類(lèi)繼承基類(lèi) private string s=“類(lèi)的繼承”; /定義新的變量成員s public void Print() /定義新的函數(shù)成員Print /在派生類(lèi)中繼承來(lái)的成員和自已新定義的成員一樣使用 Console.Write(“0,1,2,3”,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論