第3章+C_程序設(shè)計(jì)基礎(chǔ)_第1頁
第3章+C_程序設(shè)計(jì)基礎(chǔ)_第2頁
第3章+C_程序設(shè)計(jì)基礎(chǔ)_第3頁
第3章+C_程序設(shè)計(jì)基礎(chǔ)_第4頁
第3章+C_程序設(shè)計(jì)基礎(chǔ)_第5頁
已閱讀5頁,還剩99頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第3章C#程序設(shè)計(jì)基礎(chǔ)數(shù)據(jù)類型、運(yùn)算符和表達(dá)式是編程的數(shù)據(jù)類型、運(yùn)算符和表達(dá)式是編程的基礎(chǔ)基礎(chǔ)。C#支持種類豐富的數(shù)據(jù)類型和運(yùn)算符,這種特性使C#適用于廣泛的編程范圍。本章將介紹C#的基本語法基本語法,包括詞法結(jié)詞法結(jié)構(gòu)構(gòu)、數(shù)據(jù)類型數(shù)據(jù)類型、變量與常量變量與常量、運(yùn)算符運(yùn)算符和表達(dá)式表達(dá)式等編程的基礎(chǔ)知識(shí)。2C#程序設(shè)計(jì)實(shí)用教程3.1 詞法結(jié)構(gòu)詞法是構(gòu)成程序設(shè)計(jì)語言的最基本單詞法是構(gòu)成程序設(shè)計(jì)語言的最基本單位。位。程序是由若干個(gè)語句構(gòu)成,而語句是由若干個(gè)具有特殊含義的單詞和運(yùn)算符構(gòu)成的。所以學(xué)習(xí)一門編程語言,首先應(yīng)該從詞法詞法入手。3C#程序設(shè)計(jì)實(shí)用教程3.1.1 標(biāo)識(shí)符標(biāo)識(shí)符標(biāo)識(shí)符(iden

2、tifier)是由程序開發(fā)人員為類型、方法、變量等所選擇的名字。C#的標(biāo)識(shí)符應(yīng)當(dāng)使用字母或下劃線作為開頭,由字母、數(shù)字、下劃線(“_”)和美元符號(hào)(“$”)組成,不能包括空格、標(biāo)點(diǎn)符號(hào)和運(yùn)算符,而且標(biāo)識(shí)符的名稱最好和實(shí)際的應(yīng)用聯(lián)系起來,這樣可以使程序更容易理解,做到“見名知意”。比如,用來表示售貨員的標(biāo)識(shí)符使用salesman比用people更容易理解。4C#程序設(shè)計(jì)實(shí)用教程3.1.1 標(biāo)識(shí)符標(biāo)識(shí)符下面是合法的標(biāo)識(shí)符:Sum,average,_total,Student_name,Lotus_1_2_3下面是不合法的標(biāo)識(shí)符:Abc-abc/中間使用了減號(hào)而非下劃線3abc /以數(shù)字開頭Abc

3、abc /中間有空格class /使用關(guān)鍵字作為標(biāo)識(shí)符5C#程序設(shè)計(jì)實(shí)用教程3.1.1 標(biāo)識(shí)符標(biāo)識(shí)符C#的標(biāo)識(shí)符不能與關(guān)鍵字相同,但是可以使用“”前綴來避免這種沖突。例如:whilewhile上面兩個(gè)標(biāo)識(shí)符中,第一個(gè)標(biāo)識(shí)符是合法的,而第二個(gè)標(biāo)識(shí)符不是合法的,因?yàn)閣hile是關(guān)鍵詞。6C#程序設(shè)計(jì)實(shí)用教程3.1.1 標(biāo)識(shí)符標(biāo)識(shí)符C#的標(biāo)識(shí)符區(qū)別大小寫,例如下面的4個(gè)標(biāo)識(shí)符是不同的:MembermemberMemBerMEMBER7C#程序設(shè)計(jì)實(shí)用教程3.1.2 關(guān)鍵字關(guān)鍵字同C和C+語言一樣,C#也規(guī)定了很多關(guān)鍵字用于程序控制、數(shù)據(jù)說明或者其他功能,由于它們的特殊意義,所以這些關(guān)鍵字不能作為標(biāo)識(shí)

4、符使用。常用的關(guān)鍵詞如表3-1所示。8C#程序設(shè)計(jì)實(shí)用教程3.2 數(shù)據(jù)類型數(shù)據(jù)類型是用來定義現(xiàn)實(shí)生活中各種數(shù)據(jù)形式的標(biāo)識(shí)符及其存儲(chǔ)形式。C#中數(shù)據(jù)類型主要分為兩大類:值類型和引用類型。在此,先講解這兩種類型,然后再討論數(shù)據(jù)類型之間的轉(zhuǎn)換。9C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型C#的值類型包括3種:簡單類型、結(jié)構(gòu)類型和枚舉類型。簡單類型包括整數(shù)類型、浮點(diǎn)類型、小數(shù)類型、字符類型和布爾類型等。10C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型1. 1. 整數(shù)類型整數(shù)類型整數(shù)類型的數(shù)據(jù)值只能是整數(shù)。數(shù)學(xué)上的整數(shù)可以從負(fù)無窮大到正無窮大,由于計(jì)算機(jī)存儲(chǔ)單元的限制,程序語言提供的整數(shù)類型的值總是在

5、一定的范圍內(nèi)。C#定義了8種整數(shù)類型,劃分的根據(jù)是這些類型所占存儲(chǔ)器的位數(shù)。例如,一個(gè)8位的整數(shù)類型可以表示28=256個(gè)數(shù)值。11C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型整數(shù)類型如表3-2所示。12C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型2. 2. 浮點(diǎn)類型浮點(diǎn)類型實(shí)數(shù)在C#中采用浮點(diǎn)類型的數(shù)據(jù)來表示。浮點(diǎn)類型的數(shù)據(jù)包括兩種:單精度浮點(diǎn)型單精度浮點(diǎn)型(float)和雙精度浮點(diǎn)型雙精度浮點(diǎn)型(double),其區(qū)別在于取值范圍和精度不同。13C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型浮點(diǎn)類型數(shù)據(jù)的精度(小數(shù)點(diǎn)后所保留的有效數(shù)字)和取值范圍如表3-3所示。14C#程序設(shè)計(jì)實(shí)用教程3.2

