C#語(yǔ)言全書(shū)電子教案教學(xué)設(shè)計(jì)_第1頁(yè)
C#語(yǔ)言全書(shū)電子教案教學(xué)設(shè)計(jì)_第2頁(yè)
C#語(yǔ)言全書(shū)電子教案教學(xué)設(shè)計(jì)_第3頁(yè)
C#語(yǔ)言全書(shū)電子教案教學(xué)設(shè)計(jì)_第4頁(yè)
C#語(yǔ)言全書(shū)電子教案教學(xué)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C#語(yǔ)言全書(shū)電子教案

授課時(shí)間第次課,第周星期第節(jié)課時(shí)

授課方式理論課口討論課口習(xí)題課口實(shí)驗(yàn)課口上機(jī)課口技能課口其他口

授課題目第一章C#語(yǔ)言與開(kāi)發(fā)環(huán)境

1.了解C#語(yǔ)言發(fā)展的歷史和特點(diǎn)。

2.了解VS2013在Win7操作系統(tǒng)上的安裝和配置O

目的與要求

3.掌握VS2013的主要功能和開(kāi)發(fā)界面。

4.熟悉簡(jiǎn)單C#程序開(kāi)發(fā)的基本步驟。

重點(diǎn):C#語(yǔ)言機(jī)器特點(diǎn)、C#程序開(kāi)發(fā)

重點(diǎn)與難點(diǎn)難點(diǎn):熟悉VS2013工具的使用

教學(xué)基本內(nèi)容方法及手段

(-)C#語(yǔ)言

1.C#的歷史

C#是和.NETFramework及開(kāi)發(fā)環(huán)境VisualStudio一同成長(zhǎng)起來(lái)的。

2000年7月微軟公司發(fā)布了C#語(yǔ)言的第一個(gè)預(yù)覽版;

2002年2月,微軟公司推出.NETFramework1.0版和.NET開(kāi)發(fā)環(huán)境VisualStudio.NET2002,同時(shí)推

出C#1.0版;

2003年5月,微軟公司推出了.NETFramework1.1和VisualStudio.NET2003,同時(shí)也發(fā)布了C#1.1

版;

2005年10月,微軟公司推出了.NETFramework2.0和C#2.0版;

2005年11月,微軟公司發(fā)布VisualStudio2005正式版;

2006年11月,微軟公司發(fā)布.NETFramework3.0;

2007年8月,微軟公司發(fā)布C#3.0版;

2007年11月,微軟公司發(fā)布.NETFramework3.5和VisualStudio2008;

2010年,發(fā)布了C#4.0版本和.NETFramework4以及VisualStudio2010;

2012年,發(fā)布了C#5.0版本和.NETFramework4.5以及VisualStudio2012;

2013年,發(fā)布了.NETFramework4.5.1和VisualStudio2013;

2016年,發(fā)布了C#6.0版本和.NETFramework4.6以及VisualStudio2015。

2.C#的特點(diǎn)

C#繼承了C/C++的強(qiáng)大功能,并且拋棄了C/C++的復(fù)雜特性,同時(shí)又借鑒了Java的優(yōu)點(diǎn),具有安全、

穩(wěn)定、簡(jiǎn)單、優(yōu)雅的特點(diǎn)。C#具有功能強(qiáng)大、語(yǔ)法簡(jiǎn)潔、面向?qū)ο?、提供了完整的安全性、支持組件技術(shù)、

具有自動(dòng)內(nèi)存管理、良好的版本控制能力以及與Web緊密結(jié)合等優(yōu)點(diǎn)。

(1)語(yǔ)法簡(jiǎn)潔

C#語(yǔ)法類似于C++和Java,并進(jìn)行了簡(jiǎn)化,只保留了常見(jiàn)的形式。

(2)面向?qū)ο?/p>

C#采用了面向?qū)ο笤O(shè)計(jì)思想,它將復(fù)雜的問(wèn)題分解為一個(gè)個(gè)能夠完成獨(dú)立功能的相對(duì)簡(jiǎn)單的對(duì)象的集

合。C#具有面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的所有特征,支持抽象、封裝、繼承、重載、多態(tài)等特性。

(3)可視化集成開(kāi)發(fā)環(huán)境

C#采用了可視化編程方式,用戶界面良好,采用拖放控件來(lái)設(shè)計(jì)界面,所見(jiàn)即所得,非常方便、高效。

VisualStudio是.NET平臺(tái)默認(rèn)的集成開(kāi)發(fā)環(huán)境,在這個(gè)環(huán)境中,可以進(jìn)行設(shè)計(jì)界面、編寫(xiě)代碼、調(diào)試、編

譯等工作。

(4)內(nèi)存管理

C#具有自動(dòng)內(nèi)存管理機(jī)制,系統(tǒng)會(huì)根據(jù)一定算法自動(dòng)回收不再被使用對(duì)象所占用的內(nèi)存。

(5)功能強(qiáng)大的類庫(kù)

,NET類庫(kù)內(nèi)容非常豐富,通過(guò)引用.NET類庫(kù)可以方便、高效地完成各種程序設(shè)計(jì)工作。.NET架構(gòu)

(.NETFramework)是當(dāng)前程序設(shè)計(jì)的主流體系之一,代表了程序設(shè)計(jì)技術(shù)發(fā)展的方向。.NET是個(gè)集合,

一個(gè)環(huán)境,一個(gè)可以作為平臺(tái)支持下一代Internet的可編程結(jié)構(gòu)。

(二)C腿言開(kāi)發(fā)工具

1.文本編輯工具

文本編輯工具有很多利如常用的記事本,這類工具大都非常簡(jiǎn)單,功能也有限,通常用來(lái)開(kāi)發(fā)C#

控制臺(tái)程序。

2.集成開(kāi)發(fā)工具

集成開(kāi)發(fā)環(huán)境通常是所見(jiàn)即所得的開(kāi)發(fā)工具,通常都功能強(qiáng)大。

