c語言基礎

2022-11-19 02:48:04 字數 4744 閱讀 1638

c#.net是微軟公司推出的一種型別安全、現代、簡單、由c和c++衍生出來的物件導向的程式語言。掌握c#.

net的特點、程式結構、整合開發環境、c#語言的基本知識等,是利用好c#的前提。

本章內容

c#概述

c#語言基礎

控制結構

陣列 異常處理

c#是微軟公司在2023年7月發布的一種全新的簡單、安全、物件導向的程式語言。它是專門為.net的應用而開發的語言。

.net技術是微軟公司推出的乙個全新概念,它代表了乙個集合、乙個環境和乙個可以作為平台支援下一代internet的可程式設計結構。.net的目的就是將網際網路作為新一代作業系統的基礎,對網際網路的設計思想進行擴充套件,使使用者在任何地方、任何時間、利用任何裝置都能訪問所需要的資訊、檔案和程式。.

net平台包括.net框架和.net開發工具等部分。.

net框架(framework)是整個開發平台的基礎,包括公共語言執行庫和.net類庫。.net開發工具包括visual 整合開發環境和.

net程式語言。.net程式語言包括visual basic、visual c++和新的visual c#等用來建立執行在公共語言執行庫(common language run,clr)上的應用程式。.net框架結構如圖1-1所示。

圖1-1 .net框架結構

公共語言執行庫是 .net framework 的基礎。可以將執行庫看成乙個在執行時管理**的**,它提供核心服務(如記憶體管理、執行緒管理和遠端處理),而且還強制實施嚴格的型別安全以及可確保安全性和可靠性的其他形式的**準確性。

事實上,**管理的概念是執行庫的基本原則。以執行庫為目標的**稱為託管**,而不以執行庫為目標的**稱為非託管**。公共語言執行庫管理記憶體、執行緒執行、**執行、**安全驗證、編譯以及其他系統服務。

這些功能是在公共語言執行庫上執行的託管**所固有的。

.net framework 類庫是乙個與公共語言執行庫緊密整合的可重用的型別集合,是對windows api封裝的全新設計,它為開發人員提供了乙個統一的、物件導向的、分層的和可擴充套件的龐大類庫。該類庫是物件導向的,使 .

net framework 型別易於使用,而且還減少了學習 .net framework 的新功能所需要的時間。此外,第三方元件可與 .

net framework 中的類無縫整合。

例如,用.net framework 集合類實現一組可用於開發您自己的集合類的介面。您的集合類將與.net framework 中的類無縫地混合。

.net framework 型別使您能夠完成一系列常見程式設計任務(包括字串管理、資料收集、資料庫連線以及檔案訪問等任務)。除這些常見任務之外,類庫還包括支援多種專用開發方案的型別。

例如,可使用 .net framework 開發下列型別的應用程式和服務:

控制台應用程式。

windows gui應用程式(windows 窗體)。

應用程式。

xml web services。

windows 服務。

例如,windows窗體類是一組綜合性的可重用型別,它們大大簡化了windows gui的開發。如果要編寫 web窗體應用程式,可使用web窗體類。

c#是微軟公司在2023年7月發布的一種全新且簡單、安全、物件導向的程式語言,是專門為.net的應用而開發的語言。它吸收了c++、visual basic、delphi、j**a等語言的優點,體現了當今最新的程式設計技術的功能和精華。

c#繼承了c語言的語法風格,同時又繼承了c++的物件導向特性。不同的是,c#的物件模型已經面向internet進行了重新設計,使用的是.net框架的類庫;c#不再提供對指標型別的支援,使得程式不能隨便訪問記憶體位址空間,從而更加健壯;c#不再支援多重繼承,避免了以往類層次結構中由於多重繼承帶來的可怕後果。.

net框架為c#提供了乙個強大的、易用的、邏輯結構一致的程式設計環境。同時,公共語言執行時(common language runtime)為c#程式語言提供了乙個託管的執行時環境,使程式比以往更加穩定、安全。其特點有:

語言簡潔。

保留了c++的強大功能。

快速應用開發功能。

語言的自由性。

強大的web伺服器控制項。

支援跨平台。

與xml相融合。

c#對c++進行了多處改進,主要區別如下:

編譯目標:c++**直接編譯為本地可執行**,而c#預設編譯為中間語言(il)**,執行時再通過just-in-time將需要的模組臨時編譯成本地**。

記憶體管理:c++需要顯式地刪除動態分配給堆的記憶體,而c#不需要這麼做,c#採用垃圾**機制自動在合適的時機**不再使用的記憶體。

指標:c++中大量地使用指標,而c#使用對類例項的引用,如果確實想在c#中使用指標,必須宣告該內容是非安全的。不過,一般情況下c#中沒有必要使用指標。

字串處理:在c#中,字串是作為一種基本資料型別來對待的,因此比c++中對字串的處理要簡單得多。

庫:c++依賴於以繼承和模板為基礎的標準庫,c#則依賴於.net基庫。

c++允許類的多繼承,而c#只允許類的單繼承,而通過介面實現多繼承。

在後面的學習中會發現,c#與c++相比還有很多不同和改進之處,包括一些細節上的差別,這裡就不一一枚舉了。

c#物件導向的程度比j**a高。

c#中的基本型別都是物件導向的。

c#具有比j**a更強大的功能。

c#語言的執行速度比j**a快。

.net開發語言都採用了統一的整合開發環境visual 下面加以介紹。

(1)visual studio起始頁