6、.1 值類型值類型3. 3. 小數(shù)類型小數(shù)類型小數(shù)類型(decimal)數(shù)據(jù)是高精度的類型數(shù)據(jù),占用16個(gè)字節(jié),主要是為了滿足需要高精度的財(cái)務(wù)和金融方面的計(jì)算。小數(shù)類型數(shù)據(jù)的取值范圍和精度如下:小數(shù)類型:取值范圍在1.0 x 10-287.9 x 1028之間,精度為29位數(shù)。要注意的是,小數(shù)類型數(shù)據(jù)的后面必須跟m或者M(jìn)后綴來表示它是decimal類型的,如3.15m,0.35m等,否則就會(huì)被視為標(biāo)準(zhǔn)的浮點(diǎn)類型數(shù)據(jù),導(dǎo)致數(shù)據(jù)類型不匹配。15C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型提示:提示:在C#中,可以通過給數(shù)值常數(shù)加后綴的方法來指定數(shù)值常數(shù)的類型,可以使用的數(shù)值常數(shù)后綴有以下幾種:(1

7、)u(或者U)后綴:加在整型常數(shù)后面,代表該常數(shù)是uint類型或者ulong類型。(2)l(或者L)后綴:加在整型常數(shù)后面,代表該常數(shù)是long類型或者ulong類型。(3)ul(或者uL、Ul、UL、lu、lU、LU)后綴:加在整型常數(shù)后面,代表該常數(shù)是ulong類型。16C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型(4)f(或者F)后綴:加在任何一種數(shù)值常數(shù)后面,代表該常數(shù)是float類型。(5)d(或者D)后綴:加在任何一種數(shù)值常數(shù)后面,代表該常數(shù)是double類型。(6)m(或者M(jìn))后綴:加在任何一種數(shù)值常數(shù)后面,代表該常數(shù)是decimal類型。17C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類

8、型值類型示例如下:137f 代表float類型的數(shù)值137.0137u 代表uint類型的數(shù)值137137.2m 代表decimal類型的數(shù)值137.2137.22d 代表double類型的數(shù)值137.22137 代表int類型的數(shù)值13718C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型4. 4. 字符類型字符類型C#中的字符類型數(shù)據(jù)采用UnicodeUnicode字符集。字符類型的類型標(biāo)識(shí)符是charchar,因此也可稱為char類型。凡是在單引號(hào)中的一個(gè)字符,就構(gòu)成一個(gè)字符常數(shù),如下所示:a、o、*、 9在表示一個(gè)字符常數(shù)時(shí),單引號(hào)單引號(hào)內(nèi)的有效字符必須有且只能有一個(gè),并且不能是單引號(hào)或者

9、反斜杠()等。為了表示單引號(hào)和反斜杠等特殊的字符常數(shù),提供了轉(zhuǎn)義轉(zhuǎn)義符符,在需要表示這些特殊常數(shù)的地方,可以使用轉(zhuǎn)義符來替代這些特殊的字符。常用的轉(zhuǎn)義符如表3-4所示。19C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型常用的轉(zhuǎn)義符如表3-4所示。20C#程序設(shè)計(jì)實(shí)用教程3.2.1 值類型值類型5. 5. 布爾類型布爾類型布爾類型數(shù)據(jù)用于表示邏輯真和邏輯假,布爾類型的類型標(biāo)識(shí)符是boolbool。布爾類型常數(shù)只有兩種值:truetrue(代表“真”)和falsefalse(代表“假”)。21C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型在在C#C#中,引用類型的中,引用類型的引入主要是因?yàn)橹殿愋?/p>

10、比較簡單,引入主要是因?yàn)橹殿愋捅容^簡單,不能描述結(jié)構(gòu)復(fù)雜、抽象能力比較強(qiáng)的數(shù)據(jù)不能描述結(jié)構(gòu)復(fù)雜、抽象能力比較強(qiáng)的數(shù)據(jù)。引用類型引用類型,其含義是該類型的變量不直接存儲(chǔ)所包含的,其含義是該類型的變量不直接存儲(chǔ)所包含的值,而是存儲(chǔ)當(dāng)前引用值的地址,因此引用類型數(shù)據(jù)的值,而是存儲(chǔ)當(dāng)前引用值的地址,因此引用類型數(shù)據(jù)的值會(huì)隨所指向的值的不同而變化,同一個(gè)數(shù)據(jù)也可以有值會(huì)隨所指向的值的不同而變化,同一個(gè)數(shù)據(jù)也可以有多個(gè)引用。多個(gè)引用。這與簡單類型數(shù)據(jù)是不同的,簡單類型數(shù)據(jù)存儲(chǔ)的是自這與簡單類型數(shù)據(jù)是不同的,簡單類型數(shù)據(jù)存儲(chǔ)的是自身的值,而引用類型存儲(chǔ)的是將自身的值所直接指向到身的值,而引用類型存儲(chǔ)的是將自

11、身的值所直接指向到某個(gè)對(duì)象的值。它就像一面鏡子一樣,雖然從鏡子可以某個(gè)對(duì)象的值。它就像一面鏡子一樣,雖然從鏡子可以看到物體,但物體并不在鏡子中,只不過是物體的反射看到物體,但物體并不在鏡子中,只不過是物體的反射而已。而已。22C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型C#的引用類型有4種:類類型、數(shù)組類型、接口類型和委托類型。類(class)是面向?qū)ο缶幊痰幕締挝?。它是一種包含數(shù)據(jù)成員、函數(shù)成員的數(shù)據(jù)結(jié)構(gòu)。類的數(shù)據(jù)成員有常量、域和事件,函數(shù)成員包括方法、屬性、構(gòu)造函數(shù)和析構(gòu)函數(shù)等。下面將介紹經(jīng)常用到的兩個(gè)類:object(對(duì)象類型)和string(字符串類型)。23C#程序設(shè)計(jì)實(shí)用教程

