本節課通過介紹幾個簡單的程式,使得你對c#有所入門。本節程要達到如下幾個目的:
1.理解乙個c#程式的基本結構。
2.初步了解"命名空間"的概念。
3.初步了解"類"的概念。
4.了解"main"方法所做的工作。
5.學會如何讀取命令列輸入資訊。
6.學會使用控制台輸入/輸出 (i/o)語句。
1.清單1-1. 乙個簡單的歡迎程式welcome.cs
// namespace declaration
using system;
// program start class
class welcomecss }
說明 1.清單1-1中的程式包括四個基本元素:命名空間的宣告,類,"main"方法和語句。
2.本例中對命名空間的宣告,表明正在使用"system"這個命名空間。
命名空間內包含了一組可以被c#程式呼叫的**。有了"using system;"這個宣告,就表明程式可以引用該"system"命名空間內的**,而無需在每個引用的前面加上"system"。關於這一點,我將在後面專門介紹命名空間的課程中詳細介紹。
3.類"class welcomecss"包含了程式所要用到的資料,和所要執行的方法的定義。
同諸如介面和結構這樣的元素類似,類在程式中是用來描述物件的,這些元素都將會在後續課程中詳細介紹。本例中的類不包含資料,只包含乙個方法。該方法定義了該類的行為(或者稱為該類所能做的事情)。
4.程式執行時,welcomecss類中的該方法表明了該類所要完成的事情。
方法名"main"作為保留字,作為程式的起點。"main"前面是個名為"static"的修飾符。"static"修飾符表明該方法僅僅在該特定的類中工作,而不是在在該類的例項中工作。這是必需的,因為一旦程式啟動後,並不存在物件的例項。類,物件和例項的具體用法將會在後面的課程中覆蓋到。每個方法必須有個返回值型別。本例中,返回值型別是"void",它表明"main"函式沒有返回值。每個方法名的後面也都跟著個參數列,參數列包含有零個或者多個引數並用括號括起來。為了簡單起見,沒有在"main"後面新增引數。後面的課程中,將介紹"main"方法所允許採用的引數型別。
5."main"方法通過"console.writeline(...)" 語句表明其行為。
"console" 是"system" 命名空間中的類。"writeline(...)"是"console" 類中的方法。我們使用"."這個句點操作符來標記程式中的從屬元素。注意到,我們也可以這樣來書寫:"system.console.writeline(...)",這樣的書寫格式是很有趣的,它是根據"namespace.class.method" 的格式進行書寫的。如果在程式的一開始,沒有採用"using system"的宣告,那麼就必須嚴格遵守"system.console.writeline(...)"這樣的書寫格式。該語句的執行結果是在控制台控制台上輸出字串"welcome to the c# station tutorial!" 。
6.注釋是由"//"標出的。
例子中的這些注釋都是單行注釋,表明從該注釋符號的開始處到該行結束處,都是注釋部分。如果你的注釋要跨越若干行,即多行注釋,可以以符號"/*"開始,以符號"*/"結束,其中所包含的全部是注釋。你也可以在多行注釋符號中包含單行注釋。但是,不能在單行注釋符號後面放上多行注釋符號。程式編譯時,將忽略掉注釋部分。注釋的目的是為了用簡單的英語給程式所要完成的工作加上註解。
7.所有語句都以分號";"結束。
類和方法以""結束。任何位於""之間的語句定義為塊。塊定義了程式元素的活動範圍 (或者稱為生命期和可見性),這些概念將在後面的課程中加以介紹。
8.可以編寫出能夠接受命令行輸入資訊的程式。
命令列輸入資訊的集合是在"main"方法中進行處理的。清單1-2中的程式,可以從命令列中接受輸入乙個名字,之後在控制台上顯示出來。
2.清單1-2. 讀取命令列輸入資訊的程式namedwelcome.cs
// namespace declaration
using system;
// program start class
class namedwelcome !", args[0]);
console.writeline("welcome to the c# station tutorial!");}}
說明1.記住,要把你的名字新增到命令列中。
例如,在命令列中打入"namedwelcome joe"。如果不這樣做,程式就會崩潰,在後面的課程中,將介紹如何檢測這種情況,以及如何避免這種情況的出現。
2.在清單1-2中,在"main"方法的參數列中有個入口。
引數名是"args"。 在程式的後面部分就要引用該引數。"string"是引數"args"的型別。"string"型別用於存放字元。這些字元可以是乙個單詞,也可以是多個單詞。方括號""表示陣列,"args"引數由命令列上的若干個單詞構成。
3.在"main"方法的語句中,多了一條"console.writeline(...)"語句。
該語句中的參數列同以往的寫法不同,其中有個格式字串"" 引數。 格式串中的第乙個引數從數字0開始,第二個引數從數字1開始,依此類推。 "" 引數意味著引號後面的引數值將會輸出到該位置。現在讓我們來看看引號後面的引數。
4."args[0]"引數,它指向"args"陣列中的第乙個字串。
陣列中的第乙個元素是args[0], 第二個元素是args[1],依此類推。例如,如果我在命令列中寫上"namedwelcome joe","args[0]"的值就為"joe".
讓我們回到在格式字串中嵌入的"" 引數吧,因為"args[0]"是格式串後面的第乙個引數, 一旦執行該命令時,"args[0]"的值"joe"就會替換掉格式串中的""。一旦執行命令:"namedwelcome joe",輸出結果就會為:
>hello, joe!
>welcome to the c# station tutorial!
通過控制台也可以把輸入資訊提供給程式。清單1-3演示了互動式處理使用者輸入的資訊的方法。
3.清單1-3. 互動式處理輸入資訊的程式 interactivewelcome.cs
// namespace declaration
using system;
// program start class
class namedwelcome ! ", console.readline());
console.writeline("welcome to the c# station tutorial!");}}
說明這一次,"main"方法沒有用到任何引數,但現在程式中有了三條語句,前面兩條語句不同於第三條語句,它們是:"console.write(...)"而不是 "console.writeline(...)"。區別是:"console.write(...)"語句把資訊輸出到控制台,之後游標停留在同一行,而"console.writeline(...)"把資訊輸出,之後換行。
第一條語句僅僅輸出"what is your name?: "到控制台。
第二條語句要等到其引數被適當地處理之後,才會輸出資訊。 格式串後面的第乙個引數是:"console.readline()"。這就使得程式要等待使用者在控制台輸入資訊,輸入資訊以回車或者換行結束。該方法的返回值替換了格式串中的""引數,並輸出到控制台上。
最後乙個語句也用來輸出資訊到控制台,這一點我們在前面已經介紹過。一旦執行了程式"interactivewelcome",其輸出結果為:
>what is your name?
>hello, ! welcome to the c# station tutorial! 小結
到現在為止,你已經了解了c#程式的基本結構,命名空間和類。你還了解到"main"方法是c# 程式的入口,並學會了如何捕捉命令列的輸入資訊,以及如何進行互動式的i/o操作。
C 教程第一課 簡單的歡迎程式
本節課通過介紹幾個簡單的程式,使得你對c 有所入門。本節程要達到如下幾個目的 1.理解乙個c 程式的基本結構。2.初步了解 命名空間 的概念。3.初步了解 類 的概念。4.了解 main 方法所做的工作。5.學會如何讀取命令列輸入資訊。6.學會使用控制台輸入 輸出 i o 語句。1.清單1 1.乙個...
C 教程第一課 簡單的歡迎程式
2.初步了解 命名空間 的概念。3.初步了解 類 的概念。4.了解 main 方法所做的工作。5.學會如何讀取命令列輸入資訊。6.學會使用控制台輸入 輸出 i o 語句。1.清單1 1.乙個簡單的歡迎程式welcome.cs namespace declaration using system pr...
c的第一課
一 前言 一切,都想從不一樣做起。大學,原以為會和我當時高中想象的那樣,可以談場轟轟烈烈的戀愛,可以自由自在的旅行,可以忘乎所以,盡己之所興。如今,大三結束。驀然回首,卻發現自己浪費了那麼多改變自己的機會。如今,大學只剩最後一年,我要用這最後的時間去彌補曾經所浪費的一切,從現在開始,朝著自己的目標勇...