(1)VisualStudio

使用集成開(kāi)發(fā)環(huán)境通常可通過(guò)拖放控件等方式自動(dòng)生成一些代碼,使開(kāi)發(fā)者更關(guān)注程序邏輯結(jié)構(gòu)的開(kāi)

發(fā),大大提高了程序的開(kāi)發(fā)效率?VisualStudio就是典型的集成開(kāi)發(fā)環(huán)境,功能非常強(qiáng)大,幾乎可以滿足

開(kāi)發(fā)者所有的需求。

(2)ShaipDevelop

SharpDevelop是一個(gè)輕量級(jí)的開(kāi)源免費(fèi)開(kāi)發(fā)工具,SharpDevelop支持多種程序語(yǔ)言,包括C#、Java

以及VB,同時(shí)還支持多種語(yǔ)言界面。

(3)EasyCSharp

EasyCSharp是另一個(gè)優(yōu)秀的C#程序集成開(kāi)發(fā)環(huán)境,使用簡(jiǎn)便,適合小型C#應(yīng)用程序的開(kāi)發(fā)。

(三)VisualStudio2013

VisualStudio2013內(nèi)置了多種提高工作效率的功能,如自動(dòng)補(bǔ)全方括號(hào)、快捷鍵移動(dòng)整行或整塊代碼

以及行內(nèi)導(dǎo)航。VisualStudio2013的團(tuán)隊(duì)資源管理器可以更簡(jiǎn)便地導(dǎo)航到團(tuán)隊(duì)協(xié)作功能。VS2013新功能

如下所述。

1.支持Windows8.1App開(kāi)發(fā)。VisualSludio2013提供的工具集非常適合Windows平臺(tái)創(chuàng)新的新式

應(yīng)用程序,同時(shí)在所有Microsoft平臺(tái)上支持設(shè)備和服務(wù)。

2.敏捷項(xiàng)目管理。提供敏捷項(xiàng)目組合管理,提高團(tuán)隊(duì)協(xié)作。

3.版本控制。VS一直在改進(jìn)自身的版本控制功能,包括TeamExplorer新增的Connect功能,可以同

時(shí)關(guān)注多個(gè)團(tuán)隊(duì)項(xiàng)目。

4.新增代碼信息指示。VS2013增強(qiáng)了提示功能,能在你編碼的同時(shí)幫你監(jiān)察錯(cuò)誤,并通過(guò)多種指示

器進(jìn)行提示。

5.測(cè)試完善。VS2013更進(jìn)一步完善了測(cè)試功能,新增了測(cè)試用例管理功能,能夠在不開(kāi)啟專業(yè)測(cè)試

客戶端的情況下進(jìn)行測(cè)試。

6.團(tuán)隊(duì)協(xié)作。VS2013中將新增“TeamRooms”來(lái)進(jìn)一步加強(qiáng)該特性,登記、構(gòu)建、代碼審查等一切操

作都將會(huì)被記錄下來(lái)。

7.整合微軟SystemCenterIT管理平臺(tái)。VisualStud沁2013還有團(tuán)隊(duì)工作室、身份識(shí)別、.NET內(nèi)存轉(zhuǎn)

儲(chǔ)分析儀、Git支持等特性。

(―)創(chuàng)建C#項(xiàng)目

VS2013開(kāi)發(fā)環(huán)境中的基本操作:創(chuàng)建項(xiàng)目,編寫(xiě)項(xiàng)目,編譯項(xiàng)目和調(diào)試項(xiàng)目。

1.創(chuàng)建項(xiàng)目

選擇“文件”一“新建”一“項(xiàng)目”菜單項(xiàng),將彈出“新建項(xiàng)目”對(duì)話框。

(1)Windows窗體應(yīng)用程序:創(chuàng)建一個(gè)窗口程序。

(2)類庫(kù):創(chuàng)建VisualStudio中的.NET框架類庫(kù)。

(3)ASP.NETWeb應(yīng)用程序、ASP.NETWeb服務(wù)應(yīng)用程序:用于創(chuàng)建Web應(yīng)用程序。

(4)控制臺(tái)應(yīng)用程序:創(chuàng)建使用字符界面的應(yīng)用程序。

2.編寫(xiě)工程

控制臺(tái)應(yīng)用程序:在Main方法中編寫(xiě)代碼。

窗體應(yīng)用程序:在設(shè)計(jì)圖中向Form1添加控件,編寫(xiě)代碼。

3.編譯工程

選擇“生成”一“生成解決方案”菜單項(xiàng),將對(duì)項(xiàng)目進(jìn)行編譯。如果編譯成功,則在底部的“輸出”

窗口中輸出。

選擇“生成”一“重新生成解決方案”菜單項(xiàng),將過(guò)去生成的結(jié)果刪除掉,然后再生成新的應(yīng)用程序。

4.調(diào)試方案

單擊工具欄中的“啟動(dòng)”按鈕,運(yùn)行程序。

選擇“調(diào)試”一“啟動(dòng)調(diào)試”菜單項(xiàng)(或直接按F5鍵),啟動(dòng)調(diào)試功能。按CTRL+F5是不調(diào)試運(yùn)行

程序。

選擇“調(diào)試”一“逐語(yǔ)言”菜單項(xiàng)(或直接按F11鍵),啟動(dòng)逐語(yǔ)句調(diào)試功能。

(二)簡(jiǎn)單的C#編程語(yǔ)法

1.C#程序結(jié)構(gòu)

最簡(jiǎn)單的C#程序由一個(gè)命名空間構(gòu)成,該命名空間中包含一個(gè)類。對(duì)于復(fù)雜的C#程序可以包含多個(gè)

命名空間,在每個(gè)命名空間中可以包含多個(gè)類。

2.大小寫(xiě)的敏感性

