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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

9、變量名 in 數(shù)組名/集合名) 語句塊; 第23頁/共44頁24foreach語句的用法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頁/共44頁25跳轉(zhuǎn)語句 break語句 :終止并跳出循環(huán) continue語句 :終止當(dāng)前的循環(huán),重新開始一個(gè) 新的循環(huán) goto語句:跳轉(zhuǎn)到指定的位置(建議不要使用) return語句:跳出循環(huán),將控制權(quán)返回給包含該retu

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

11、h /除非try里面執(zhí)行代碼發(fā)生了異常,否則這里的代碼不會執(zhí)行 finally /不管什么情況都會執(zhí)行,包括try catch 里面用了return ,可以理解為只要執(zhí)行了try或者catch,就一定會執(zhí)行 finally 第27頁/共44頁28示例:處理除數(shù)為0的異常using System;namespace yichang class Class1 static void Main(string args) try第28頁/共44頁29 Console.WriteLine(“請輸入除數(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頁/共44頁30定義類 C#中提供了很多標(biāo)準(zhǔn)的類,用戶在開發(fā)過程中可以使用這些類,這樣大大節(jié)省了程序的開發(fā)時(shí)間。 類的定義方法如下: 類修飾符 class 類名:父類名 成員修飾符 類的成員變量或者成員函數(shù); ;第30頁/共44頁31類修飾符第31頁/共44頁32類的成員 變量成員:不以函數(shù)形式體現(xiàn) 常量 變量 事件 類型 函數(shù)成員:以函數(shù)形式體現(xiàn) 方法 屬性 索引指示器 運(yùn)算符

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

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

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

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

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論