C#程序設(shè)計(jì)案例教程 王明福 源代碼習(xí)題答案 第2章新_第1頁
C#程序設(shè)計(jì)案例教程 王明福 源代碼習(xí)題答案 第2章新_第2頁
C#程序設(shè)計(jì)案例教程 王明福 源代碼習(xí)題答案 第2章新_第3頁
C#程序設(shè)計(jì)案例教程 王明福 源代碼習(xí)題答案 第2章新_第4頁
C#程序設(shè)計(jì)案例教程 王明福 源代碼習(xí)題答案 第2章新_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章數(shù)據(jù)類型和表達(dá)式通過本章的學(xué)習(xí),使讀者:了解C#語言的根本字符、標(biāo)識(shí)符和關(guān)鍵字掌握C#語言的數(shù)據(jù)和數(shù)據(jù)類型掌握C#語言的運(yùn)算符和表達(dá)式本章要點(diǎn)2.1根本規(guī)那么2.1.1標(biāo)識(shí)符

在C#中,標(biāo)識(shí)符的命名有如下規(guī)那么:例如:下面是幾個(gè)正確的變量名稱:intA、M_data、_D123。下面是幾個(gè)錯(cuò)誤的變量名稱:123data〔錯(cuò)誤原因:使用數(shù)字作為起始字符〕float〔錯(cuò)誤原因:使用關(guān)鍵字作為標(biāo)識(shí)符〕int-a〔錯(cuò)誤原因:使用連字符“—〞〕。2.1根本規(guī)那么2.1.3關(guān)鍵字關(guān)鍵字又稱保存字,是一種有特殊用途的標(biāo)識(shí)符。由系統(tǒng)預(yù)先定義好的,不能用于其它目的。C#中有七十多個(gè)關(guān)鍵字,這些關(guān)鍵字都有自己的用途。C#的常見關(guān)鍵字參見教材表2-1。2.2根本數(shù)據(jù)類型C++語言的數(shù)據(jù)類型分為根本數(shù)據(jù)類型和構(gòu)造數(shù)據(jù)類型〔或稱復(fù)合數(shù)據(jù)類型〕。根本數(shù)據(jù)類型有5種:整型〔int〕、浮點(diǎn)型〔float〕、字符型〔char〕、雙精度浮點(diǎn)型〔double〕和無值型〔void〕。2.2根本數(shù)據(jù)類型類型名類型說明符字長(zhǎng)(字節(jié))取值范圍布爾型boolfalse,true字符型char1-128~127無符號(hào)字符型unsignedchar10~255整型int4-2147483648~2147483674長(zhǎng)整型long4-2147483648~2147483674無符號(hào)長(zhǎng)整型unsignedlong40~4294967295浮點(diǎn)型float43.4E-38~3.4E+38實(shí)型double81.7-308~1.7E+308空值型void02.2常量與變量常量是在程序中不能改變的量。它通??梢苑譃閿?shù)字常量和符號(hào)常量1.整型常量

整型常量可用以下幾種形式表示:2.2.1常量①十進(jìn)制整數(shù)如:34、0、-56等。②八進(jìn)制整數(shù)為了與十進(jìn)制數(shù)區(qū)別,八進(jìn)制整數(shù)以0開頭,后跟假設(shè)干個(gè)0~7的數(shù)字。③十六進(jìn)制整數(shù)為了與十進(jìn)制整數(shù)和八進(jìn)制整數(shù)區(qū)別,以0x或OX開頭,后跟假設(shè)干個(gè)0~9及a~f,a~f分別表示十進(jìn)制整數(shù)10~15。2.2常量與變量2.實(shí)型常量

實(shí)數(shù)又稱為浮點(diǎn)數(shù),一般有兩種書寫形式:①一般形式就是平時(shí)寫實(shí)數(shù)的形式。②指數(shù)形式在C#中,指數(shù)形式表示為:<整數(shù)局部>E<指數(shù)局部>3.字符常量