12、3.2.2 引用類型引用類型1. object1. object類類在C#中,object類是系統(tǒng)提供的基類型,是所有類型的基類,所有的類型都直接或間接派生于對(duì)象類型。因此,對(duì)于任何一個(gè)object變量,均可以賦給任何類型的值。int x1 = 10;object obj1;obj1 = x1;Object obj2 = string;對(duì)于object類型的變量,聲明時(shí)必須使用object關(guān)鍵字。24C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型2. string2. string類類在C#中,有一個(gè)用于操作字符串?dāng)?shù)據(jù)的string類,string類直接派生于object類,且它是被密封的,

13、這意味著不能從其派生出類。一個(gè)字符串是被一對(duì)雙引號(hào)所包含的一系列字符。例如,Hello world!就是一個(gè)字符串。string類的用法十分簡單:string str1=Hello,;string str2=China!“;25C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型合并字符串也很簡單:string str3=str1+str2;如果想訪問單個(gè)字符,所要做的就是訪問下標(biāo):char c=str30;當(dāng)比較兩個(gè)字符串是否相等時(shí),簡單地使用“=”比較操作符。if(str1=str2) .26C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型C#支持以下兩種形式的字符串常數(shù)。(1 1)常規(guī)字符串

14、常數(shù))常規(guī)字符串常數(shù)。放在雙引號(hào)間的一串字符,就是一個(gè)常規(guī)字符串常數(shù)。如前面所示的,即為常規(guī)字符串常數(shù)。除了普通的字符,一個(gè)字符串常數(shù)也允許包含一個(gè)或多個(gè)轉(zhuǎn)義符。例如在下例中,使用了n和t轉(zhuǎn)義符。27C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型【例例3-13-1】在字符串中,轉(zhuǎn)義符轉(zhuǎn)義符的應(yīng)用示范。程序代碼如下:using System;class StringDemo static void Main() Console.WriteLine(First linenSecond line);/使用n轉(zhuǎn)義符產(chǎn)生新的一行 Console.WriteLine(AtBtC); /使用t轉(zhuǎn)義符排列輸

15、出 Console.WriteLine(DtEtF); 程序運(yùn)行的結(jié)果如圖3-1所示。28C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型【例例3-13-1】在字符串中,轉(zhuǎn)義符轉(zhuǎn)義符的應(yīng)用示范。程序運(yùn)行的結(jié)果如圖3-1所示。29C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型(2 2)逐字字符串常數(shù))逐字字符串常數(shù)。 逐字字符串常數(shù)以“”開頭,后跟一對(duì)雙引號(hào),在雙引號(hào)中放入字符。如:中國人;Hello world!“;30C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型逐字字符串常數(shù)同常規(guī)字符串常數(shù)的區(qū)別在于,在逐字字符串常數(shù)的雙引號(hào)中,每個(gè)字符都代表其原始的含義,在逐字字符串常數(shù)中不能使用轉(zhuǎn)

16、義字符。即,逐字字符串常數(shù)中雙引號(hào)內(nèi)的內(nèi)容在被接受時(shí)是不變的,并且可以跨越多行。所以,在逐字字符串中,以“”開始的字符被當(dāng)作正常的字符處理,而不是轉(zhuǎn)義符。但是要注意的是,如果要包含雙引號(hào)(“),就必須在一行中使用兩個(gè)雙引號(hào)(”“)。31C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型(2 2)逐字字符串常數(shù))逐字字符串常數(shù)。string str1 = hello,China; /定義規(guī)則字符串常數(shù):hello,Chinastring str2 = “hello,China”; /定義逐字字符串常數(shù):hello,Chinastring str3 = hellotworld; /hello wor

17、ldstring str4 = hellotworld; /hellotworldstring str5 = Jack said Hello to you; /Jack said Hello to youstring str6 = Jack said Hello to you; /Jack said Hello to you32C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型簡單來說,常規(guī)字符串要對(duì)字符串的轉(zhuǎn)義序列進(jìn)行解釋,而逐字字符串除了對(duì)雙引號(hào)進(jìn)行解釋之外,對(duì)其它字符,無需解釋,用戶定義成什么樣,顯示結(jié)果就是什么樣。33C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型【例例3-23-2】如

18、何定義規(guī)則字符串和逐字字符串。如何定義規(guī)則字符串和逐字字符串。程序代碼如下所示:程序代碼如下所示:using System;using System;class StringDemoclass StringDemo static void Main() static void Main() string str1 = one line string str1 = one linetwo linentwo linentthree line;tthree line; string str2 = one linetwo linentthree line; string str2 = one line

19、two linentthree line; Console.WriteLine(str1); Console.WriteLine(str1); Console.WriteLine(-); Console.WriteLine(-); Console.WriteLine(str2); Console.WriteLine(str2); 34C#程序設(shè)計(jì)實(shí)用教程3.2.2 引用類型引用類型【例例3-23-2】如何定義規(guī)則字符串和逐字字符串。程序的運(yùn)行結(jié)果如圖3-2所示。35C#程序設(shè)計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換數(shù)據(jù)類型在一定條件下是可以相互轉(zhuǎn)換的,如將int類型數(shù)據(jù)轉(zhuǎn)換成double類型數(shù)據(jù)

