C#初級入門教程PPT-第1章_第1頁
C#初級入門教程PPT-第1章_第2頁
C#初級入門教程PPT-第1章_第3頁
C#初級入門教程PPT-第1章_第4頁
C#初級入門教程PPT-第1章_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

具有如下功能:

(1)

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

圖1-2

繪圖程序的運行情況1.1C#案例程序演示3.演示程序3─—時鐘仿真程序

圖1-3MyClock程序的運行界面

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#簡介1.2.1VisualC#.NET簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.5輸入/輸出操作

—控制臺

1.5.1Console.WriteLine()方法

WriteLine()方法的作用是將信息輸出到控制臺,可以采用“{N[,M][:格試化字符串]}”的形式來格式化輸出字符串。(見書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);

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

1.5輸入/輸出操作

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

【例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);}運行結(jié)果是:i=12345j=123.457i=12345j=123.4571.5輸入/輸出操作

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

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

{ stringstr;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

B.使用Write()方法輸出字符串時,光標會位于字符串后面

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論