C#是一種時(shí)大小寫(xiě)敏感的語(yǔ)言,同名的大寫(xiě)和小寫(xiě)代表不同的對(duì)象,因此在輸入關(guān)鍵字、變量和函數(shù)

時(shí)必須使用適當(dāng)?shù)淖址?/p>

C#的關(guān)鍵字基本上采用小寫(xiě),如if、for,while等。定義變量時(shí),私有變量的定義一般都以小寫(xiě)字母

開(kāi)頭,而公共變量的定義則以大寫(xiě)字母開(kāi)頭。

3.注釋

在程序開(kāi)發(fā)中,注釋也是非常重要的。C#提供了以下兩種注釋類型。

(1)單行注釋,注釋符號(hào)是

(2)多行注釋,注釋符號(hào)是“/*”和“*/”。

此外XML注釋符號(hào)“///”也可以用來(lái)對(duì)C#程序進(jìn)行注釋。

4.語(yǔ)句終止符

每一句C#程序都要以語(yǔ)句終止符來(lái)終結(jié),C#的語(yǔ)句終止符是

在C#程序中,可以在一行中寫(xiě)多個(gè)語(yǔ)句,但每個(gè)語(yǔ)句都要以“;”結(jié)束,也可以在多行中寫(xiě)一個(gè)語(yǔ)句,

但是在最后一行以結(jié)束。

5.語(yǔ)句塊

在C#程序中,用符號(hào)“{”和“}”包含起來(lái)的程序稱為語(yǔ)句塊。語(yǔ)句塊在條件和循環(huán)語(yǔ)句中經(jīng)常會(huì)

用到,主要是把重復(fù)使用的程序語(yǔ)句放在一起以方便使用,這樣有助于程序的結(jié)構(gòu)化。例如:

這段代碼用來(lái)求100以內(nèi)的所有偶數(shù)的和。

intsum=0;

for(inti=l;i<=100;i++)

(

if(i%2==0)

(

Sum=sum+i

}

)

6.using語(yǔ)句

一般每個(gè)程序的頭部都有一條或若干條"using…”語(yǔ)句,作用是導(dǎo)入命名空間,該語(yǔ)句類似于C和

C++中的#include命令。導(dǎo)入命令空間之后,就可以自由地使用其中的元素了。

(1)定義命名空間。命名空間是為了避免程序命名的沖突而采取的措施。使用“namespace”關(guān)鍵字

定義命名空間。其格式如下。

namespace命名空間名

花括號(hào)中的所有代碼都被認(rèn)為是在這個(gè)命名空間中。編譯器將可以使用在using指令指定的命名空間

中的資源。

(2)指定別名。using關(guān)鍵字的另一個(gè)用途是給類和命名空間指定別名,其語(yǔ)法如下:

usingalias=NamespaceName;

(三)控件、屬性、方法和事件

1.控件

C#控件是窗體中具有特定功能的元素,或者說(shuō)是C#窗體的各類功能單元。

.NET控件是一個(gè)特定的功能單元,每個(gè)控件都有自己特定的屬性和方法,并且都可以響應(yīng)特定的事

件。

2.屬性

控件屬性是控件所具有的一組特征,這些特征描述了控件的名稱、位置、顏色、大小等信息,用戶可

以改變這些特征從而改變控件的狀態(tài)。

3.方法

方法是控件所具有的功能或操作,有些方法有參數(shù),使用時(shí)要將參數(shù)置于方法后的括號(hào)中,但方法后

的括號(hào)不能省略。

4.事件和事件驅(qū)動(dòng)

在Windows窗體應(yīng)用程序中經(jīng)常會(huì)發(fā)生一些操作,如單擊、按鍵、窗體被裝載等,這些操作稱為事

件。事件的本質(zhì)是對(duì)象在發(fā)生了某些動(dòng)作時(shí)發(fā)出的信息,而對(duì)發(fā)生的事件做出響應(yīng)稱為事件處理,事件處

理是通過(guò)編寫(xiě)特定的程序代碼來(lái)實(shí)現(xiàn)的。

思考題、

作業(yè)、參

考文獻(xiàn)

課后

本章重點(diǎn)介紹VisualStudio2013開(kāi)發(fā)環(huán)境的安裝和使用,以及C#程序在VS2013環(huán)境

小結(jié)上的開(kāi)發(fā)。C#語(yǔ)言開(kāi)發(fā)程序主要有控制臺(tái)程序和Windows應(yīng)用程序。

授課時(shí)間第______次課,第_____周星期_____第______節(jié)課時(shí)

授課方式理論課口討論課口習(xí)題課口實(shí)驗(yàn)課口上機(jī)課口技能課口其他口

授課題目第二章C#語(yǔ)言基礎(chǔ)

1.掌握C#語(yǔ)言的常量和變量的概念、定義和使用。

2.掌握C#語(yǔ)言的常用數(shù)據(jù)類型,熟悉數(shù)據(jù)類型的轉(zhuǎn)換和溢出。

目的與要求3.掌握C#語(yǔ)言中的常用運(yùn)算符。

4.熟悉表達(dá)式的概念和使用。

5.掌握C#語(yǔ)言的賦值運(yùn)算符。

重點(diǎn):C#的變量的定義和使用,C#常用數(shù)據(jù)類型、運(yùn)算符、賦值

重點(diǎn)與難點(diǎn)難點(diǎn):類型轉(zhuǎn)換、溢出

教學(xué)基本內(nèi)容方法及手段

(-)變量

變量是表示內(nèi)存地址的名稱。變量具有名稱、類型和值。變量名是變量在程序源代碼中的標(biāo)識(shí);變量

類型確定它所代表的內(nèi)存的大小和類型;變量值是指它所代表的內(nèi)存塊中的數(shù)據(jù)。

在程序的執(zhí)行過(guò)程中,變量的值可以發(fā)生變化。使用變量之前必須先聲明變量,即指定變量的類型和

名稱。

(-)類型

