C#初級(jí)入門教程PPT-第1章_第1頁(yè)
C#初級(jí)入門教程PPT-第1章_第2頁(yè)
C#初級(jí)入門教程PPT-第1章_第3頁(yè)
C#初級(jí)入門教程PPT-第1章_第4頁(yè)
C#初級(jí)入門教程PPT-第1章_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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)介

第1章緒論本章要點(diǎn)通過(guò)本章的學(xué)習(xí),使讀者:

了解本課程的學(xué)習(xí)目標(biāo)和技能要求了解C#發(fā)展過(guò)程及特點(diǎn)了解VisualC#2005開(kāi)發(fā)環(huán)境了解C#程序的基本結(jié)構(gòu)熟悉C#的基本輸入輸出

1.1C#案例程序演示1.演示程序1─—計(jì)算器程序具有加、減、乘和除四則運(yùn)算的計(jì)算功能(參見(jiàn)第7章)。圖1-1計(jì)算器程序1.1C#案例程序演示2.演示程序2─—記事本程序

具有如下功能:

(1)

文本錄入、編輯、查找替換和打印等;(2)設(shè)置文本顏色和字體;(3)提供工具欄按鈕人機(jī)交互;(4)狀態(tài)欄上顯示鼠標(biāo)坐標(biāo)和北京時(shí)間1.1C#案例程序演示2.演示程序2─—記事本程序

圖1-2

繪圖程序的運(yùn)行情況1.1C#案例程序演示3.演示程序3─—時(shí)鐘仿真程序

圖1-3MyClock程序的運(yùn)行界面

1.1C#案例程序演示4.演示程序4─—媒體播放器可以播放波形音頻(WAVE)、MIDI音頻和視頻(AVI)三種媒體圖1-4正在播放Dancing.avi視頻文件的媒體播放器

1.1C++案例程序演示5.演示程序5─—學(xué)生信息管理系統(tǒng)具有以下功能:

記錄瀏覽記錄編輯查找記錄圖1-5學(xué)生信息管理系統(tǒng)1.1C++案例程序演示5.演示程序5─—MyQQ聊天程序具有私人/公眾聊天功能。界面主窗體包含:編輯發(fā)送信息記錄編輯在線聊天客戶聊天室信息1.1C#案例程序演示6.演示程序6─—MyQQ聊天程序圖1-6MyQQ聊天室客戶端1.1C#案例程序演示6.演示程序6─—MyQQ聊天程序圖1-7MyQQ聊天室服務(wù)端1.2C#簡(jiǎn)介1.2.1VisualC#.NET簡(jiǎn)介

C#是微軟公司在2000年7月發(fā)布的一種全新的簡(jiǎn)單、安全、面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。通常,我們對(duì)于C#和VisualC#.NET可以不加區(qū)分,但嚴(yán)格地說(shuō),兩者是有區(qū)別的。C#只是一門語(yǔ)言或者說(shuō)是一個(gè)標(biāo)準(zhǔn),它是專門為微軟的.NET平臺(tái)設(shè)計(jì)的。作為VisualStdio.NET套件中的語(yǔ)言之一,充當(dāng)了微軟推行.NET戰(zhàn)略的拳頭產(chǎn)品。但是,難保今后不會(huì)出現(xiàn)其他使用C#語(yǔ)言的開(kāi)發(fā)工具(就像有VisualC++和C++Builder一樣)。VisualC#.NET則是指“C#語(yǔ)言+.NET框架”。

1.2C#簡(jiǎn)介1.2.2VisualC#.NET特點(diǎn)1.語(yǔ)言的變化C#是在C、C++的基礎(chǔ)上改進(jìn)而來(lái)的,作為一種全新的語(yǔ)言,它繼承了C、C++的強(qiáng)大功能,同時(shí),吸收了VisualBasic語(yǔ)言的簡(jiǎn)單易用特點(diǎn)。雖然從整體來(lái)說(shuō),它基本繼承了C語(yǔ)言的語(yǔ)法風(fēng)格,但還是有明顯的區(qū)別和改進(jìn),具體的語(yǔ)言變化細(xì)節(jié)將在本書中的各處體現(xiàn)。2..NET框架支持VisualC#.NET完全集成了.NET框架。.NET框架封裝了傳統(tǒng)的WindowsAPI,為用戶提供了全新的編程接口,并吸收了微軟20世紀(jì)90年代中后期發(fā)展的各種新技術(shù)(COM+組件、ASP技術(shù)、XML支持等),為程序提供了對(duì)語(yǔ)言互操作性、垃圾回收、增強(qiáng)的安全性和改進(jìn)支持。