20、。在C#中,允許兩種轉(zhuǎn)換方式:隱式轉(zhuǎn)換隱式轉(zhuǎn)換(implicit conversions)和顯式轉(zhuǎn)換顯式轉(zhuǎn)換(explicit conversions)。36C#程序設(shè)計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換1. 1. 隱式轉(zhuǎn)換隱式轉(zhuǎn)換隱式轉(zhuǎn)換是系統(tǒng)默認(rèn)的,不需要加以聲明就可以進(jìn)行轉(zhuǎn)換。在隱式轉(zhuǎn)換過程中,編譯器不需要對(duì)轉(zhuǎn)換進(jìn)行詳細(xì)的檢查就能安全地執(zhí)行轉(zhuǎn)換,例如數(shù)據(jù)從int類型到long類型的轉(zhuǎn)換。37C#程序設(shè)計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換1. 1. 隱式轉(zhuǎn)換隱式轉(zhuǎn)換其中,從int,uint或long到float以及從long到double的轉(zhuǎn)換可能會(huì)導(dǎo)致精度下降,但決不會(huì)引起數(shù)量上的丟

21、失。其它的隱式數(shù)值轉(zhuǎn)換則不會(huì)有任何信息丟失。隱式數(shù)據(jù)轉(zhuǎn)換的使用方法如下所示:int a=10; /a為整型數(shù)據(jù)long b=a; /b為長整型數(shù)據(jù)double c=a; /c為雙精度浮點(diǎn)型數(shù)據(jù)38C#程序設(shè)計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換2. 2. 顯式轉(zhuǎn)換顯式轉(zhuǎn)換顯式轉(zhuǎn)換又稱為強(qiáng)制類型轉(zhuǎn)換,與隱式轉(zhuǎn)換相反,顯式轉(zhuǎn)換需要用戶明確地指定轉(zhuǎn)換類型。顯式轉(zhuǎn)換可以將一數(shù)值類型強(qiáng)制轉(zhuǎn)換成另一種數(shù)據(jù)類型,其格式如下:(類型標(biāo)識(shí)符) 表達(dá)式上式的含義為:將表達(dá)式的值的類型轉(zhuǎn)換為類型標(biāo)識(shí)符的類型。比如:(int)5.17/把double類型的5.17轉(zhuǎn)換成int類型39C#程序設(shè)計(jì)實(shí)用教程3.2.3 類

22、型轉(zhuǎn)換類型轉(zhuǎn)換這種類型轉(zhuǎn)換有可能會(huì)丟失信息或?qū)е庐惓伋?,轉(zhuǎn)換按照下列規(guī)則進(jìn)行:(1)對(duì)于從一種整型到另一種整型的轉(zhuǎn)換,編譯器將針對(duì)轉(zhuǎn)換進(jìn)行溢出檢測(cè),如果沒有發(fā)生溢出,轉(zhuǎn)換成功,否則拋出一個(gè)轉(zhuǎn)換異常。(2)對(duì)于從float,double或decimal到整型的轉(zhuǎn)換,將通過舍入到最接近的整型值作為轉(zhuǎn)換的結(jié)果。如果這個(gè)整型值超出了目標(biāo)類型的值域,則將拋出一個(gè)轉(zhuǎn)換異常。40C#程序設(shè)計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換(3)對(duì)于從double到float的轉(zhuǎn)換,double值通過舍入取最接近的float值。如果這個(gè)值太小,結(jié)果將變成正0或負(fù)0;如果這個(gè)值太大,將變成正無窮或負(fù)無窮。(4)對(duì)于從fl

23、oat或double到decimal的轉(zhuǎn)換,將轉(zhuǎn)換成小數(shù)形式并通過舍入取到小數(shù)點(diǎn)后28位。如果值太小,則結(jié)果為0;如果太大以致不能用小數(shù)表示,或是無窮或Null,則將拋出轉(zhuǎn)換異常。(5)對(duì)于從decimal到float或double的轉(zhuǎn)換,小數(shù)的值通過舍入取最接近的值。這種轉(zhuǎn)換可能會(huì)丟失精度,但不會(huì)引起異常。41C#程序設(shè)計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換顯式數(shù)據(jù)轉(zhuǎn)換的使用方法如下所示:(int) 7.18m /decimal類型的數(shù)值7.18轉(zhuǎn)換為int類型的數(shù)值7轉(zhuǎn)換的結(jié)果為7。C#中還經(jīng)常要進(jìn)行string類型和其他簡單類型的轉(zhuǎn)換,這里需要使用框架類庫中提供的一些方法。42C#程序設(shè)

24、計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換3. string3. string類型轉(zhuǎn)換為其他類型類型轉(zhuǎn)換為其他類型整型、浮點(diǎn)型、字符型和布爾類型都對(duì)應(yīng)有一個(gè)結(jié)構(gòu)類型,該結(jié)構(gòu)類型中提供parseparse方法方法,可以把string類型轉(zhuǎn)換成相應(yīng)的類型。例如,要把string類型轉(zhuǎn)換成int類型,則有相應(yīng)的int.parse(string)方法,如:string str = 123;int i = int.Parse(str);則i的值為123。43C#程序設(shè)計(jì)實(shí)用教程3.2.3 類型轉(zhuǎn)換類型轉(zhuǎn)換4. 4. 其他類型轉(zhuǎn)換為其他類型轉(zhuǎn)換為stringstring類型類型計(jì)算后的數(shù)據(jù)如果要以文本的方式輸

25、出,如在文本框中顯示計(jì)算后的數(shù)據(jù),則需要將數(shù)值數(shù)據(jù)轉(zhuǎn)換成string類型,轉(zhuǎn)換方法是執(zhí)行ToStringToString方法方法。例如:int j = 5 * 8;string str = 5 * 8的積是: + j.ToString();除了使用相應(yīng)類的Parse()方法之外,還可以使用System.Convert類的對(duì)應(yīng)方法將數(shù)字轉(zhuǎn)換為相應(yīng)的值。44C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱裝箱(boxing)和拆箱(unboxing)是C#類型系統(tǒng)中重要的概念。它允許將任何類型的數(shù)據(jù)轉(zhuǎn)換為對(duì)象,同時(shí)也允許任何類型的對(duì)象轉(zhuǎn)換到與之兼容的數(shù)據(jù)類型。經(jīng)過裝箱操作,使得任何類型的數(shù)據(jù)