C#是面向?qū)ο笳Z(yǔ)言,它的所有數(shù)據(jù)類型都是類。在C#中,既可以使用通過(guò)類型系統(tǒng)定義的基本類型,

也可以使用自定義類型。所有C#類型都是從System.Object類派生來(lái)的。

1.類型概括

C#語(yǔ)言的類型劃分為兩大類:引用類型和值類型。C#類型如表2-1所示。

表2-1C#類型系統(tǒng)

類別說(shuō)明

值類型簡(jiǎn)單類型有符號(hào)整型:sbyte,short,int,long

無(wú)符號(hào)整型:byte,ushort,uint,ulong

Unicode字符:char

IEEE浮點(diǎn)型:float,double

高精度小數(shù):decimal

布爾型:bool

枚舉類型enumE{…}形式的用戶定義的類型

結(jié)構(gòu)類型StructS{?-?}形式的用戶定義的類型

引用類型類類型所有其它類型的最終基類:objeci

Unicode字符串:string

classC{???)形式的用戶定義的類型

接口類型interfaceI{??-)形式的用戶定義的類型

數(shù)組類型一維和多維數(shù)組,例如int口和int[,]

委托類型delegateTD(---)形式的用戶定義的類型

類別說(shuō)明

值類型簡(jiǎn)單類型有符號(hào)整型:sbyte,short,int,long

無(wú)符號(hào)整型:byte,ushort,uint,ulong

Unicode字符:char

IEEE浮點(diǎn)型:float,double

高精度小數(shù):decimal

布爾型:bool

枚舉類型enumE{???)形式的用戶定義的類型

結(jié)構(gòu)類型StructS{???)形式的用戶定義的類型

引用類型類類型所有其它類型的最終基類:object

Unicode字符串:string

classC(-)形式的用戶定義的類型

接口類型interfaceI)?,?)形式的用戶定義的類型

數(shù)組類型一維和多維數(shù)組,例如int口和int[,]

委托類型delegateTD(-)形式的用戶定義的類型

值類型與引用類型的區(qū)別如下。

(1)值類型的變量直接包含數(shù)據(jù),而引用類型的變量存儲(chǔ)是對(duì)數(shù)據(jù)的引用(reference),后者稱為對(duì)

象(object)。

(2)對(duì)于引用類型,兩個(gè)變量可能引用同一個(gè)對(duì)象,因此對(duì)一個(gè)變量的操作可能影響另一個(gè)變量所

引用的對(duì)象。對(duì)于值類型,每個(gè)變量都有自己的數(shù)據(jù)副本,對(duì)一個(gè)變量的操作不可能影響另一個(gè)變量。

2.引用類型

引用類型是C#中的主要類型,引用類型變量中存放的是對(duì)象的內(nèi)存地址,對(duì)象的值存儲(chǔ)在這個(gè)地址

指不的內(nèi)存中。

所有“類”都是引用類型,主要包括類、接口、數(shù)組和委托。使用引用類型對(duì)象時(shí),首先要在托管堆

中分配內(nèi)存,不再需要對(duì)象時(shí),由垃圾回收器釋放。

3.值類型

值類型變量用來(lái)存放值,在堆棧中進(jìn)行分配,訪問(wèn)值類型變量時(shí),一般都是直接訪問(wèn)其實(shí)例。使用值

類型的主要目的是為了提高性能。

4基本類型

編譯器直接支持的類型叫做基本類型,C#的基本類型實(shí)際上都是.NET框架類庫(kù)中的CTS類型的映射,

都是從System.Object派生而來(lái)的類。C#基本類型如表2-2所示。

表2-2基本類型

類型描述

object所有CTS類型的基類

string字符串

sbyte有符號(hào)8-bit字節(jié),取值范圍介于128-127之間

byte無(wú)符號(hào)8-bit字節(jié),取值范圍介于0-255之間

short有符號(hào)16-bit值,取值范圍介于-32768—32767之間

ushort無(wú)符號(hào)16-bit值,取值范圍介于0~65535之間

int有符號(hào)32-bit值,取值范圍介于-2147483648~2147483647之間

uint無(wú)符號(hào)32-bit值,取值范圍介于0-4294967295之間

long有符號(hào)64-bit值,

ulong無(wú)符號(hào)64-bit值,取值范圍介于0-18446744073709551615之間

char無(wú)符號(hào)16-bitUnicode字符,取值范圍介于0~65535之間

float32-bit浮點(diǎn)數(shù),精度為7位,取值范圍在1.5X10T5~34X10^^B]

double64-bit浮點(diǎn)數(shù),精度為15~16位,取值范圍SOXIOTM-I/ZXIO31?之間

bool布爾值(true/false)

decimaldecimal類型是適合財(cái)務(wù)和貨幣計(jì)算的128位數(shù)據(jù)類型

在基本類型中,object和string是引用類型,其余的類型都是值類型。object類類型是所有其它類型的

最終基類。string型縫直接從object繼承的密封類類型。string類的實(shí)例表示Unicode字符串。string類

型的值可以寫(xiě)為字符串。值類型的基本類型又稱為簡(jiǎn)單類型。

(1)整型

C#定義了8種整型,即sbyte、byte、short、ushort、int、uint、long、ulongo

(2)布爾型

布爾型(bool)有true和false兩個(gè)布爾值。

(3)字符型

字符型(char)的可能值集與Unicode字符集相對(duì)應(yīng)。雖然char的表示形式與ushort相同,但是它們