1.2C#簡(jiǎn)介1.2.3C#與其他語(yǔ)言的關(guān)系

1.與C、C++的關(guān)系

C#是從C、C++語(yǔ)言演變改進(jìn)而來(lái)的。C#基本上繼承了C語(yǔ)言的語(yǔ)法風(fēng)格,同時(shí),又從C++那里繼承了面向?qū)ο筇匦?。但是,它們之間的不同點(diǎn)也是很明顯的。主要體現(xiàn)有:第一,C#的對(duì)象模型已經(jīng)面向Internet進(jìn)行了重新的設(shè)計(jì),使用的是.NET框架的類庫(kù),與C++的對(duì)象模型結(jié)構(gòu)完全不一樣。第二,C#語(yǔ)言不再提供對(duì)指針類型的支持,使得程序不能隨便訪問(wèn)內(nèi)存地址空間,從而更加健壯。第三,在面向?qū)ο蠹夹g(shù)方面,C#不再支持多重繼承,避免了以往類層次結(jié)構(gòu)中由于多重繼承帶來(lái)的可怕后果。相應(yīng)的功能可以通過(guò)對(duì)接口的多重繼承來(lái)實(shí)現(xiàn)。

1.2C#簡(jiǎn)介1.2.3C#與其他語(yǔ)言的關(guān)系

2.與Java相比較C#與Java極其相似,甚至超過(guò)了C#與C、C++的相似程度,不過(guò),兩者還是有區(qū)別的。例如,Java通過(guò)虛擬機(jī)來(lái)實(shí)現(xiàn)平臺(tái)的可移植性,而C#則是首先被編譯成一種中間語(yǔ)言,然后,在執(zhí)行時(shí)由公共語(yǔ)言運(yùn)行時(shí)中的即時(shí)編譯器編譯本機(jī)代碼交由CPU處理。而且,Java虛擬機(jī)只能執(zhí)行Java程序,而即時(shí)編譯器能夠編譯任何.NET框架支持的語(yǔ)言(如C#、VisualBasic、J#)編寫的程序。1.3開(kāi)發(fā)環(huán)境第一次啟動(dòng)時(shí)的界面1.3開(kāi)發(fā)環(huán)境啟始窗體1.4簡(jiǎn)單的C#程序1.4.1創(chuàng)建C#程序項(xiàng)目創(chuàng)建C#控制臺(tái)應(yīng)用程序,操作步驟如下:(1)選擇“文件”“新建”“項(xiàng)目”命令,打開(kāi)“新建項(xiàng)目”對(duì)話框,如圖下圖所示。

1.4簡(jiǎn)單的C#程序1.4.1創(chuàng)建C#程序項(xiàng)目(2)在“新建項(xiàng)目”對(duì)話框中,在“項(xiàng)目類型”列表框選擇“VisualC#”,在“模板”列表框中選擇“控制臺(tái)應(yīng)用”選項(xiàng)。

(3)單擊“確定”按鈕,VisualStdio.NET為用戶自動(dòng)生成代碼。

1.4簡(jiǎn)單的C#程序1.4.2編寫C#程序代碼【例1-1】第一個(gè)C#程序。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceMyWelcome{classProgram{staticvoidMain(string[]args){//運(yùn)行時(shí)在窗口中顯示的字符串