字符常量是用單引號(hào)〔即撇號(hào)〕括起來的一個(gè)字符。2.2常量與變量4.字符串常量

(1)常規(guī)字符串雙引號(hào)括引起的一串字符,可以包括轉(zhuǎn)義字符。例如:“china〞,“〞,“teacherandstudent〞,“a〞等都是字符串常量。 (2)逐字字符串在常規(guī)字符串前面加一個(gè)@,就形成逐字字符串。例如: @“C:\windows\Microsoft〞與"C:\\windows\\Microsoft"含義相同2.2常量與變量5.布爾型常量通常表示真假用布爾常量:false表示假,true表示真。

6.符號(hào)常量

在聲明語句中,可以聲明一個(gè)標(biāo)識(shí)符常量。具體格式為:const類型標(biāo)識(shí)符=初值例如:constdoublePI=3.141592.2常量與變量在程序執(zhí)行過程中其值可以改變的量叫變量。2.2.2變量的聲明1.變量的定義

<數(shù)據(jù)類型><變量名>;或<數(shù)據(jù)類型><變量名1>,<變量名2>,…,<變量n>;例如:inta,x,y;//定義了3個(gè)整型變量a,x,ycharb;//定義了1個(gè)字符型變量bfloatc,d;//定義了2個(gè)實(shí)型〔單精度〕變量c,ddoubleu,v;//定義了2個(gè)實(shí)型〔雙精度〕變量u,v2.2常量與變量2.變量的初始化

inta=2;//定義a為整型變量,初值為2charb=‘A’;//定義b為字符型變量,初值為‘A’doublex=2.1234;//定義x為實(shí)型變量,初值為2.1234也可對(duì)被定義的變量的局部變量進(jìn)行初始化。如intu,v=100,w;//定義u,v,w為整型變量,v的初值為1002.2常量與變量2.2.3變量的命名標(biāo)準(zhǔn)通常有PascalCase和CamelCase兩種命名方法,PascalCase中每個(gè)單詞的首字母都是大寫,CamelCase規(guī)定首字母都是小寫。下面給出PascalCase和CamelCase的例子,如下表所示。PascalCaseCamelCaseMyDatamyDataCreateDaracreateDataWorldworld2.2常量與變量2.2.4變量的賦值

在C#中,給一個(gè)變量賦值的格式如下:變量名=表達(dá)式;

inta=0;//定義整型變量a,并為其賦初值等于0doubleb; //定義雙精度變量b,未賦初值a=256;//為整型變量a賦值為256

b=21.78;//為雙精度變量b賦值為21.78

2.2常量與變量2.2.5變量的類型

1.?dāng)?shù)值類型C#中常用的數(shù)值類型如表2-4所示。

全稱簡(jiǎn)稱說明字節(jié)取值范圍System.Boolleanbooltrue或falseSystem.Bytebyte8位無符號(hào)整數(shù)

10~255System.SBytesbyte8位無符號(hào)整數(shù)

1-128~127System.Charchar16位Unicode字符

20~65535System.Int32int32位有符號(hào)整數(shù)

4-2147483648~2147483647System.Int16short16位有符號(hào)整數(shù)

2-32768~327672.2常量與變量2.2.5變量的類型

2.引用類型引用類型不存儲(chǔ)它們所代表的實(shí)際值,而是指向所要存儲(chǔ)的值,即引用類型存儲(chǔ)的實(shí)際數(shù)據(jù)是當(dāng)前的引用的地址。(1)object類型object數(shù)據(jù)類型是根類類型,它是所有類型的基類。任一個(gè)object變量,可以賦予任何類型的值。例如:

intx1=123;doublex2=34.87; objecty1,y2;//聲明y1,y2是object類型的變量

y1=x1; y2=x2;2.2常量與變量2.2.5變量的類型