是兩種不同的類型,不能等價(jià)使用。字符型文本用一對(duì)單引號(hào)(')來(lái)識(shí)別,比如'A,。

要在字符文本中表示一些特殊字符,就需要使用轉(zhuǎn)義符。C#轉(zhuǎn)義符如表2-3所示。

表2-3轉(zhuǎn)義符

轉(zhuǎn)義符意義

\'單引號(hào)

雙引號(hào)

\\反斜杠

\0空字符

\a感嘆號(hào)

\b退格

\f換頁(yè)

\n新行

\r回車

\t水平制表符

\v垂直制表符

\x后面跟四個(gè)十六進(jìn)制數(shù)字,表示一個(gè)ASCII字符

\u后面跟四個(gè)十六進(jìn)制數(shù)字,表示一個(gè)Unicode字符

(4)浮點(diǎn)型

浮點(diǎn)型包括float和double,它們的差別在于取值范圍和精度。浮點(diǎn)數(shù)以sXmX形式表示的非

零值的有限集合,其中s為1或-1,m和e由特定的浮點(diǎn)型確定:對(duì)于float,為0<m<2"和一i49We

W104,對(duì)于double,則為0<m<2s3和_1075WeW970。非標(biāo)準(zhǔn)化的浮點(diǎn)數(shù)被視為有效非零值。

(5)decimal型

decimal型是一種高精度、128位的數(shù)據(jù)類型,用于金融和貨幣的計(jì)算。它能表示28至29位有效數(shù)字,

這里指的是位數(shù)(digit)而不是小數(shù)位(decimalplace)?運(yùn)算準(zhǔn)確到28個(gè)小數(shù)位的最大值。

與浮點(diǎn)型相比,decimal類型具有較高的精度,但取值范圍較小。

當(dāng)使用文本來(lái)表示decimal型數(shù)值時(shí),必須使用m后綴,比如3.1415926m。如果省略了m,則會(huì)被編

譯器認(rèn)做double型。

(6)string型

string型用來(lái)表示字符串,即Unicode字符的連續(xù)集合,通常用于表示文本。string型是字符型(char)

對(duì)象的連續(xù)集合。string的值構(gòu)成該連續(xù)集合的內(nèi)容,并且該值是恒定的,就是說(shuō)字符串的值一旦創(chuàng)建就

不能再修改,除非重新給它賦值。

字符串需要用雙引號(hào)括起來(lái),比如下面的語(yǔ)句聲明了一個(gè)字符串,并初始化它的值。

strings="HelloWorld!

可以使用“+”來(lái)連接字符串,也可以使用“+”來(lái)連接字符串與其它基本類型,其它基本類型會(huì)先轉(zhuǎn)

換成字符串,再與字符串相連。

(7)object型

object型是C#中最基礎(chǔ)的類型,可以用它來(lái)表示任何類型的值。

(四)變量操作

變量名用來(lái)標(biāo)識(shí)變量,變量名必須符合一定的規(guī)則。對(duì)變量的基本操作包括聲明變量和給變量賦值。

1.聲明變量和變量的作用域

所謂聲明變量,就是指定變量的名稱和類型。簡(jiǎn)單的C#變量聲明由一個(gè)類型和跟在后面的一個(gè)或多

個(gè)變量組成,多個(gè)變量之間用逗號(hào)分開(kāi),聲明以分號(hào)結(jié)束。比如:

intcount;

doublex,y,z;

由一對(duì)大括號(hào)(“{”和“}”)括起來(lái)的一組語(yǔ)句叫做語(yǔ)句塊。語(yǔ)句塊是可以嵌套的,即語(yǔ)句塊內(nèi)還可

以包含其它的語(yǔ)句塊。每一個(gè)語(yǔ)句塊內(nèi)都可以聲明變量,這些變量叫做語(yǔ)句塊的局部變量。局部變量的作

用域是指聲明變量的語(yǔ)句塊內(nèi),位于聲明變量之后的區(qū)域。只有在其作用域內(nèi),局部變量才是有效的。

對(duì)于值類型變量來(lái)說(shuō),一旦離開(kāi)了其作用域,變量就會(huì)從堆棧中彈出,馬上被釋放。對(duì)于引用類型變

量來(lái)說(shuō),一旦離開(kāi)其作用域,它的對(duì)象就被公共語(yǔ)言運(yùn)用時(shí)標(biāo)記為“無(wú)效的”,但是不一定會(huì)被馬上釋放,

而是等到下一次垃圾收集時(shí)才會(huì)被垃圾回收器回收釋放。

C#的變量名是一種標(biāo)識(shí)符,應(yīng)該符合標(biāo)識(shí)符的命名規(guī)則?;镜淖兞棵?guī)則如下所示。

(1)變量名只能由字母、數(shù)字和下劃線組成;

(2)變量名的第一個(gè)符號(hào)只能是字母和下劃線,不能是數(shù)字;

(3)不能使用關(guān)鍵字來(lái)做變量名。

變量名最好能體現(xiàn)變量的含義和用途。變量名一般采用第一個(gè)字母小寫(xiě)的名詞,也可以采用多個(gè)詞構(gòu)

成的組合詞。如果變量名由多個(gè)詞組成,則從第一個(gè)詞之后的詞的第一個(gè)字母應(yīng)該大寫(xiě)。變量命名是編程

風(fēng)格的重要內(nèi)容。

通過(guò)聲明變量,編譯器將進(jìn)行如下的操作。

(1)給變量分配足夠的內(nèi)存,并將變量名與其內(nèi)存地址聯(lián)系起來(lái).

(2)保留變量名,使得同一作用域內(nèi)的變量不能再使用這個(gè)名稱。

(3)確保變量的使用方式與其類型始終保持一致。C#是一種類型安全的語(yǔ)言,C#編譯器保證存儲(chǔ)

在變量中的值總是具有合適的類型。

2.給變量賦值

C#使用賦值運(yùn)算符“="(等號(hào))來(lái)給變量賦值,將等號(hào)右邊的值賦給左邊的變量。比如:

intcount;

count=20;//將值20賦值給變量count

等號(hào)的右邊也可以是一個(gè)已經(jīng)被賦值的變量。當(dāng)被賦值的變量是值類型時(shí),就將右邊變量的值賦值給

左邊的變量;當(dāng)被賦值的變量是引用類型時(shí),就將右邊變量的對(duì)象賦值給左邊的變量。比如:

intcount,num;

count=20;//將值20賦值給變量count

num=count;〃將count的值賦給變量num

stringname,userid;

name="Mary";〃將"Mary”賦值給name

userid=name;〃將對(duì)象name賦值給對(duì)象userid

C#是類型安全的語(yǔ)言,因此,當(dāng)給一個(gè)變量賦值時(shí),值的類型必須滿足下列情形之一:

(1)與變量的類型相同。

(2)是一個(gè)C#將執(zhí)行賦值轉(zhuǎn)換的類型。

(3)是一個(gè)可以顯式轉(zhuǎn)換為正確類型的類型。

使用變量的一個(gè)基本原則是:先明確賦值后使用。已經(jīng)初始化和進(jìn)行了賦值操作的變量都是已經(jīng)明確

賦值的。

(五)常量

常量就是其值固定不變的量,而且常量的值在編譯時(shí)就己經(jīng)確定。常量的類型只能為下列類型之一:

sbyte、byte、short、ushort、int>uint、long>ulong>char、float、double,decimal、bool、string或者枚舉

類型。

C#有兩種不同的常量,即文本常量和符合常量。文本常量就是輸入到程序中的值,比如10、10.5、“Mary”

等;符合常量與變量相似,也是代表內(nèi)存地址的名稱。與變量不同的是,符合常量的值在定義之后就不能

改變了。比如。

constdoublePI=3.1415926;

conststringCompanyName="AbeSoftware^^;

(一)類型轉(zhuǎn)換

類型轉(zhuǎn)換就是將一種類型當(dāng)做另一種類型來(lái)使用。轉(zhuǎn)換可以是隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。

1.隱式轉(zhuǎn)換

隱式轉(zhuǎn)換就是系統(tǒng)默認(rèn)的、不需要加以聲明就能進(jìn)行的轉(zhuǎn)換。隱式轉(zhuǎn)換一般不會(huì)失敗,也不會(huì)導(dǎo)致信

息丟失。

隱式數(shù)值轉(zhuǎn)換包括:

(1)從sbyte至!Jshort、int>long>floatdouble或decimal。

(2)從byte至Ushort、ushort>int>uint>long、ulong>float>double或decimal。

(3)從short至int、long>floatdouble或decimal。

(4)從ushort至I」int、uint>long、ulong^float、double或decimal。

(5)從int至!Jlong、float、double或decimalo

(6)從uint至Ijlong、ulong、floatdouble或decimal。

(7)從long到float>double或decimalo

(8)從ulong到float>double或decimal0

(9)從char至ushorl、int^uint^long>ulong>float、double或decimal。

(10)從float至!Jdouble。

各種值類型之間的隱式轉(zhuǎn)換關(guān)系如表2-4所示。

表2-4值類型之間的隱式轉(zhuǎn)換

sbytebyteshortushortintuintlongcharfloatulongdecimaldouble

sbyteJXJXJXJXJXVX

byteXVJJJVJXJJVX

shortXXJXJXJXJXVJ

ushortXXXJJJJXJVVJ

intXXXXJXJXVXJV

uintXXXXXVJXJJJJ

longXXXXXXJXJXJJ

charXXXJJVJVJJJJ

floatXXXXXXXXVXXJ

ulongXXXXXXXXJVVJ

2.顯式轉(zhuǎn)換

顯式轉(zhuǎn)換也稱為強(qiáng)制性轉(zhuǎn)換,需要在代碼中明確地聲明要轉(zhuǎn)換的類型。如果要在不存在隱式轉(zhuǎn)換的類

型之間進(jìn)行轉(zhuǎn)換,就需要使用顯式轉(zhuǎn)換。顯式轉(zhuǎn)換并不總是安全的,可能會(huì)導(dǎo)致信息丟失。

由于顯式轉(zhuǎn)換包括所有隱式和顯式數(shù)值轉(zhuǎn)換,因此總是可以使用強(qiáng)制轉(zhuǎn)換表達(dá)式從任何數(shù)值類型轉(zhuǎn)換

為任何其它的數(shù)值類型。

數(shù)值類型之間的顯式轉(zhuǎn)換關(guān)系如表2-5所示。

表2-5值類型之間的顯式轉(zhuǎn)換

sbytebyteshortushortintuintlongcharfloatulongdecimaldouble

sbyteJJXJJXVVXXXX

byteVJXXXXXJXXXX

shortJJVJXJJJXXXX

ushortVJVJXXXJXXXX

intVJJJJJXVXVXX

uintVJVVJJXJXXXX

longJJJJJJJJXVXX

charJJVXXXXJXXXX

floatJJJVJJJJJJJX

□longJJJJJJJJXJXX

doubleJJVJJJJJVJJJ

decimalJJJJVJJJJVJV

(-)運(yùn)算符

C#語(yǔ)言中的表達(dá)式類似于數(shù)學(xué)運(yùn)算中的表達(dá)式,是由操作符、操作對(duì)象和標(biāo)點(diǎn)符號(hào)等連接而成的式子。

最簡(jiǎn)單的表達(dá)式是空表達(dá)式,它不起任何作用但仍然是一個(gè)合法的表達(dá)式。但絕大多數(shù)表達(dá)式都需要使用

操作符來(lái)進(jìn)行運(yùn)算。

表達(dá)式由操作數(shù)(即操作對(duì)象)和操作符組成。操作數(shù)可以是一個(gè)變量、常量或另一個(gè)表達(dá)式,操作

符則指明了作用于操作數(shù)的操作方式。

一元操作符:作用于一個(gè)操作數(shù)的操作符,又可以分為前綴操作符和后綴操作符,使用時(shí)分別放置于

操作數(shù)的前面和后面。

二元操作符:作用于兩個(gè)操作數(shù)的操作符,使用時(shí)放在兩個(gè)操作數(shù)之間。

三元操作符:作用于三個(gè)操作數(shù)的操作符。

C#運(yùn)算符(operator)用于在表達(dá)式中對(duì)一個(gè)或多個(gè)操作數(shù)進(jìn)行計(jì)算并返回結(jié)果值。接受一個(gè)操作數(shù)

的運(yùn)算符稱作一元運(yùn)算符。接受兩個(gè)操作數(shù)的運(yùn)算符稱作二元運(yùn)算符,如算術(shù)運(yùn)算符+、-、*、/。接受三

個(gè)操作數(shù)的運(yùn)算符稱作三元運(yùn)算符,條件運(yùn)算符?:是C#中唯一的三元操作符。

當(dāng)表達(dá)式包含多個(gè)運(yùn)算符時(shí),運(yùn)算符的優(yōu)先級(jí)控制各運(yùn)算符的計(jì)算順序。

(二)算術(shù)運(yùn)算符

算術(shù)運(yùn)算符兩邊的操作應(yīng)是數(shù)值型。若是字符型,則自動(dòng)轉(zhuǎn)換呈字符所對(duì)應(yīng)的ASCII碼值后再進(jìn)行運(yùn)

算。算術(shù)運(yùn)算符如表2-6所示。

表2-6算術(shù)運(yùn)算符

運(yùn)算符含義說(shuō)明優(yōu)先級(jí)

++增量操作數(shù)加11

—減量操作數(shù)減一1

4-一元加操作數(shù)的值2

-一元減操作數(shù)的相反數(shù)2

*乘法操作數(shù)的積3

/除法第二個(gè)操作數(shù)除第一個(gè)操作數(shù)3

%模數(shù)第二個(gè)操作數(shù)除第一個(gè)操作數(shù)后的余數(shù)3

+加法兩個(gè)操作數(shù)之和4

-減法從第一個(gè)操作數(shù)中減去第二個(gè)操作數(shù)4

增量運(yùn)算符(++,--)可以出現(xiàn)在操作數(shù)之前(++variable、--variable)或者之后(variable++、variable-)o

(=)關(guān)系和類型測(cè)試運(yùn)算符

關(guān)系和類型測(cè)試運(yùn)算符如表2-7所示。

表2-7關(guān)系和類型測(cè)試運(yùn)算符

運(yùn)算符含義

==相等

1=不等

>大于

>=大于等于

<小于

<=小于等于

xisT數(shù)據(jù)x是否屬于T

xasT返回轉(zhuǎn)換為類型T的x不是T返回null

注意:

關(guān)系運(yùn)算符的優(yōu)先級(jí)相同.

對(duì)于兩個(gè)預(yù)定義的數(shù)值類型,關(guān)系運(yùn)算符按照操作數(shù)的數(shù)值大小進(jìn)行比較。

對(duì)于string類型,關(guān)系運(yùn)算符比較字符串的值,即按字符的ASCH碼值從左到右一一比較:首先比較

兩個(gè)字符串的第一個(gè)字符,其ASCII碼值大的字符串大,若第一個(gè)字符相等,則繼續(xù)比較第二個(gè)字符,以

此類推,直至出現(xiàn)不同的字符為止.

(四)邏輯運(yùn)算符

邏輯運(yùn)算符如表2-8所示。

表2-8邏輯運(yùn)算符

運(yùn)算符含義說(shuō)明優(yōu)先級(jí)

當(dāng)操作數(shù)為False時(shí),返回True;當(dāng)操作數(shù)

!邏輯非1

為T(mén)rue時(shí)返回False

兩個(gè)操作數(shù)均為T(mén)rue時(shí),結(jié)果才為T(mén)rue,

&邏輯與2

否則為False

兩個(gè)操作數(shù)不相同,即一個(gè)為T(mén)rue一個(gè)為

A邏輯異或3

False時(shí),結(jié)果才為T(mén)rue,否則為False

兩個(gè)操作數(shù)中有一個(gè)為T(mén)rue時(shí),結(jié)果即為

1邏輯或4

True,否則為False

兩個(gè)操作數(shù)均為T(mén)rue時(shí),結(jié)果才為T(mén)rue。

&&條件與5

僅在必要時(shí)才計(jì)算第二個(gè)操作數(shù)

兩個(gè)操作數(shù)中有?個(gè)為T(mén)rue時(shí),結(jié)果即為

II條件或6

True。僅在必要時(shí)才計(jì)算第二個(gè)操作數(shù)

(五)字符串運(yùn)算符

C#提供的字符串運(yùn)算符只有“+”,用于串聯(lián)(拼接)兩個(gè)字符串。

當(dāng)其中的一個(gè)操作數(shù)是字符串類型或兩個(gè)操作數(shù)都是字符串類型時(shí).,二元“+”運(yùn)算符執(zhí)行字符串串

聯(lián)。當(dāng)字符串串聯(lián)運(yùn)算中,如果它的一個(gè)操作數(shù)為null,則用空字符串來(lái)替換此操作數(shù)。否則,任何非字

符串參數(shù)都通過(guò)調(diào)用從。bject類型繼承的虛ToString方法,轉(zhuǎn)換為它的字符串表示形式。如果ToString返

回null,則替換成空字符串。

(六)位運(yùn)算符

位運(yùn)算符如表2-9所示。

表2-9位運(yùn)算符

運(yùn)算符含義優(yōu)先級(jí)

?按位求補(bǔ)1

?左移2

?右移2

&按位邏輯與3

A按位邏輯異或4

1按位邏輯或5

(七)其它運(yùn)算符

sizeof用于獲取值類型的字節(jié)大小,僅適用于值類型,而不適用于引用類型。sizeof運(yùn)算符只能在不

安全代碼塊中使用。

typedef用于獲取類型的System.Type對(duì)象,如System.Typetype=typeof(int);o

若要獲取表達(dá)式的運(yùn)行時(shí)類型,可以使用.NETFramework方法GetType。。

條件運(yùn)算符

邏輯表達(dá)式?表達(dá)式1:表達(dá)式2;

首先計(jì)算“邏輯表達(dá)式”的值,如果True,則運(yùn)算結(jié)果為“表達(dá)式1”的值,否則運(yùn)算結(jié)果為“表達(dá)

式2”的值。

計(jì)算a和b兩個(gè)數(shù)中較大的數(shù),并將其賦給變量max。

max=(a>b)?a:b;

(-)簡(jiǎn)單賦值語(yǔ)句

賦值運(yùn)算符是符號(hào)“=",它的作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量。由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)

式連接起來(lái)的式子稱為賦值表達(dá)式。賦值表達(dá)式的一般形式如下:

變量=表達(dá)式

其作用是把賦值運(yùn)算符右邊表達(dá)式的值賦給賦值運(yùn)算符左邊的變量。例如:

a=l;

b=a;

a=b=c=2;

c=b+a;

注意:

1.賦值運(yùn)算后,變量原來(lái)的值被表達(dá)式的值替換。

2.賦值表達(dá)式的值也就是賦值運(yùn)算符左邊變量得到的值,如果右邊表達(dá)式的值的類型與左邊變量的類

型不一致,以左邊變量的類型為基準(zhǔn),將右邊表達(dá)式的值的類型無(wú)條件的轉(zhuǎn)換為左邊變量的類型,相應(yīng)的

賦值表達(dá)式的值的類型與被賦值的變量的類型一致。

3.賦值運(yùn)算符的優(yōu)先級(jí)很低,僅高于逗號(hào)運(yùn)算符。結(jié)合方向?yàn)椤皬淖蟮接摇薄?/p>