26、都可以看做是對(duì)象的類型系統(tǒng)。反之,拆箱是裝箱的逆過程。必須注意的是:裝箱轉(zhuǎn)換和拆箱轉(zhuǎn)換過程中必須遵循類型兼容的原則,否則轉(zhuǎn)換會(huì)失敗。45C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱1 1裝箱轉(zhuǎn)換裝箱轉(zhuǎn)換裝箱轉(zhuǎn)換是指將一個(gè)值類型的數(shù)據(jù)隱式地轉(zhuǎn)換成一個(gè)對(duì)象類裝箱轉(zhuǎn)換是指將一個(gè)值類型的數(shù)據(jù)隱式地轉(zhuǎn)換成一個(gè)對(duì)象類型(型(objectobject)的數(shù)據(jù),或者把這個(gè)值類型數(shù)據(jù)隱式轉(zhuǎn)換成一)的數(shù)據(jù),或者把這個(gè)值類型數(shù)據(jù)隱式轉(zhuǎn)換成一個(gè)被該值類型數(shù)據(jù)對(duì)應(yīng)的接口類型數(shù)據(jù)。把一個(gè)值類型裝箱,個(gè)被該值類型數(shù)據(jù)對(duì)應(yīng)的接口類型數(shù)據(jù)。把一個(gè)值類型裝箱,就是創(chuàng)建一個(gè)就是創(chuàng)建一個(gè)objectobject類型的實(shí)例,

27、并把該值類型的值復(fù)制給類型的實(shí)例,并把該值類型的值復(fù)制給該該objectobject。例如,下面的語句就執(zhí)行了裝箱轉(zhuǎn)換:例如,下面的語句就執(zhí)行了裝箱轉(zhuǎn)換:int i=108int i=108;object obj=iobject obj=i;上面的語句中,第上面的語句中,第1 1條語句先聲明一個(gè)整型變量條語句先聲明一個(gè)整型變量i i并對(duì)其賦值,并對(duì)其賦值,第第2 2條語句則先創(chuàng)建一個(gè)條語句則先創(chuàng)建一個(gè)objectobject類型的實(shí)例類型的實(shí)例objobj,然后將,然后將i i的值的值復(fù)制給復(fù)制給objobj。46C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱在執(zhí)行裝箱轉(zhuǎn)換時(shí),也可以使

28、用顯式轉(zhuǎn)換,例如:int i=120;object obj=(object) i;47C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱【例例3-33-3】演示裝箱轉(zhuǎn)換。程序代碼如下:using System;class BoxingDemo static void Main() Console.WriteLine(裝箱轉(zhuǎn)換演示:); int i = 120; object obj = i; i = 300; Console.WriteLine(obj=0, obj); Console.WriteLine(i=0, i); 48C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱【例例3

29、-33-3】演示裝箱轉(zhuǎn)換。該程序執(zhí)行后,輸出結(jié)果如下:裝箱轉(zhuǎn)換演示:obj=120i=300說明:說明:從上面的輸出結(jié)果可知,通過裝箱轉(zhuǎn)換,可以把一個(gè)整型值復(fù)制給一個(gè)object類型的實(shí)例,而被裝箱的整型變量自身的數(shù)值并不會(huì)受到裝箱的影響。49C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱2拆箱轉(zhuǎn)換和裝箱相反,拆箱轉(zhuǎn)換是指將一個(gè)對(duì)象類型的數(shù)據(jù)顯式地轉(zhuǎn)換成一個(gè)值類型數(shù)據(jù),或者將一個(gè)接口類型顯式地轉(zhuǎn)換成一個(gè)執(zhí)行該接口的值類型數(shù)據(jù)。拆箱操作包括兩步,首先檢查對(duì)象實(shí)例,確保其是給定值類型的一個(gè)裝箱值,然后把實(shí)例的值復(fù)制到值類型數(shù)據(jù)中。50C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱例

30、如,下面的語句就執(zhí)行了拆箱轉(zhuǎn)換:object obj=225;int i=(int)obj;上面的語句在執(zhí)行過程中,首先檢查obj這個(gè)object實(shí)例的值是否為給定值類型的裝箱值,由于obj的值為225,給定的值類型為整型,所以滿足拆箱轉(zhuǎn)換的條件,會(huì)將obj的值復(fù)制給整型變量i。需要注意的是,拆箱轉(zhuǎn)換必須需要執(zhí)行顯式轉(zhuǎn)換,這是與裝箱轉(zhuǎn)換不同之處。51C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱【例例3-43-4】演示拆箱轉(zhuǎn)換。程序代碼如下:using System;class UnboxingDemo static void Main() int i=225; object obj

31、= i; /裝箱轉(zhuǎn)換 int j = (int)obj; /拆箱轉(zhuǎn)換 Console.WriteLine(i=0nobj=1nj=2, i, obj, j); 52C#程序設(shè)計(jì)實(shí)用教程 3.2.4 裝箱與拆箱裝箱與拆箱【例例3-43-4】演示拆箱轉(zhuǎn)換。該程序執(zhí)行后,輸出結(jié)果如下:i=225obj=225;j=22553C#程序設(shè)計(jì)實(shí)用教程3.4 結(jié)構(gòu)類型結(jié)構(gòu)類型1. 結(jié)構(gòu)類型的聲明結(jié)構(gòu)類型的聲明 結(jié)構(gòu)類型由若干結(jié)構(gòu)類型由若干“成員成員”組成的。數(shù)據(jù)成員稱為字段,組成的。數(shù)據(jù)成員稱為字段,每個(gè)字段都有自已的數(shù)據(jù)類型。聲明結(jié)構(gòu)類型的一般格式每個(gè)字段都有自已的數(shù)據(jù)類型。聲明結(jié)構(gòu)類型的一般格式如下:如