啟動visual 後,首先看到乙個如圖1-2所示的起始頁。在起始頁可以開啟已有的專案或建立新的專案。

圖1-2 visual studio起始頁

(2)新建visual c#.net專案

在visual 整合開發環境中,通過執行「檔案」→「新建」→「專案」選單命令,將會彈出「新建專案」對話方塊,在該對話方塊中,可以選擇不同的程式語言來建立各種專案,這些語言將共享visual 的整合開發環境,如圖1-3所示。

圖1-3 「新建專案」對話方塊

要建立新的visual c#.net專案,需要在該對話方塊的「專案型別」視窗中選中「visual c#專案」,在「模板」視窗中選中「windows應用程式」。然後在「位置」組合框中輸入專案的儲存位置(路徑),在「名稱」文字框中輸入專案名稱,如圖1-3所示。

然後單擊「確定」按鈕,將會出現如圖1-4所示的visual 整合開發環境。

圖1-4 visual 開發環境

(3)「解決方案資源管理器」視窗

專案可以視為編譯後的乙個可執行單元,可以是應用程式、動態鏈結庫等。而企業級的解決方案往往需要多個可執行程式的合作,為便於管理多個專案,在visual 整合環境中引入了解決方案資源管理器,用來對企業級解決方案設計的多個專案進行管理,如圖1-5所示。

(4)「類檢視」視窗

「類檢視」視窗以樹形結構顯示了當前專案中的所有類,並在類中列出成員變數和成員函式。每乙個類首先列出帶紫色圖示的成員函式,然後列出帶有藍色圖示的成員變數。每個成員的圖示左邊都有乙個標誌,以表示成員型別和儲存類別的資訊,保護型別成員圖示旁邊的標誌為一把鑰匙,私有成員的標誌是一把鎖,而公有成員圖示旁邊沒有標誌。

如圖1-6所示。

圖1-5 「解決方案資源管理器」視窗圖1-6 「類檢視」視窗

在「類檢視」視窗中雙擊類名,會在主工作區中開啟這個類的標頭檔案,顯示出類的宣告;而雙擊某個類的成員,則主工作區中會顯示該成員的定義**。

(5)「工具箱」視窗

「工具箱」視窗包含了可重用的控制項,用於定義應用程式。使用視覺化的方法程式設計時,可在窗體中「拖放」控制項,繪製出應用程式介面。「工具箱」中的控制項分成幾組,如「資料」組、「元件」組、「windows窗體」組。

單擊組名稱可展開乙個組。如圖1-7所示。

圖1-7 「工具箱」視窗

(6)「屬性」視窗

「屬性」視窗用於設定控制項的屬性。屬性定義了控制項的資訊,如大小、位置、顏色等。 「屬性」視窗左邊一欄顯示了控制項的屬性名,右邊一欄顯示屬性的當前值。如圖1-8所示。

圖1-8 「屬性」視窗

c#.net主要用於開發三類程式:控制台程式、windows程式和程式。c#程式的擴充套件名為.cs,使用編譯器可編譯成可執行檔案。

【案例1-1】 乙個簡單的控制台程式。

程式執行後顯示「歡迎***進入c#世界!」,執行結果如圖1-9所示。

圖1-9 歡迎進入c#世界

【技術要點】

c#應用程式包含main方法,它是c#應用程式執行的起點。在該函式中通過系統類console的方法writeline(),可以在螢幕上輸出字串。

【實現步驟】

(1)啟動visual

(2)選擇主選單「檔案」→「新建」→「專案」,開啟「新建專案」對話方塊。

(3)在「新建專案」對話方塊中的左窗格選擇「visual c#專案」,右窗格選擇「控制台應用程式」,然後指定專案名稱和存放位置,單擊「確定」按鈕。

(4)在**編輯視窗中可看到自動生成的程式**框架,在main函式中加入**。

(5)選擇主選單「生成」→「生成welcome」,進行編譯和連線。

(6)選擇「除錯」→「啟動」執行程式。

【程式**】

using system;

namespace welcome

進入c#世界!",username);

}}}程式中的第一行語句「using system;」的作用是匯入命名空間,該語句類似於c和c++中的#include命令。匯入命名空間之後,就可以自由使用其中的元素了。system是.

net框架提供的最基本的命名空間之一,console是system命名空間中包含的系統類庫中已定義的乙個類。利用該類的readline()和writeline()方法可以進行輸入輸出。

C語言面試基礎

下面是我最近看c語言的讀書筆記,裡面有很多以前弄不明白的知識點,現在終於豁然開朗啦,希望對大家有所幫助,其中有很多知識點是面試時經常問到而大家又常常答不上來的!1 c語言的基本資料型別 在c語言中,資料型別可分為基本資料型別 構造資料型別 包括陣列 列舉 結構體和聯合體 指標型別 空型別四大類。c語...

c語言基礎知識

c語言的源程式 用c這種高階語言所編寫的 是乙個不可以執行的檔案,其字尾名為.c,經過編譯程式編譯後將生成為乙個不可以執行的二進位制檔案,其字尾名為.obj,再經過連線程式連線後將生成為乙個可以執行的二進位制檔案,其字尾名.exe 演算法 c語言是一種結構化的程式語言在c語言中提供了三種基本結構 順...

C語言基礎知識

10 b c 不是c語言提供的合法關鍵字。a switchb printc case d default 11 c語言提供的合法關鍵字是 a a breakb printc funiton d end 12 c語言提供的合法關鍵字是 a a continue b procedure c begin ...