Console.WriteLine("歡迎使用C#");}}}1.4簡(jiǎn)單的C#程序1.4.3編譯、連接和執(zhí)行程序從“生成”菜單中選擇“重新生成MyWelcome”命令。這時(shí),C#編譯器將會(huì)開(kāi)始編譯、連接程序,并最終生成可以執(zhí)行文件。在編譯程序時(shí),將會(huì)打開(kāi)一個(gè)輸出窗口顯示編譯過(guò)程中所遇到的錯(cuò)誤和警告等信息。下圖顯示了在沒(méi)有錯(cuò)誤情況下編譯的結(jié)果窗口。1.4簡(jiǎn)單的C#程序1.4.3編譯、連接和執(zhí)行程序當(dāng)在編譯過(guò)程中出現(xiàn)錯(cuò)誤時(shí)候(為了說(shuō)明出現(xiàn)錯(cuò)誤的情況,在源代碼中添加一行錯(cuò)誤的語(yǔ)句),就會(huì)打開(kāi)如下圖所示“錯(cuò)誤列表”窗口,并在其中列出編譯過(guò)程中所遇到的每一個(gè)條錯(cuò)誤,用戶可以通過(guò)雙“錯(cuò)誤列表”窗口中的錯(cuò)誤項(xiàng)直接跳到對(duì)應(yīng)的代碼行。

1.4簡(jiǎn)單的C#程序1.4.3編譯、連接和執(zhí)行程序使用“調(diào)試”

“開(kāi)始調(diào)試”命令或者工具欄目的調(diào)試按鈕或者直接按下F5鍵;要直接運(yùn)行程序,則使用“調(diào)試”

“開(kāi)始執(zhí)行”命令或Ctrl+F5鍵。運(yùn)行本例子中的程序,將顯示下圖所示的窗口。1.4簡(jiǎn)單的C#程序1.4.4C#程序結(jié)構(gòu)分析1.命名空間C#程序是用命名空間來(lái)組織代碼,要訪問(wèn)某個(gè)命名空間中的類或者對(duì)象,必須用如下語(yǔ)法:命名空間.類名由于Console類位于System命名空間中,所以實(shí)際上用戶在訪問(wèn)Console類時(shí),完整的寫法應(yīng)該是:System.Console Console,如:Console.WriteLine("歡迎");是因?yàn)樵诔绦虻牡谝恍?,使用了:usingSystem;1.4簡(jiǎn)單的C#程序1.4.4C#程序結(jié)構(gòu)分析2.類C#要求程序中每一個(gè)元素都要屬于一個(gè)類,程序MyWelcome第6行classProgram,聲明了一個(gè)類,類的名字叫Program。這個(gè)程序的功能就是依靠它來(lái)完成,C#程序由于大括號(hào)“{”和“}”構(gòu)成,程序每一對(duì)大括號(hào)“{}”構(gòu)成一個(gè)塊,大括號(hào)成對(duì)出現(xiàn),可以嵌套,即塊內(nèi)可以出現(xiàn)子塊,嵌套深度不受限制,可以嵌套任意層,但一定要保證“{”和“}”成對(duì)出現(xiàn),否則,程序就是錯(cuò)誤的。1.4簡(jiǎn)單的C#程序1.4.4C#程序結(jié)構(gòu)分析3.Main()方法staticvoidMain(string[]args)這行代碼所定義的其實(shí)是類Program的一個(gè)靜態(tài)方法,C#規(guī)定,名字為Main()的靜態(tài)方法就是程序的入口。當(dāng)程序執(zhí)行時(shí)候,就直接調(diào)用這個(gè)方法,這個(gè)方法包含一對(duì)大括號(hào)“{”和“}”,在這兩個(gè)括號(hào)間的語(yǔ)句就是該方法所包含的可以執(zhí)行語(yǔ)句,也就是該方法所要執(zhí)行的功能,本例子中該方法要執(zhí)行的功能就是輸出“歡迎使用C#”字符串。該方法的執(zhí)行從左括號(hào)“{”開(kāi)始,到右括號(hào)“}”結(jié)束。1.4簡(jiǎn)單的C#程序1.4.4C#程序結(jié)構(gòu)分析4.注釋在C#語(yǔ)言中,提供兩種方法注釋方法:(1)每一行中“//”后面的內(nèi)容作為注釋內(nèi)容,該方式只對(duì)本行生效;(2)需要多行注釋的時(shí)候,在第一行之前使用“/*”,在末尾一行之后使用“*/”,也就是說(shuō)被“/*”與“*/”所包含的內(nèi)容都作為注釋內(nèi)容。

1.5輸入/輸出操作

—控制臺(tái)

1.5.1Console.WriteLine()方法

WriteLine()方法的作用是將信息輸出到控制臺(tái),可以采用“{N[,M][:格試化字符串]}”的形式來(lái)格式化輸出字符串。(見(jiàn)書P16-18)【例1-2】

