版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《C#程序設(shè)計語言》
講義
目錄
.Net概述及VS2005使用......................................................................4
1、Net概述..................................................................................4
i.Microsoft.Net........................................................................................................................................................4
ii..NetFramework的概述...................................................................4
iii..NetFramework的版本....................................................................5
iv.C#語言與.Net的關(guān)系.....................................................................6
2、VS2005使用...............................................................................6
i.VisualStudio-fg.Net..............................................................................................................................................6
ii.開始使用VS2005..................................................................................................................................................7
iii.從控制臺程序開始.......................................................................13
二、C#語法....................................................................................14
1、基礎(chǔ)語法..................................................................................14
i.語句....................................................................................14
ii.常數(shù)、變量和常量......................................................................15
iii.表達(dá)式.................................................................................16
2、流程控制語句..............................................................................17
iv.順序流程.............................................................................17
v.分支流程.............................................................................18
vi.重復(fù)流程...........................................................................19
vii.調(diào)用流程...........................................................................20
三、數(shù)據(jù)類型..................................................................................21
1、數(shù)據(jù)類型概述..............................................................................21
i.概述...................................................................................21
ii.數(shù)據(jù)類型的分類........................................................................22
iii.數(shù)據(jù)類型的轉(zhuǎn)換.........................................................................23
2、單一的數(shù)據(jù)類型............................................................................24
i.存值數(shù)據(jù)類型的處理.....................................................................24
ii.整數(shù)類:存值、單一、系統(tǒng)預(yù)定義........................................................25
iii.實數(shù)類:存值、單一、系統(tǒng)預(yù)定義.......................................................25
iv.字符型:存值、單一、系統(tǒng)預(yù)定義........................................................26
V.數(shù)值數(shù)據(jù)類型間的轉(zhuǎn)換..................................................................27
vi.布爾型:存值、單一、系統(tǒng)預(yù)定義.......................................................28
3、自定義的數(shù)據(jù)類型..........................................................................28
i.使用命名空間組織自定義類型............................................................28
ii.自定義數(shù)據(jù)類型的處理..................................................................29
iii,枚舉:存值、單一、自定義..............................................................30
iv.存引用數(shù)據(jù)類型的處理..................................................................31
V.復(fù)合數(shù)據(jù)類型的處理....................................................................32
vi.類:存引用、復(fù)合、自定義..............................................................32
vii.結(jié)構(gòu)體:存值、復(fù)合、自定義...........................................................34
4、集合的數(shù)據(jù)類型............................................................................34
i.數(shù)組:存引用、集合、系統(tǒng)預(yù)定義......................................................34
5、類型間的關(guān)系..............................................................................37
i.類型中成員的訪問級別...................................................................37
ii.類型的訪問級別........................................................................37
iii.使用關(guān)系...............................................................................38
iv.內(nèi)嵌關(guān)系..............................................................................38
v.繼承關(guān)系..............................................................................39
vi.類的數(shù)據(jù)類型間的轉(zhuǎn)換..................................................................42
vii.值類型與object的轉(zhuǎn)換..................................................................44
四、方法......................................................................................45
1、方法的使用................................................................................45
i.方法概述...............................................................................45
ii.方法的定義............................................................................46
iii.this變量...............................................................................47
iv.方法的調(diào)用............................................................................48
V.各種參數(shù)模式..........................................................................49
vi.方法重載..............................................................................52
vii.構(gòu)造方法、析構(gòu)方法與readonly數(shù)據(jù)成員.................................................53
2、繼承關(guān)系中的方法.........................................................................56
i.方法的繼承、覆蓋與base變量...........................................................56
ii.構(gòu)造函數(shù)...............................................................................57
iii.方法的虛擬化和重寫....................................................................59
iv.抽象方法和抽象類......................................................................64
3、方法的高級應(yīng)用...........................................................................65
i.操作符重載.............................................................................65
ii.屬性...................................................................................67
iii.索引指示器............................................................................70
iv.委托:存引用、集合、自定義............................................................71
v.委托變量與事件........................................................................73
vi.接口:存引用、復(fù)合方法成員、自定義...................................................74
五、面向?qū)ο缶幊?.............................................................................76
1、面向?qū)ο缶幊?............................................................................76
.Net概述及VS2005使用
1、.Net概述
i.Microsoft.Net
教學(xué)目標(biāo):
?什么是Microsoft.Net[概念][記憶]
?.Net的主要特點[概念][記憶]
Microsoft.Net(以下簡稱.Net)是Microsoft公司為適應(yīng)Internet的快速發(fā)展而
推出的一種面向網(wǎng)絡(luò)、支持各種用戶終端的開發(fā)平臺環(huán)境。.Net平臺提供了強大的網(wǎng)
絡(luò)交互能力,能開發(fā)出強大的交互式系統(tǒng)。.Net平臺并且統(tǒng)一了各種類型項目的開發(fā)
模型,使得程序員非常容易開發(fā)各種用戶終端的系統(tǒng)。
對于開發(fā)人員,.Net的主要特點有:
?完全的面向?qū)ο缶幊?/p>
?功能齊全的基礎(chǔ)類庫
?WinForm和WebForm的統(tǒng)一編程模型
?各種高級功能的集成支持:
數(shù)據(jù)庫(ADO.Net)、Xml、Web和WebService(ASP.Net)等
?多種開發(fā)語言的無縫交互支持:
C#、VB.Net、C++.Net>JScript.Net、J#等
?完善的內(nèi)存管理
?對移動設(shè)備的無縫支持
ii..NetFramework的概述
教學(xué)目標(biāo):
?.NetFramework作用[概念][記憶]
?.NetFramework架構(gòu)[概念][記憶]
.NetFramework是.Net平臺的基礎(chǔ),它為所有的.Net程序的運行提供支持和環(huán)境。
因此,所有.Net程序,必須運行在.NetFramework之上,沒有安裝.NetFramework的
機器是不能運行.Net程序!
.NetFramework的安裝包主要分兩種:
?RedistributablePackage(可再發(fā)行組件包):提供給最終用戶使用,只包含
基本的.NetFramework功能。
?SDK(軟件開發(fā)工具包):提供給開發(fā)人員使用,除了基本的.NetFramework
功能外,還提供了開發(fā)相關(guān)的工具,如代碼編譯器。
.NetFramwwork的架構(gòu)如下圖:
C#VB.NetC++.NetJScript.NetJ#
CommonLanguageSpecification(公共語言規(guī)范)
ASP.NetWindowsForms
ADO.Net和Xml
8aseClassLibrary(基礎(chǔ)類庫)
CLR(公共語言運行時)
WindowsCOM+Services
對于.NetFramework的學(xué)習(xí),就是應(yīng)用它所提供給我們的各種功能。表現(xiàn)在程序
開發(fā)上,就是語法與類庫的使用。
在.NetFramework的學(xué)習(xí)中,我們會學(xué)習(xí)BaseClassLibrary、ADO.Net、Xnd、
ASP.Net、事indowsForms和C#。(圖中字體加粗,帶有下劃線的部分)。
對于C#的學(xué)習(xí),我們是學(xué)習(xí)它的語法,使用C#來編寫程序;對于BaseClass
Library、ADO.Net的Library>Xml的Library、ASP.Net的Library和WindowsForms
的Library,我們都是學(xué)習(xí)它們功能,并應(yīng)用在我們的程序當(dāng)中。
iii..NetFramework的版本
教學(xué)目標(biāo):
?.NetFramework各個版本[概念][記憶]
?我們學(xué)習(xí)的.NetFramework版本[概念][記憶]
.NetFramework從發(fā)布到現(xiàn)在,一共有以下的版本:
?1.0版本及1.1版本:實現(xiàn)了整個.Net架構(gòu),為.Net平臺打下基礎(chǔ)
?2.0版本:L0\l.1版本的延續(xù),主要增加了泛型語法的支持,完善了各種類庫。
?3.0版本及3.5版本:2.0版本的擴(kuò)展,以2.0版本為基礎(chǔ),增加了WPF、WCF、WWF
和InfoCard的功能。
下圖是.NetFramework3.0的主要內(nèi)容:
WindowsWindowsWindows
PresentationCommunicationWorkflow
InfoCard
FoundationFoundationFoundation
(WPF)(WCF)(WWF)
.NetFramework2.0
所以,我們將學(xué)習(xí)處于承前啟后位置的.NetFramework2.0。
iv.C#語言與.Net的關(guān)系
教學(xué)目標(biāo):
?C#語言與.Net的關(guān)系[概念][記憶]
由于.NetFramework采用了CommonLanguageSpecification(CLS,公共語言規(guī)范),
使得程序員可以使用多種語言的語法進(jìn)行.Net程序的開發(fā),并能無縫的融合在一起。
但除了C#語言,其他語言都會為了遷就舊語言的語法而作出妥協(xié)。而C#語言是伴
隨著.Net平臺而產(chǎn)生的,是.Net平臺的原生語言,不存在任何語法上的限制。而它使
用最流行的類C++的語法,與C++、Java的語法非常相似。
所以C#語言是我們的學(xué)習(xí)對象。
2、VS2005使用
i.VisualStudio與.Net
教學(xué)目標(biāo):
?VisualStudio的版本[概念][記憶]
?我們使用的VS.Net版本[概念][記憶]
VisualStudio開發(fā)工具系列,是Microsoft提供的可視化IDE(Integrated
DevelopmentEnvironment,集成開發(fā)環(huán)境)。它為軟件開發(fā)提供了強大的支持。
在之前的VS6.0版本,分為了大家熟悉的VC++、VB、VFP等。
而.Net是Microsoft的重頭戲,Microsoft當(dāng)然令到新版本的VisualStudio對.Net
有強大的支持。新版本的VS把多種語言的開發(fā)環(huán)境集中在一起,并以年份進(jìn)行命名,
至今有:VS2002(.NetFramework1.0)、VS2003(.NetFramework1.1)、VS2005(.Net
Framework2.0)、VS2008(.NetFramework3.5)0
當(dāng)然,我們學(xué)習(xí)的正是VS2005版本。
開始使用VS2005
教學(xué)目標(biāo):
了解HelloWorld程序[概念][理解]
編寫HelloWorld代碼[步驟][記憶]
生成HelloWorld程序[步驟][記憶]
運行HelloWorld程序[步驟][記憶]
VS2005的啟動[步驟][應(yīng)用]
VS2005的菜單[概念][應(yīng)用]
新建控制臺項目[步驟][應(yīng)用]
項目的概念[概念][記憶]
?解決方案的概念[概念][記憶]
?文檔窗口[概念][應(yīng)用]
?解決方案資源管理器[概念][應(yīng)用]
?代碼源文件[概念][應(yīng)用]
?執(zhí)行文件[概念][應(yīng)用]
?VS2005的項目生成功能[步驟][應(yīng)用]
?VS2005的項目運行功能[步驟][應(yīng)用]
HelloWorld程序是最經(jīng)典的編程入門示例,我們也從這個示例開始。
下面是HelloWorld示例程序的運行界面:
HelioWorld是一個命令行的程序,與用戶的交互是通過文字形式一行一行進(jìn)行的。
這個程序首先提示用戶輸入名字,然后顯示輸入的名字,并顯示“你好,歡迎來到C#
的世界!最后等待用戶按回車鍵結(jié)束程序。
現(xiàn)在我們開始一步步編寫這個HelloWorld程序:
a)在“C:\”下,新建一個文本文件:
b)把文件名改為“HelloWorld.cs”:—
c)雙擊文件,會自動啟動VS2005進(jìn)行編輯。(當(dāng)然,如果愿意也可以使用記
事本進(jìn)行編輯。)
d)在文件內(nèi)輸入以下內(nèi)容(在VS2005會有顏色顯示,在記事本當(dāng)然就沒有了)
注意:必須嚴(yán)格區(qū)分大小寫:
classProgram
(
staticvoidMain(string[]args)
(
stringname;
System.Console.Write("請輸入你的名字(按回車結(jié)束輸入):“);
name=System.Console.ReadLine();
System.Console.WriteLine(name+”你好,歡迎來到C#的世界!”);
System.Console.WriteLine("按回車鍵結(jié)束...”);
System.Console.ReadLine();
)
)
e)把編寫好的CS文件保存好。
至此,我們已經(jīng)編寫好HelloWorld的代碼了。在這里CS文件就是C#源文件,CS
是CSharp的縮略。
源文件是一堆文字,雖然它符合C#的語法要求,但此刻.Net平臺并不認(rèn)識它,不
能在.Net平臺能上運行。要令源程序能在.Net平臺上運行,必須進(jìn)行生成的步驟。
生成就是根據(jù).Net的要求,通過源文件產(chǎn)生相應(yīng)的.Net平臺代碼。那些生成后的
代碼就能在.Net平臺上運行。我們通過以下步驟把剛才編寫的源文件產(chǎn)生相應(yīng)的.Net
平臺代碼:
a)運行“開始”->“程序”->"MicrosoftVisualStudio2005M->Visual
StudioTools"的"VisualStudio2005命令提示”:
b)輸入"cd\",并按回車:
c)輸入“escHelloWorld.cs",并按回車。此時,就開始cs文件的生成處理:
CAVisualStudio2005命令提示日日口
SettingenuironnentforusingMicrosoftUisualStudio2005x86tools.|---
C:\ProgramFilesXMicrosoftUisualStudio8\UC>cd\
C:\>cscHelloWorld.es
Microsoft<R>UisualCtt2005編譯器版本8.00.50727.42
用于Microsoft<R>Windovis<R>2005Framework版本2.0.50727
<C〉MicrosoftCorporation2001-2005?保南所有權(quán)利°
注意:只有cs文件的內(nèi)容完全正確,才會和圖片的內(nèi)容一致。否則會出現(xiàn)錯
誤提示的信息。如果出現(xiàn)錯誤提示信息,請檢查CS文件的內(nèi)容,特別是大小
寫。
d)如果生成沒有錯誤,即如上圖所示,那么在“c:\”下會產(chǎn)生符合.Net平臺
的代碼程序“Helloworld,exe":」
現(xiàn)在,我們已經(jīng)產(chǎn)生了可以在.Net平臺上運行的HelloWorld程序,只要雙擊
“HelloWorld.exe”就可以運行。
這個就是我們編寫的第一個C#程序!
下面,我們使用VS2005來編寫、生成和運行我們的HelloWorld程序。
首先,我們運行"開始程序"-"MicrosoftVisualStudio2005"的"Microsoft
VisualStudio2005”來啟動VS2005:
下一步,我們建立一個新的VS2005的項目,
選擇“文件”菜單->“新建"項目…”:
??起的質(zhì)licrosoftVisualStudio
文件包)同銀⑥飯困電)工小?宣口包)社區(qū)?砂助縱
*<1)川:jJia(J)...Ctrl+Shitfi;
打開??*..
關(guān)閉IE)」文件9..Cirl+M
從現(xiàn)有代碼班項目II)
此時會出現(xiàn)“新建項目”對話框:
如上圖的紅框所示進(jìn)行選擇或輸入:
?項目類型:Windows
?模板:控制臺應(yīng)用程序
?名稱:He11World
?位置:D:\MyProjects
?解決方案名稱:MySolution
點擊“確定”后,就會生成MySolution的解決方案和HelloWorld的項目,它們位
置在D:\MyProjects的目錄下。
在VS2005里面,“項目”是最小的生成單位,項目里面可以包含一個或多個源文件。
我們的系統(tǒng)是由一或多個項目組成。而項目是組織在“解決方案”里面,一個解決方
案可以包含一個或多個項目。
創(chuàng)建項目后的VS2005界面,會分為三大部分:功能區(qū)域、文檔區(qū)域和功能窗口區(qū)
域。
?功能區(qū)域:包括菜單和工具欄,上面紅色框的部分
?文檔區(qū)域:各個文檔的處理區(qū)域,中間藍(lán)色框的部分
?功能窗口區(qū)域:包括左邊的“工具箱”和右邊的“解決方案資源管理器”、“類視圖”、
“屬性”等,粉紅色框的部分
通過功能區(qū)域和功能窗口區(qū)域,我們可以對當(dāng)前的解決方案、項目、文檔進(jìn)行處理,
而文檔的編輯則是在文檔區(qū)域里面進(jìn)行。
下一步,我們在Program,cs里面,編寫同樣的HelloWorld程序。把Program,cs
里面的內(nèi)容全部刪除,輸入下面的內(nèi)容:
classProgram
(
staticvoidMain(string[]args)
(
stringname;
System.Console.Write(〃請輸入你的名字(按回車結(jié)束輸入):〃);
name=System.Console.ReadLineO;
System.Console.WriteLine(name+〃你好,歡迎來到C#的世界!〃);
System.Console.WriteLine(〃按回車鍵結(jié)束???〃);
System.Console.ReadLine();
)
)
保存好輸入的內(nèi)容。
下一步,我們就生成HelloWorld程序:
選擇“生成'菜單"生成解決方案”??
生成⑤)調(diào),6)數(shù)據(jù)R)工具建)
畫至成解決方運④F6
重新生成解決方案國)
清理解決方案C)
'迷擇"生成解決方案”后,在VS2005的左下角,會出現(xiàn)解決方案生成進(jìn)度的提示。
如果沒有錯誤,會出現(xiàn)下圖的“生成成功”提示。如果出現(xiàn)任何錯誤,會出現(xiàn)錯誤提示。
如果出現(xiàn)錯誤提示信息,請檢查CS文件的內(nèi)容,特別是大小寫。
生成成功
下一步,我們可以在D:\MyProjects目錄下,找到解決方案的目錄“MySolution”,
并在里面能找到HelloWorld項目的目錄“H在里World”。在“H在里World”目錄里面,
就能看到Program.cs這個源文件。如果生成成功,我們會在“HelloWorld”目錄下的
“bin”->“debug”里面找到我們所認(rèn)識的HelloWorld.exe0此時雙擊運行,查看效
果。(法:VS2005會同時產(chǎn)生一個HelloWorld.vshost.exe文件,此文件是VS2005所
需要,但對于我們沒有任何作用。)
當(dāng)然,VS2005非常強大,我們并不需要找到生成的exe雙擊后才能運行,我們在
VS2005里面就可以運行相應(yīng)的exe:
選擇“調(diào)試”菜單->“開始執(zhí)行(不調(diào)試)”:
調(diào)試@)I數(shù)據(jù)?工具d)窗口⑥
窗口?)?
?啟動調(diào)試⑤)F5
|?開始執(zhí)行壞調(diào)試)Of)Ctrl+F5|
晶附加到進(jìn)程電)
異?,F(xiàn)).一Ctrl+D,E
運峰“開始執(zhí)行(不調(diào)試)”后,就會運行HelloWorld程序,并在結(jié)束前增加“請
按任意鍵繼續(xù)??.”的等待功能。
iii.從控制臺程序開始
教學(xué)目標(biāo):
?Console.Write和Console.WriteLine的作用[概念][記憶]
?Console.ReadLine的作用[概念][記憶]
?變量的作用[概念][記憶]
命令行程序,也稱為控制臺程序(ConsoleApplication),它是歷史久遠(yuǎn)的應(yīng)用類
型。由于控制臺程序的用戶交互形式簡單,在當(dāng)今最求視覺效果和用戶體驗的時代,它
已經(jīng)逐漸遠(yuǎn)離人們的視線。但正是由于控制臺程序的簡單交互的特性,使得代碼開發(fā)簡
潔高效,不需要繁復(fù)的界面交互控制處理,它成為了程序員的有力工具。使用控制臺程
序,我們可以專注于系統(tǒng)自身的處理,專注于算法的開發(fā)和驗證,專注于與新技術(shù)的學(xué)
習(xí),而不受其他影響。
所以我們的教學(xué),也使用控制臺程序進(jìn)行。
下面,我們試著修改HelloWorld程序,改變它的行為。我們增加年齡的輸入和顯
力、O
首先,修改源代碼的內(nèi)容為:
classProgram
(
staticvoidMain(string[]args)
(
stringname;
System.Console.Write("請輸入你的名字(按回車結(jié)束輸入):");
name=System.Console.ReadLine();
stringage;
System.Console.Write("請輸入你的年齡(按回車結(jié)束輸入):”);
age=System.Console.ReadLine();
System.Console.WriteLine(name+”你好,歡迎來到C#的世界!”);
System.Console.WriteLine(“你的年齡是:"+age);
System.Console.WriteLine("按回車鍵結(jié)束...”);
System.Console.ReadLine();
下一步就是生成解決方案,然后執(zhí)行程序。
在HelloWorld的代碼中,我們使用了兩種信息輸出的功能,分型是
System.Console.Write和System.Console.WriteLine。它們的區(qū)別在于Write顯示信
息后,還可以在后面繼續(xù)輸入信息,一行并沒有結(jié)束而WriteLine就自動結(jié)束一行。而
兩種輸出功能,都是在()里面放置需要輸出的內(nèi)容。
而用戶輸入的信息,使用的是System.Console.ReadLine,它要求用戶用回車結(jié)束
輸入。由于用戶輸入的內(nèi)容是不確定的,我們使用一個變量(一個名字,可以使用它保
存任意內(nèi)容)保存用戶輸入的內(nèi)容。提示:變量要說明所保存內(nèi)容的類型,例子中的是
string(字符串)。
文字信息,需要用雙引號(")括起來。由于用戶從界面輸入的是文字類型的信息(在
控制臺里面,輸入的年齡信息也是文字),所以使用加號(+)把兩個文字信息連起來。
、C#語法
1、基礎(chǔ)語法
i.語句
教學(xué)目標(biāo):
?語句空白與語句結(jié)束[概念][應(yīng)用]
?語句塊[概念][應(yīng)用]
?注釋[概念][應(yīng)用]
c#程序是通過一條一條語句累積起來,完成我們所希望的功能。下面我們就學(xué)習(xí)
C#的語句要求。
C#語句是一些文字的內(nèi)容,可以由數(shù)據(jù)、字母(包括英文、中文、日文等)、符號
組成。每條C#語句,都必須使用分號(;)結(jié)束。注意:分號必須是英文半角。例如:
System.Console.WriteLine(name+”你好,歡迎來到C#的世界!");。一條語句沒有
結(jié)束之前,中間可以增加空白(空格和換行),令到人們閱讀更加方便。注意:一個完
整單詞中間不能有空格。例如:name=System.Console.ReadLine();o
如果程序由多條語句組成,就需要使用大括號({})括起來,組成語句塊。語句塊里
面可以包含其他語句塊。
雖然代碼已經(jīng)存在程序的邏輯,通過代碼的分析可以知道程序的作用。但為了更方
便人的閱讀,我們可以增加注釋來說明代碼的意思。而注釋在源代碼生成的時候,會自
動被忽略掉,所以注釋對程序的執(zhí)行邏輯沒有任何影響。但代碼有了注釋的說明,會大
大方便我們?nèi)ラ喿x代碼。
注釋分為兩種:
?單行注釋:使用〃開始,這一行后面所有的文字都是注釋。例如:
stringname;〃這個是保存名字的變量
?多行注釋:使用/*開始,使用*/結(jié)束,中間部分的所有內(nèi)容都是注釋內(nèi)容,內(nèi)
容可以是多行。例如:
/*
這個是注釋的示例
它有多行
*/
常數(shù)、變量和常量
教學(xué)目標(biāo):
?常數(shù)[概念][應(yīng)用]
?常量[概念][應(yīng)用]
?變量[概念][應(yīng)用]
?聲明語句[概念][記憶]
?命名規(guī)則[概念][應(yīng)用]
?常量、變量的生存范圍和使用范圍[概念][理解]
?程序調(diào)試查看變量[概念][應(yīng)用]
?引用示例圖表示變量[概念][應(yīng)用]
計算機程序的作用,就是加工處理一系列信息。這些信息有的是固定的,有的是會
在程序的運行期間發(fā)生變化。
對于固定內(nèi)容的信息,我們采用常數(shù)和常量來表示
?常數(shù):固定的內(nèi)容??梢允菙?shù)值,如10、15.9;也可以是文字,如〃你好,歡迎來
到C#的世界!常數(shù)之間是沒有任何聯(lián)系的,就算他們的內(nèi)容一樣,例如都是10,
但一個變化不會引起另一個產(chǎn)生變化。
?常量:指向常數(shù)的一個名字,這個名字可以在其他語句中使用,但其他語句使用中
不能改變名字所指向的內(nèi)容。常量使用const關(guān)鍵字標(biāo)記。如:conststringwelcome
="歡迎來到CSTP”;。
提示:除了最簡單的程序外,我們都應(yīng)該使用常量而不是常數(shù),因為常量有批量修
改和表明意義的功能。
對于可變內(nèi)容的信息,我們采用變量來表示。
?變量:指向一個數(shù)值的名字,這個名字可以在其他語句中使用,并且可以改變名字
所指向的內(nèi)容。
無論變量還是常量,都必須先告訴程序這個名字的存在后,才能被其他語句使用。
告訴程序存在的語句,稱為聲明語句。
?變量聲明:數(shù)據(jù)類型變量名字;
?常量聲明:const數(shù)據(jù)類型常量名字;
注意:如果變量或常量沒有聲明,使用它們的語句在生成的時候會出錯。
變量或常量的名字必須遵循以下規(guī)則:
?必須以字母(包括英文、中文、日文等)或下劃線開始
?只能由字母、數(shù)字、下劃線組成,而不能包含空格、標(biāo)點符號、運算符等其他符號
?不能與C#中的關(guān)鍵字相同,如const、string>class、static、void等。關(guān)鍵字
是C#所需要使用的名字,在VS2005里面是藍(lán)色字體。
變量'常量聲明后,就能在后面的語句中使用,但這個使用是有限制的,這個限制
與變量、常量的生存范圍和訪問范圍相關(guān)。
?生存范圍:從該變量,常量聲明開始,到它所在的語句塊結(jié)束位置。
?訪問范圍:從該變量'常量聲明之后,到它所在的語句塊結(jié)束位置之前。包括里面
子語句塊。
變量/常量在同一個語句塊里面,不能重復(fù)聲明同一名字。但可以聲明一個外層語
句塊已經(jīng)存在的變量/常量,此時在該變量/常量的訪問范圍內(nèi),會屏蔽外層的同名變量
/常量。
在程序的語句執(zhí)行過程中,變量的內(nèi)容會跟著發(fā)生變化,而這些變化會對程序的執(zhí)
行結(jié)果產(chǎn)生影響。因此,我們需要工具去分析變量的內(nèi)容變化情況。我們有兩種工具去
分析變量的變化:
?一種是在程序運行的時候進(jìn)行動態(tài)分析,這種是調(diào)試工具
?一種是在程序還沒有運行的時候進(jìn)行靜態(tài)分析,這種是引用示例圖。
每款好的IDE(集成開發(fā)環(huán)境)都會提供功能齊全的調(diào)試工具,這些調(diào)試功可以讓
開發(fā)人員控制程序的運行,并查看各種運行時候的信息。注意:要程序進(jìn)入調(diào)試狀態(tài),
必須先讓源代碼能成功生成程序。
啟動調(diào)試后,我們通過(程序執(zhí)行)斷點的設(shè)置,讓程序在執(zhí)行到某個語句的時候
停止。當(dāng)程序停止在某個語句的時候,程序就處在一個靜止的狀態(tài),各種信息停止處理。
此時,我們就能查看變量在這一刻的內(nèi)容。
引用示例圖是為每一程序語句標(biāo)出當(dāng)前各個變量的內(nèi)容,通過逐步分析,我們可以
更深刻的理解程序的執(zhí)行。引用示例圖是使用。出iceExcel進(jìn)行繪制。
iii.表達(dá)式
教學(xué)目標(biāo):
?表達(dá)式語句[概念][記憶]
?操作符及操作數(shù)[概念][記憶]
?賦值操作符[概念][應(yīng)用]
?算術(shù)操作符[概念][應(yīng)用]
?位操作符[概念][應(yīng)用]
?復(fù)合賦值操作符[概念][應(yīng)用]
?比較操作符[概念][應(yīng)用]
?邏輯操作符[概念][應(yīng)用]
?操作符優(yōu)先級[概念][應(yīng)用]
計算機程序?qū)π畔⑦M(jìn)行加工處理,就是對信息中的數(shù)據(jù)進(jìn)行各種操作,這些操作的
語句就是表達(dá)式語句。在程序代碼中,主要是表達(dá)式語句。
表達(dá)式是由一系列的操作符和操作數(shù)組成,這些操作符按照一定的順序執(zhí)行,表達(dá)
式運行后會產(chǎn)生操作結(jié)果。
?操作符:對操作數(shù)的操作方式
?操作數(shù):數(shù)據(jù)或產(chǎn)生數(shù)據(jù)的任何形式,例如常量、變量和表達(dá)式。
操作符一定要操作數(shù)進(jìn)行操作,操作符可以帶多少個操作數(shù)是由不同操作符本身決
定的。操作符帶的操作數(shù)數(shù)量可以是1個、2個或3個,相應(yīng)的操作符分別稱為1元操
作符、2元操作符和3元操作符。
操作符主要有以下幾類:
?賦值操作符和復(fù)合賦值操作符:令變量或常量指向操作數(shù)。
?算術(shù)操作符:對操作數(shù)進(jìn)行數(shù)學(xué)運算,包括加(+)、減(-)、乘(*)、除(/)、取
余數(shù)(Q和取負(fù)數(shù)(-)o
?位操作符:對操作數(shù)按照二進(jìn)制的形式,進(jìn)行二進(jìn)制位的運算,包括與(&)、或(|)、
異或O、取補數(shù)(、)、左移(?)和右移(>>)。
?比較操作符:對操作數(shù)進(jìn)行比較,比較后的結(jié)果是true或false,包括等于(==)、
不等于(!=)、小于(<)、小于等于(<=)、大于(>)和大于等于(>=)o
?邏輯操作符:對操作數(shù)進(jìn)行邏輯運算,運算后的結(jié)果是true或false,包括邏輯與
(&&)、邏輯或(||)和邏輯非(!)0
?自增、自減操作符:運算符對整數(shù)型變量進(jìn)行操作,令變量的值增1(++)或減1
(一)o
表達(dá)式可以由多個操作符組成,這些操作符之間存在執(zhí)行的優(yōu)先級關(guān)系。默認(rèn)的優(yōu)
先級由C#語法決定,我們可以通過添加小括號來控制操作符之間的順序。
2、流程控制語句
iv.順序流程
教學(xué)目標(biāo):
?多條語句按順序執(zhí)行[概念][應(yīng)用]
C#程序由多條語句組成,這些語句是一條一條執(zhí)行的,默認(rèn)的執(zhí)行順序就是按照編
寫的順序,從上往下執(zhí)行。順序流程就是指C#語句按照從上往下的順序一條一條執(zhí)行,
它是C#程序的主要流程。
分支流程
教學(xué)目標(biāo):
?多條語句按條件選擇性執(zhí)行[概念][應(yīng)用]
?if語句及其形式[概念][應(yīng)用]
?switch語句及其形式[概念][應(yīng)用]
在有些情況下,對于多條語句,我們是有選擇性的執(zhí)行,并不能按順序全部執(zhí)行。
這個時候,我們就需要使用分支流程。分支流程就是指C#語句根據(jù)條件,有選擇性的
執(zhí)行一部分(一條或一個語句塊)語句??刂品种Я鞒痰恼Z句也稱為條件語句。法意:
對于語句塊里面的多條語句,默認(rèn)的執(zhí)行流程還是順序流程,但語句塊也可以包含分支
流程、重復(fù)流程和調(diào)用流程。
在C#里面有兩種分支流程的控制語句,它們是if語句和switch語句。if語句:
如果選擇的條件成立,執(zhí)行緊跟著的語句或語句塊,否則不執(zhí)行;switch語句:根據(jù)
條件,執(zhí)行符合條件要求的語句或語句塊。
if語句的形式:
if(判斷表達(dá)式)〃判斷表達(dá)式必須能產(chǎn)生true\false
(
〃判斷表達(dá)式的值為true時執(zhí)行
}
else
(
〃判斷表達(dá)式的值為false時執(zhí)行
注意:else是可選的內(nèi)容;如果語句塊中只有一條語句,可以不用{};每個else
必須有一個對應(yīng)的if,else和if使用最近匹配原則。
switch語句的形式:
switch(表達(dá)式)
(
case值1:
〃表達(dá)式的值等于值1時執(zhí)行
break;
case值2:
//表達(dá)式的值等于值2時執(zhí)行
break;
case值n:
〃表達(dá)式的值等于值n時執(zhí)行
break;
default:
〃表達(dá)式的值不等于上面任何一個值時執(zhí)行
break;
)
注意:每個分支必須用break結(jié)束;default是可選的內(nèi)容;可以令多個case執(zhí)
行同一個語句塊;每次執(zhí)行,只會有1個case被執(zhí)行;可以在語句塊里面使用goto
語句,跳轉(zhuǎn)到其他case的語句塊。
vi.重復(fù)流程
教學(xué)目標(biāo):
?一條或多條語句按條件重復(fù)執(zhí)行[概念][應(yīng)用]
?while語句及其形式[概念][應(yīng)用]
?do-while語句及其形式[概念][應(yīng)用]
?for語句及其種形式[概念][應(yīng)用]
?foreach語句及其形式[概念][記憶]
在有些情況下,我們希望重復(fù)執(zhí)行一條或多條語句,此時,我們就需要使用重復(fù)流
程。重復(fù)流程就是指在特定條件下,重復(fù)執(zhí)行一部分(一條或一個語句塊)語句??刂?/p>
重復(fù)流程的語句也稱為循環(huán)語句。注意:對于語句塊里面的多條語句,默認(rèn)的執(zhí)行流程
還是順序流程,但語句塊也可以包含分支流程、重復(fù)流程和調(diào)用流程。
在C#里面有四種重復(fù)流程的控制語句,它們是while語句、do-while語句、for
語句和foreach語句。其中,while語句、do-while語句和for語句的使用,沒有任何
特殊要求。foreach語句是.Net新增加的功能,它的使用有條件限制,并不是所有情況
下都能使用foreach語句。
while語句的形式:
while(判斷表達(dá)式)〃判斷表達(dá)式必須能產(chǎn)生true\false
(
〃判斷表達(dá)式的值為true時執(zhí)行
)
注意:如果語句塊中只有一條語句,可以不用},語句塊可能一次也不執(zhí)行。
do-while語句的形式:
do
(
〃首先會執(zhí)行一次
〃當(dāng)判斷表達(dá)式的值為true時再次執(zhí)行
while(判斷表達(dá)式);
注意:如果語句塊中只有一條語句,可以不用〃;語句塊會至少執(zhí)行性一次;
while(表達(dá)式)后說必須要有分號(;)。
for語句的形式:
for(初始表達(dá)式;判斷表達(dá)式;調(diào)整表達(dá)式)〃判斷表達(dá)式必須能產(chǎn)生
true\false
(
〃判斷表達(dá)式的值為true時執(zhí)行
三種表達(dá)式和語句塊的執(zhí)行流程是:
初始化表達(dá)式->判斷表達(dá)式->語句塊->調(diào)整表達(dá)式->判斷表達(dá)式->語
句塊->調(diào)整表達(dá)式->判斷表達(dá)式~>語句塊……->調(diào)整表達(dá)式->判斷表達(dá)
式。
注意:如果語句塊中只有一條語句,可以不用{};三種表達(dá)式之間必須有分號隔開
(;);三種表達(dá)式是可選的,但中間的兩個分號(;)必須要有;初始表達(dá)式中定義的變量,
生存范圍是在語句塊結(jié)束。
foreach語句的形式:
foreach(數(shù)據(jù)類型變量名字in集合變量名字)
(
〃集合還有元素取出
注意:如果語句塊中只有一條語句,可以不用{};變量的生存范圍是在語句塊結(jié)束;
變量自動從集合里面取出元素;變量的類型與集合中元素的類型要一致;集合變量的數(shù)
據(jù)類型必須實現(xiàn)IEnumerable
無論是哪一種循環(huán)語句,我們都可以在語句塊里面控制循環(huán)的流程。在C#里面有
兩種控制循環(huán)的語句,它們是break語句和continue語句。這兩種語句直接用分號(;)
結(jié)束即可,即break;和continue;。
?break語句:從break語句的位置,直接跳到語句塊的結(jié)束位置,并且不再執(zhí)行任
何表達(dá)式而結(jié)束循環(huán);break語句只能結(jié)束它所在那一層循環(huán)。
?coninue語句:從continue語句的位置,直接跳到語句塊的結(jié)束位置,然后繼續(xù)
執(zhí)行循環(huán)語句相關(guān)的表達(dá)式,繼續(xù)循環(huán)流程;continue語句只能繼續(xù)它所在那一層
循環(huán)。
vii.調(diào)用流程
教學(xué)目標(biāo):
?函數(shù)機制[概念][記憶]
?函數(shù)的調(diào)用[概念][記憶]
在C#里面,可以類似于變量、常量使用名字來保存內(nèi)容,我們可以使用一個名字來
指向一個語句塊。在其需要使用相同語句塊的地方,可以通過語句塊的名字調(diào)用語句塊。
這樣的機制就是函數(shù)機制,名字-語句塊的組合就是函數(shù),名字是函數(shù)名,語句塊
是函數(shù)體,使用名字來調(diào)用語句塊的處理是函數(shù)調(diào)用。
調(diào)用流程就是指使用了函數(shù)調(diào)用,原來的流程會先停止,進(jìn)入到函數(shù)體的語句塊中
的流程開始執(zhí)行,當(dāng)函數(shù)體的流程結(jié)束后,原來的流程繼續(xù)執(zhí)行。
三、數(shù)據(jù)類型
1、數(shù)據(jù)類型概述
i.概述
教學(xué)目標(biāo):
?什么是數(shù)據(jù)類型[概念][記憶]
?變量'常量與數(shù)據(jù)類型[概念][應(yīng)用]
?數(shù)據(jù)類型的實體值[概念][記憶]
計算機程序的作用就是加工輸入的數(shù)據(jù),并輸出加工后的數(shù)據(jù)。
從程序運行的第一刻開始,我們就需要保存和使用各種各樣的數(shù)據(jù),包括用戶輸入
的數(shù)據(jù)、硬盤中的數(shù)據(jù)、數(shù)據(jù)庫中的數(shù)據(jù)、其他計算機通過網(wǎng)絡(luò)傳輸過來的數(shù)據(jù)等等。
在加工的過程中,又會產(chǎn)生各種各樣的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)計師工作計劃
- 2024年體育用品銷售員提成及促銷活動合同3篇
- 2024年建筑節(jié)能施工員聘用合同3篇
- 初中暑假學(xué)習(xí)計劃
- 高爐爐渣綜合利用工程可行性研究報告
- 三年級教學(xué)工作計劃5篇
- 2022中學(xué)班主任個人工作計劃
- 小學(xué)體育工作總結(jié)
- 公司助理個人實習(xí)工作
- 六年級畢業(yè)演講稿范文集錦七篇
- 四年級下冊混合運算100道及答案
- 浙江省寧波市慈溪市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(含答案)
- 【小學(xué)心理健康教育分析國內(nèi)外文獻(xiàn)綜述4100字】
- 藝術(shù)療愈行業(yè)分析
- 中醫(yī)院肺病科年度工作計劃
- 老年綜合評估知情同意書
- 會議籌備工作分工表
- 2023火電機組深度調(diào)峰工況下的涉網(wǎng)性能技術(shù)要求
- 醫(yī)學(xué)英語術(shù)語解密-福建醫(yī)科大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 內(nèi)燃機車點檢方法探討
- 2023初一語文現(xiàn)代文閱讀理解及解析:《貓》
評論
0/150
提交評論