




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