2.引用類型引用類型不存儲(chǔ)它們所代表的實(shí)際值,而是指向所要存儲(chǔ)的值,即引用類型存儲(chǔ)的實(shí)際數(shù)據(jù)是當(dāng)前的引用的地址?!?〕字符串類型string字符串是被雙引號(hào)包含的一串字符,專門用于處理字符串的引用類型,string是System.String的別名。用string關(guān)鍵字聲明的變量〔對(duì)象〕可以存儲(chǔ)Unicode字符的字符串,并具有字符串的連接運(yùn)算。例如:stringstr1=“C#語言〞;stringstr2=“程序設(shè)計(jì)〞;stringstr3;str3=str1+str2;//str3的值為:“C#語言程序設(shè)計(jì)〞2.2常量與變量2.2.6類型之間的轉(zhuǎn)換

1.隱式轉(zhuǎn)換隱式轉(zhuǎn)換是系統(tǒng)默認(rèn)的,遵守“由低級(jí)〔字節(jié)數(shù)和精度〕類型向高級(jí)類型轉(zhuǎn)換,結(jié)果為高級(jí)類型〞的原那么.stringa,b;a=10+“12〞;//系統(tǒng)將整型數(shù)據(jù)10隱式轉(zhuǎn)化為字符串“10〞,結(jié)果a的內(nèi)容為“1012〞doublex=3.1415;inty=21;doublez=x+y;//系統(tǒng)將整型數(shù)據(jù)y隱式轉(zhuǎn)化為實(shí)型21.0后再與x運(yùn)算,//結(jié)果z的內(nèi)容為24.14152.2常量與變量2.2.6類型之間的轉(zhuǎn)換

2.顯示轉(zhuǎn)換(1)強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換轉(zhuǎn)換的一般格式為:〔數(shù)據(jù)類型名稱〕數(shù)據(jù)(2)ToString()方法─—將根本數(shù)值類型轉(zhuǎn)化為字符串使用格式為:變量名稱.ToString()例如: intc; c=309; stringe=c.ToString();//e的值為“309〞 doubled=3.1415; stringf=d..ToString();//f的值為“3.1415〞2.2常量與變量2.2.6類型之間的轉(zhuǎn)換

(3)Parse方法─將字符串轉(zhuǎn)換為數(shù)值數(shù)值類型名稱.Parse(字符串表達(dá)式)例如:strings="123.32"; intx;doubley;x=int.Parse(“234〞);//將字符串"234"轉(zhuǎn)化為整數(shù)234y=double.Parse(s);//將字符串"123.32"轉(zhuǎn)化為實(shí)數(shù)123.32(4)Covert類─各種數(shù)據(jù)類型之間的相互轉(zhuǎn)化intc;c=3;stringe=c.ToString();//e的值為“3〞intg;g=Convert.ToInt32(e);//g為int類型的值3【例2-2】數(shù)據(jù)類型轉(zhuǎn)換。staticvoidMain(string[]args){strings1="123",s2="90.8";intx;doubley;//1.用parse,Convert,將字符串轉(zhuǎn)換為數(shù)〔int,double,...)x=int.Parse(s1);y=double.Parse(s2);Console.WriteLine("\ns1={0},s2={1}",x,y);

x=Convert.ToInt32(s1);y=Convert.ToDouble(s2);Console.WriteLine("\ns1={0},s2={1}",x,y);

//2.用int,...,Convert,將數(shù)轉(zhuǎn)換為字符串intk=12;doubled=12.56;s1=k.ToString();s2=d.ToString();Console.WriteLine("\ns1={0},s2={1}",s1,s2);s1=Convert.ToString(k);s2=Convert.ToString(d);Console.WriteLine("\ns1={0},s2={1}",s1,s2);}2.3運(yùn)算符與表達(dá)式運(yùn)算符名稱例子運(yùn)算功能+-*/%++--加法運(yùn)算減法運(yùn)算乘法運(yùn)算除法運(yùn)算模運(yùn)算遞增遞減x+yx-yx*yx/yx%y++x;x++--x;x--求x與y的和求x與y的差求x與y的積求x與y的商求x除以y的余數(shù)2.3運(yùn)算符與表達(dá)式2.3運(yùn)算符與表達(dá)式3.優(yōu)先級(jí)和結(jié)合方向