staticvoidMain(string[]args)//程序的入口{

inti=12345;doublej=123.45678;

Console.WriteLine("i={0,8:D}j={1,10:F3}",i,j);

Console.WriteLine("i={0,-8:D}j={1,-10:F3}",i,j);

}運(yùn)行結(jié)果是: i=12345j=123.457 i=12345j=123.457

1.5輸入/輸出操作

1.5.2Console.Write()方法Write()方法和WriteLine()方法類似,都是將信息輸出到控制臺(tái),但是輸出到屏幕后并不會(huì)產(chǎn)生一個(gè)新行。

【例1-3】

staticvoidMain(string[]args)//程序的入口{inti=12345;doublej=123.45678;Console.Write("i={0,8:D}j={1,10:F3}",i,j);Console.Write("i={0,-8:D}j={1,-10:F3}",i,j);}運(yùn)行結(jié)果是:i=12345j=123.457i=12345j=123.4571.5輸入/輸出操作

1.5.3Console.ReadLine()方法ReadLine()方法用來(lái)從控制臺(tái)讀取一行數(shù)據(jù),但是,ReadLine()方法并不接收回車鍵。如果ReadLine()方法沒(méi)有接收到任何輸入,或者接收了無(wú)效的輸入,那么ReadLine()方法將返回null【例1-4】

staticvoidMain(string[]args)//程序的入口

{ stringstr;

Console.WriteLine("請(qǐng)輸入你的姓名:");

str=Console.ReadLine(); Console.WriteLine("{0},歡迎你!",str);

}運(yùn)行結(jié)果是: 請(qǐng)輸入你的姓名: 小李 小李,歡迎你!1.5輸入/輸出操作

1.5.4Console.Read()方法Read()方法的作用是從輸入流(控制臺(tái))讀取一個(gè)字符,Read()方法一次只能從輸入流讀取一個(gè)字符,并且直到用戶按回車鍵才會(huì)返回。如果用戶輸入了多個(gè)字符,然后回車鍵(此時(shí)輸入流中將包含用戶輸入的字符加上回車鍵’\r’(13)和換行符’\n’(10),則Read()方法只返回用戶輸入的第一個(gè)字符,但是,用戶可以多次調(diào)用Read()方法來(lái)獲取所有輸入的字符。1.5輸入/輸出操作

1.5.4Console.Read()方法【例1-5】通過(guò)Console.Read()方法從控制臺(tái)接收用戶的輸入,然后顯示接收的內(nèi)容.staticvoidMain(string[]args)//程序的入口

{Console.Write("請(qǐng)輸入字符:");

inta=Console.Read()+Console.Read();

Console.WriteLine("用戶輸入的內(nèi)容是:{0}",a);

}運(yùn)行結(jié)果是:請(qǐng)輸入字符:ASD用戶輸入的內(nèi)容是:65 148課堂實(shí)訓(xùn)1.編寫一個(gè)簡(jiǎn)單的C#程序,輸出如下內(nèi)容:

/*********************************************** *Howareyou!* ***********************************************/2.參考附錄A,安裝VisualStdio2005集成開(kāi)發(fā)環(huán)境。3.參考附錄A,安裝MSDN。4.定制VisualStdio.NET的集成開(kāi)發(fā)環(huán)境。習(xí)題1.下面對(duì)Read()和ReadLine()方法的描述,哪些是正確的。

A.Read()方法一次只能從輸入流中讀取一個(gè)字符

B.使用Read()方法讀取的字符不包含回車和換行符

C.ReadLine()方法讀取的字符不包含回車和換行符

D.只有當(dāng)用戶按下回車鍵時(shí),Read()和ReadLine()方法才會(huì)返回2.下面對(duì)Write()和WriteLine()方法的描述,哪些是正確的。

A.WriteLine()方法在輸出字符串的后面添加換行符

B.使用Write()方法輸出字符串時(shí),光標(biāo)會(huì)位于字符串后面

C.使用Write()和WriteLine()方法輸出數(shù)值變量時(shí),必須要先把數(shù)值變量轉(zhuǎn)換成字符串

D.使用不帶參數(shù)的Write

溫馨提示

  • 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)論