32、下: struct 結(jié)構(gòu)類型名稱結(jié)構(gòu)類型名稱 字段訪問修飾符字段訪問修飾符 數(shù)據(jù)類型數(shù)據(jù)類型 字段字段1; 字段訪問修飾符字段訪問修飾符 數(shù)據(jù)類型數(shù)據(jù)類型 字段字段2; . 字段訪問修飾符字段訪問修飾符 數(shù)據(jù)類型數(shù)據(jù)類型 字段字段n; ;一般情況下,字段訪問修飾符是一般情況下,字段訪問修飾符是public,并且不可以省略。,并且不可以省略。補(bǔ)充:補(bǔ)充:例如,以下聲明一個(gè)具有姓名和年齡的結(jié)構(gòu)體類型例如,以下聲明一個(gè)具有姓名和年齡的結(jié)構(gòu)體類型Student:struct Student/聲明結(jié)構(gòu)類型聲明結(jié)構(gòu)類型Student public int xh;/學(xué)號(hào)學(xué)號(hào) public string xm

33、;/姓名姓名 public string xb;/性別性別 public int nl;/年齡年齡 public string bh;/班號(hào)班號(hào);2. 結(jié)構(gòu)類型變量的定義結(jié)構(gòu)類型變量的定義 聲明一個(gè)結(jié)構(gòu)類型后,可以定義該結(jié)構(gòu)類型的變量(簡聲明一個(gè)結(jié)構(gòu)類型后,可以定義該結(jié)構(gòu)類型的變量(簡稱為結(jié)構(gòu)變量)。定義結(jié)構(gòu)變量的一般格式如下:稱為結(jié)構(gòu)變量)。定義結(jié)構(gòu)變量的一般格式如下: 結(jié)構(gòu)類型結(jié)構(gòu)類型 結(jié)構(gòu)變量結(jié)構(gòu)變量; 例如,在前面的結(jié)構(gòu)類型例如,在前面的結(jié)構(gòu)類型Student聲明后,定義它的兩聲明后,定義它的兩個(gè)變量如下:個(gè)變量如下: Student s1,s2;3. 結(jié)構(gòu)變量的使用結(jié)構(gòu)變量的使用1)

34、訪問結(jié)構(gòu)變量字段)訪問結(jié)構(gòu)變量字段訪問結(jié)構(gòu)變量字段的一般格式如下:訪問結(jié)構(gòu)變量字段的一般格式如下: 結(jié)構(gòu)變量名結(jié)構(gòu)變量名.字段名字段名 例如,例如,s1.xh表示結(jié)構(gòu)變量表示結(jié)構(gòu)變量s1的學(xué)號(hào),的學(xué)號(hào),s2.xm表示結(jié)構(gòu)變量表示結(jié)構(gòu)變量s2的姓名。的姓名。 結(jié)構(gòu)體變量的字段可以在程序中單獨(dú)使用,與普通變量完結(jié)構(gòu)體變量的字段可以在程序中單獨(dú)使用,與普通變量完全相同。全相同。2)結(jié)構(gòu)變量的賦值)結(jié)構(gòu)變量的賦值 結(jié)構(gòu)變量的賦值有兩種方式。結(jié)構(gòu)變量的賦值有兩種方式。 結(jié)構(gòu)變量的字段賦值:使用方法與普通變量相同。結(jié)構(gòu)變量的字段賦值:使用方法與普通變量相同。 結(jié)構(gòu)變量之間賦值:要求賦值的兩個(gè)結(jié)構(gòu)變量必須類

35、型相結(jié)構(gòu)變量之間賦值:要求賦值的兩個(gè)結(jié)構(gòu)變量必須類型相同。例如:同。例如: s1=s2;這樣這樣s2的所有字段值賦給的所有字段值賦給s1的對(duì)應(yīng)字段。的對(duì)應(yīng)字段。 【例例3.2】 設(shè)計(jì)一個(gè)控制臺(tái)程序說明結(jié)構(gòu)類型的應(yīng)用。設(shè)計(jì)一個(gè)控制臺(tái)程序說明結(jié)構(gòu)類型的應(yīng)用。using System;namespace Proj3_2 class Program struct Student /結(jié)構(gòu)類型聲明應(yīng)放在結(jié)構(gòu)類型聲明應(yīng)放在Main函數(shù)的外面函數(shù)的外面 public int xh; /學(xué)號(hào)學(xué)號(hào) public string xm; /姓名姓名 public string xb; /性別性別 public int

36、 nl; /年齡年齡 public string bh; /班號(hào)班號(hào) static void Main(string args) Student s1,s2;/定義兩個(gè)結(jié)構(gòu)類型變量定義兩個(gè)結(jié)構(gòu)類型變量 s1.xh = 101; s1.xm = 李明李明; s1.xb = 男男; s1.nl = 20; s1.bh = 07001; Console.WriteLine(學(xué)號(hào)學(xué)號(hào):0,姓名姓名:1,性別性別:2,年齡年齡:3, 班號(hào)班號(hào):4, s1.xh, s1.xm, s1.xb, s1.nl, s1.bh); s2 = s1;/將結(jié)構(gòu)變量將結(jié)構(gòu)變量s1賦給賦給s2 s2.xh = 108; s

37、2.xm = 王華王華; Console.WriteLine(學(xué)號(hào)學(xué)號(hào):0,姓名姓名:1,性別性別:2,年齡年齡:3, 班號(hào)班號(hào):4, s2.xh, s2.xm, s2.xb, s2.nl, s2.bh); 3.3 常量和變量正確定義和使用常量及變量,會(huì)使開發(fā)人員在編程過程中減少錯(cuò)誤,提高程序開發(fā)效率。60C#程序設(shè)計(jì)實(shí)用教程 3.3.1 常量常量常量是指那些基于可讀格式的固定數(shù)值,在程序的運(yùn)行過程中其值是不可改變的。通過關(guān)鍵字const來聲明常量,其格式如下:const 類型標(biāo)識(shí)符 常量名 = 表達(dá)式;類型標(biāo)識(shí)符指示所定義的常量的數(shù)據(jù)類型,常量名必須是合法的標(biāo)識(shí)符,在程序中通過常量名來訪問該