C#語言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向,在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別上下次序執(zhí)行,再按運(yùn)算符的結(jié)合方向結(jié)合〔相同優(yōu)先級(jí)時(shí)〕。例如先乘除后加減,如下表所示。高運(yùn)算種類結(jié)合性優(yōu)先級(jí)++,--從右到左高低

*,/,%從左到右+,-從左到右2.3運(yùn)算符與表達(dá)式1.關(guān)系運(yùn)算符

C#語言中提供6種關(guān)系運(yùn)算符<,<=,>,>=,==,!=。2.3.2關(guān)系運(yùn)算符與關(guān)系表達(dá)式2.3運(yùn)算符與表達(dá)式2.關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來,表示關(guān)系運(yùn)算的表達(dá)式稱為關(guān)系表達(dá)式。一般形式為:表達(dá)式1關(guān)系運(yùn)算符表達(dá)式2【例2-4】關(guān)系表達(dá)式。2.3運(yùn)算符與表達(dá)式staticvoidMain(string[]args){intz; z=3+5==2*4;//即判斷〔3+5〕是否等于〔2*4〕,z=1表示true Console.WriteLine("z={0}",z);z=3<=5!=4;//先判斷〔3<=5〕,結(jié)果為0,再進(jìn)行0!=4,z=1表示true Console.WriteLine("z={0}",z); z=2+3!=5>5-3;//等價(jià)于(2+3)!=(5>(5-3)),z=1表示trueConsole.WriteLine("z={0}",z); z=5>4>=3;//先求5>4結(jié)果為1,再進(jìn)行1>=3的比較,z=0表示false Console.WriteLine("z={0}",z);}2.3運(yùn)算符與表達(dá)式1.邏輯運(yùn)算符

有3種邏輯運(yùn)算符:“!〞(邏輯非)、“&&〞(邏輯與)和“||〞〔邏輯或〕。2.3.3邏輯運(yùn)算符與邏輯表達(dá)式2.邏輯表達(dá)式

邏輯表達(dá)式的一般形式為:!x,x&&y,x||y2.3運(yùn)算符與表達(dá)式【例2-5】邏輯表達(dá)式。staticvoidMain(string[]args){ intx=2,y=5,z; z=(x>0)||(y<8);

Console.WriteLine("z={0}",z);//z=1表示true z=(x==0)&&(y<8);

Console.WriteLine("z={0}",z);//z=0表示false z=!(x==2);

Console.WriteLine("z={0}",z);//z=0表示false}

2.3運(yùn)算符與表達(dá)式所謂位〔bit〕運(yùn)算,是指對(duì)一個(gè)數(shù)據(jù)的某些二進(jìn)制位進(jìn)行的運(yùn)算。C#語言提供6種位運(yùn)算符,如表2-8所示。2.3.4位運(yùn)算和位運(yùn)算符位運(yùn)算符含義位運(yùn)算符含義&按位與~取反|按位或<<左移^按位異或>>右移2.3運(yùn)算符與表達(dá)式【例2-6】分析以下程序的執(zhí)行結(jié)果(本程序在32位機(jī)上運(yùn)行)。staticvoidMain(string[]args){uinta=0x1234;//0001,0010,0011,0100=>1234(前面16位均為0)

uintb=a<<2;//0100,1000,1101,0000=>48d0(前面16位均為0)

uintc=a>>2;//0000,0100,1000,1101=>048d(前面16位均為0)

uintd=b&c; //0000,0000,1000,0000=>0080(前面16位均為0)

uinte=b|c;//0100,1100,1101,1101=>4cdd(前面16位均為0)

uin

溫馨提示

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