(二)復(fù)合賦值語(yǔ)句

為使程序書(shū)寫(xiě)簡(jiǎn)潔和便于代碼優(yōu)化,可在賦值運(yùn)算符的前面加上其它常用的運(yùn)算符,構(gòu)成復(fù)合賦值運(yùn)

算符,相應(yīng)地,由復(fù)合賦值運(yùn)算符也可構(gòu)成賦值表達(dá)式。復(fù)合賦值運(yùn)算符如表2-10所示。

表2-10賦值運(yùn)算符

運(yùn)算符含義舉例等效于

+=加法賦值sum+=itemsum=sum+item

-=減法賦值count+=1count=count+l

*=乘法賦值x*=y+5x=x*(y+5)

/=除法賦值x/=y-zx=x/(y-z)

%=取模賦值x%=2x=x%2

?=左移賦值x?=yx=x?y

?=右移賦值x?=yx=x?y

&=與賦值x&=5>3x=x&(5>3)

1=或賦值x|=truex=x|true

A=異或賦值xA=yx=xAy

思考題、

作業(yè)、參

考文獻(xiàn)

C#中的數(shù)據(jù)類型分為值類型和引用類型,其中值類型又包括整數(shù)類型、布爾類型、實(shí)數(shù)

類型、結(jié)構(gòu)類型和枚舉類型;而引用類型包括類、接口、代表和數(shù)組。值類型的變量總是直