38、常量。如下例所示:const double PI = 3.14159265;上面的語句就定義了一個(gè)double類型的常量PI,它的值是3.14159265。61C#程序設(shè)計(jì)實(shí)用教程 3.3.1 常量常量常量有如下特點(diǎn):(1)程序中,常量只能被賦予初始值。一旦賦予一個(gè)常量初始值,這個(gè)常量的值在程序的運(yùn)行過程中就不允許改變,即無法對(duì)一個(gè)常量賦值。(2)定義常量時(shí),表達(dá)式中的運(yùn)算符對(duì)象只允許出現(xiàn)常量,不能有變量存在。例如:int a = 20;const int b = 30;const int c = b + 25; /正確,因?yàn)閎是常量const int k = a + 45; /錯(cuò)誤,表達(dá)式中

39、不允許出現(xiàn)變量c = 150; /錯(cuò)誤,不能修改常量的值62C#程序設(shè)計(jì)實(shí)用教程 3.3.2 變量變量變量變量是程序運(yùn)行過程中用于存放數(shù)據(jù)的存儲(chǔ)單元。變量的值在程序的運(yùn)行過程中是可以改變的。1 1變量的定義變量的定義在定義變量時(shí),首先必須給每一個(gè)變量起名,稱為變量名,以便區(qū)分不同的變量。變量名必須是合法的標(biāo)識(shí)符。為了保存不同類型的數(shù)據(jù),除了變量名之外,在定義變量時(shí),還必須為每個(gè)變量指定數(shù)據(jù)類型,變量的類型決定了存儲(chǔ)在變量中的數(shù)值的類型。對(duì)于一個(gè)變量的定義,變量名和變量類型缺一不可。C#中,采用如下格式定義一個(gè)變量:類型標(biāo)識(shí)符 變量名1, 變量名2, 變量名3,.63C#程序設(shè)計(jì)實(shí)用教程 3.3

40、.2 變量變量變量定義如下例所示:int i, j, k;/同時(shí)聲明多個(gè)int類型相同的變量,在類型的后面用逗號(hào)分割變量名float fSum;string strName, strAddress;注意:注意:任何變量在使用前,必須先定義,后使用。64C#程序設(shè)計(jì)實(shí)用教程 3.3.2 變量變量2 2變量的賦值變量的賦值變量是一個(gè)能保存某種類型的具體數(shù)據(jù)的內(nèi)存單元,可以通過變量名來訪問這個(gè)具體的內(nèi)存單元。變量的賦值,就是把數(shù)據(jù)保存到變量中的過程。給一個(gè)變量賦值的格式如下:變量名=表達(dá)式;這里的表達(dá)式同數(shù)學(xué)中的表達(dá)式是類似的,如9+10、4+a-c都是表達(dá)式。單個(gè)常數(shù)或者變量,也可以構(gòu)成表達(dá)式。由

41、單個(gè)常數(shù)或者變量構(gòu)成的表達(dá)式的值,就是由這個(gè)常數(shù)或者變量本身。變量賦值的意義是:首先計(jì)算表達(dá)式的值,然后將這個(gè)值賦予變量。65C#程序設(shè)計(jì)實(shí)用教程 3.3.2 變量變量比如,定義了兩個(gè)double類型的變量dblTotalScore、dblAverageScore和一個(gè)int類型的變量nStudentCount:double dblTotalScore,dblAverageScore;int nStudentCount;66C#程序設(shè)計(jì)實(shí)用教程 3.3.2 變量變量2 2變量的賦值變量的賦值下面給dblTotalScore、nStudentCount賦值,應(yīng)該寫成:dblTotalScore

42、= 2000;nStudentCount = 20;如果要讓dblAverageScore的值等于dblTotalScore的值除以nStudentCount,應(yīng)該寫成:dblAverageScore = dblTotalScore / nStudentCount;67C#程序設(shè)計(jì)實(shí)用教程 3.3.2 變量變量在程序中,可以給一個(gè)變量多次賦值。變量的當(dāng)前值等于最近一次給變量所賦的值。如:nStudentCount = 20; /此時(shí)nStudentCount等于20nStudentCount = 70;/此時(shí)nStudentCount等于70nStudentCount = nStudentCo

43、unt + 15; /此時(shí)nStudentCount等于8568C#程序設(shè)計(jì)實(shí)用教程 3.3.2 變量變量在對(duì)變量進(jìn)行賦值時(shí),表達(dá)式的值的類型必須同變量的類型相同。對(duì)于string類型的變量strName和int類型的變量nScore:string strName;int nScore;則下面的賦值語句是正確正確的:strName = Jim;strName = Xiaobao;nScore = 100;但是,以下的賦值語句是錯(cuò)誤錯(cuò)誤的:strName = 120; /不能把整數(shù)賦予字符串變量nScore = Hello;/不能把字符串賦予整形變量69C#程序設(shè)計(jì)實(shí)用教程 3.3.2 變量變量

44、3 3變量的初始化變量的初始化在定義變量的同時(shí),也可以對(duì)變量賦值,稱為變量的初始化。在C#中,對(duì)變量進(jìn)行初始化的格式如下所示:類型標(biāo)識(shí)符 變量名=表達(dá)式;例如:int nStudentCount = 150;/定義一個(gè)int類型變量nStudentCount,并將其賦予初始值為15070C#程序設(shè)計(jì)實(shí)用教程補(bǔ)充:補(bǔ)充: 理解引用類型的變量理解引用類型的變量 引用表示所使用的是變量或?qū)ο蟮牡刂范皇亲兞炕蛞帽硎舅褂玫氖亲兞炕驅(qū)ο蟮牡刂范皇亲兞炕驅(qū)ο蟊旧怼.?dāng)聲明引用類型變量時(shí),程序只是分配了存對(duì)象本身。當(dāng)聲明引用類型變量時(shí),程序只是分配了存放這個(gè)引用的存儲(chǔ)空間。要想創(chuàng)建對(duì)象并把對(duì)象的存儲(chǔ)放這