接包含著自身的數(shù)據(jù),而引用類型的變量是指向?qū)嶋H數(shù)據(jù)的地址。

C#規(guī)定,在特定的值類型之間以及引用類型之間可以進(jìn)行隱式或顯式的類型轉(zhuǎn)換,能夠

課后以面向?qū)ο蟮姆绞絹?lái)處理一切數(shù)據(jù)類型。

小結(jié)類型的實(shí)例根據(jù)其使用方式的不同,可以分為常量和變量。常量和變量都必須先定義后

使用。

表達(dá)式主要包括:算術(shù)表達(dá)式、賦值表達(dá)式、關(guān)系表達(dá)式、條件邏輯表達(dá)式等。通過(guò)對(duì)

這些操作符和表達(dá)式的靈活應(yīng)用,能夠滿足大多數(shù)情況下數(shù)據(jù)運(yùn)算和處理的要求。

授課時(shí)間第_____次課,第_____周星期_____第______節(jié)課時(shí)

授課方式理論課口討論課口習(xí)題課口實(shí)驗(yàn)課口上機(jī)課口技能課口其他口

授課題目第三章程序控制

1.掌握C#語(yǔ)言中的輸入輸出語(yǔ)句。

目的與要求2.了解程序控制的概念,掌握選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)。

3.掌握跳轉(zhuǎn)語(yǔ)句和嵌套循環(huán)的使用。

重點(diǎn):程序控制的實(shí)現(xiàn)語(yǔ)句

重點(diǎn)與難點(diǎn)難點(diǎn):for和whle語(yǔ)句

教學(xué)基本內(nèi)容方法及手段

(一)輸入輸出

C#控制臺(tái)程序一般使用.NETFrameworkConsole類提供的輸入、輸出服務(wù)。輸出有Write、WriteLine

方法,輸入有Read、ReadLine和ReadKey方法。

Console.WriteLine()方法是將要輸出的字符串與換行控制字符一起輸出,當(dāng)語(yǔ)句執(zhí)行完畢時(shí),光標(biāo)會(huì)移

到目前輸出字符串的下一行;至于Console.Write。方法,光標(biāo)會(huì)停在輸出字符串的最后一個(gè)字符后,不會(huì)移

動(dòng)到下一行。

注意:Console類是System命名空間的成員。如果程序開(kāi)頭沒(méi)有包含usingSystem;語(yǔ)句,則必須指定

System類。

(二)控制臺(tái)輸出

1.輸出字符串

WriteLine可輸出字符串。

Console.WriteLine("HelloWorld!");

2.輸出數(shù)字

WriteLine也可輸出數(shù)字。

intx=100;

Console.WriteLine(x);

3.輸出若干個(gè)項(xiàng)

WriteLine還可以一次輸出多

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論