45、個(gè)引用的存儲(chǔ)空間。要想創(chuàng)建對(duì)象并把對(duì)象的存儲(chǔ)地址賦給該變量,就需要使用地址賦給該變量,就需要使用new操作符。例如:操作符。例如: MyClass var; /MyClass是已定義的類或類型是已定義的類或類型 var=new MyClass();數(shù)組示例:數(shù)組示例: int a = new int3 1, 2, 3; for (int i = 0; i 3; i+) Console.Write(0 ,ai);using System;using System.Collections.Generic;using System.Text;namespace 理解引用類型的變量 class Pro

46、gram static void Main(string args) int a = 1, 2, 3, 4, 5 ; for (int i = 0; i a.Length; i+) Console.Write(ai+ ); Console.WriteLine(); int b = a; for (int i = 0; i b.Length; i+) bi *= 2; for (int i = 0; i b的結(jié)果為false。關(guān)系運(yùn)算可以和算術(shù)運(yùn)算混合起來使用,此時(shí),關(guān)系運(yùn)算符兩邊的運(yùn)算對(duì)象可以是算術(shù)表達(dá)式的值,在C#中,是先求表達(dá)式的值,然后將這些值做關(guān)系運(yùn)算。例如:4+86-3 /結(jié)果是tr

47、ue87C#程序設(shè)計(jì)實(shí)用教程using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1 class Program static void Main(string args) char a1 = a; char a2 = b; bool bl = a1 a2; Console.WriteLine(Convert.ToInt16(a1); Console.WriteLine(bl); Console.ReadLine(); 3.4.1 運(yùn)算符運(yùn)算符4. 邏輯運(yùn)算符邏輯運(yùn)

48、算符用于表示兩個(gè)布爾值的邏輯關(guān)系,邏輯運(yùn)算結(jié)果是布爾類型。C#中,邏輯運(yùn)算符如表3-8所示。89C#程序設(shè)計(jì)實(shí)用教程 3.4.1 運(yùn)算符運(yùn)算符邏輯非運(yùn)算邏輯非運(yùn)算的結(jié)果是原來運(yùn)算結(jié)果的逆,如果原來運(yùn)算結(jié)果為false,則經(jīng)過邏輯非運(yùn)算后,結(jié)果為true。邏輯與運(yùn)算邏輯與運(yùn)算的含義是,只有兩個(gè)運(yùn)算對(duì)象都為true,運(yùn)算結(jié)果才為true,如果只有其中一個(gè)是false,結(jié)果就為false。邏輯或運(yùn)算邏輯或運(yùn)算的含義是,只有兩個(gè)運(yùn)算對(duì)象中有一個(gè)為true,運(yùn)算結(jié)果就為true,只有兩個(gè)運(yùn)算對(duì)象都為false,結(jié)果才為false。90C#程序設(shè)計(jì)實(shí)用教程 3.4.1 運(yùn)算符運(yùn)算符邏輯運(yùn)算的規(guī)律總結(jié)如表3

49、-9所示。當(dāng)需要多個(gè)判定條件時(shí),可以方便地使用邏輯運(yùn)算符把關(guān)系表達(dá)式連接起來。如果表達(dá)式中同時(shí)存在著多個(gè)邏輯運(yùn)算符,邏輯非的優(yōu)先級(jí)最高,邏輯與的優(yōu)先級(jí)高于邏輯或。91C#程序設(shè)計(jì)實(shí)用教程 3.4.1 運(yùn)算符運(yùn)算符5. 位運(yùn)算符位運(yùn)算是指二進(jìn)制位的運(yùn)算,每個(gè)二進(jìn)制都是由0或1組成,進(jìn)行位運(yùn)算時(shí),依次取運(yùn)算對(duì)象的每一個(gè)位,進(jìn)行位運(yùn)算。位運(yùn)算符如圖3-10所示。在此表中,設(shè)x = 6,其二進(jìn)制表示為00000110;y = 10,其二進(jìn)制表示為00001010。92C#程序設(shè)計(jì)實(shí)用教程using System;namespace ConsoleApplication3 class Program s

50、tatic void Main(string args) int x = 2; int x1 = Transfer(x); Console.WriteLine(移位前的x為:0, x1); Console.WriteLine(請(qǐng)輸入要移動(dòng)的位數(shù):); int y=x int.Parse(Console.ReadLine(); int x2 = Transfer(y); Console.WriteLine(移位后的x為:0, x2); Console.ReadLine(); / / 十進(jìn)制轉(zhuǎn)換為二進(jìn)制 / / / public static int Transfer(int num10) int

51、 num2; string str = null; while (num10 0) num2 = num10 % 2; num10 = num10 / 2; str = num2.ToString() + str; num2 = int.Parse(str); return num2; 3.4.1 運(yùn)算符運(yùn)算符左移位運(yùn)算左移位運(yùn)算將各個(gè)位向左移動(dòng)指定的位數(shù),舍棄移出的位,并在右邊用0填充。右移位運(yùn)算將各個(gè)位向右移動(dòng)指定的位數(shù),舍棄移出的位,并在左邊用0填充。按位與運(yùn)算按位與運(yùn)算通過逐位執(zhí)行邏輯AND的計(jì)算。按位或運(yùn)算通過逐位執(zhí)行邏輯OR的計(jì)算。按位異或運(yùn)算按位異或運(yùn)算通過逐位執(zhí)行XOR計(jì)算,即兩個(gè)操作數(shù)相同時(shí),結(jié)果為0,兩個(gè)操作數(shù)不相同時(shí),結(jié)果為1。94C#程序設(shè)計(jì)實(shí)用教程 3.4.1 運(yùn)算符運(yùn)算符6. 條件運(yùn)算符條件運(yùn)算符由“?”和“:”組成,條件運(yùn)算符是一個(gè)三元運(yùn)算符。條件運(yùn)算符的一般格式為:操作數(shù)1? 操作數(shù)2:操作數(shù)3其中操作數(shù)1的值必須為布爾值。進(jìn)行條件運(yùn)算時(shí),首先判定“?”前面的布爾值是true還是false,如果是true,則條件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論