vs 新版2章節(jié)課件_第1頁
vs 新版2章節(jié)課件_第2頁
vs 新版2章節(jié)課件_第3頁
vs 新版2章節(jié)課件_第4頁
vs 新版2章節(jié)課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

主講教師:本課學(xué)時:聯(lián)系方式:C#程序設(shè)計教程第二章C#數(shù)據(jù)類型與表達式

CONTENT本章主要內(nèi)容介紹2.1C#的基本語法2.2基本數(shù)據(jù)類型

2.3常量

2.4變量

2.5表達式

2.6小結(jié)本章學(xué)習(xí)目標(biāo):掌握C#的基本語法熟練應(yīng)用C#的數(shù)據(jù)類型熟練掌握各種運算符的使用規(guī)則能夠根據(jù)需要寫出正確的表達式2.1C#的基本語法1.Using關(guān)鍵字:用以引用Microsoft.Net框架類庫中的現(xiàn)有資源。這些資源以命名空間的形式存在。2.System命名空間:提供了對構(gòu)建應(yīng)用程序所需的所有系統(tǒng)功能的訪問。3.類:是C#應(yīng)用程序最基本的編程單元。4.Namespace關(guān)鍵字:使用Namespace關(guān)鍵字命名空間,可以把類組織成一個邏輯上相關(guān)聯(lián)的層次結(jié)構(gòu)。5.Main方法:Main方法用來描述類的行為。6.語句:是C#程序中執(zhí)行操作的指令,語句之間用分號分隔。語句可以寫在一行,也可以寫多行。7.大括號:”{“和”}”用以標(biāo)識代碼塊的開始和結(jié)束,必須配對使用。8.縮進:用來指出語句所處的代碼塊。9.區(qū)分大小寫:C#語言區(qū)分大小寫。例如A和a是不同的變量。10:空白區(qū):除了引號中,編譯器會忽略所有的空白區(qū),可以用空白區(qū)來改善代碼格式。11.注釋:在程序中插入雙斜桿”//”,可以隨后書寫不跨行的注釋;或者以”/*”開始,以”*/”結(jié)束。關(guān)鍵字在C#中,關(guān)鍵字代表有特定功能的一些英文單詞,代表不同的含義,它們的顏色是特別的明顯的。但是他們不能在程序中用作變量名。2.2基本數(shù)據(jù)類型C#中的數(shù)據(jù)類型分為兩個基本類別

值類型

表示實際數(shù)據(jù)只是將值存放在內(nèi)存中

值類型都存儲在堆棧中

簡單類型、枚舉、結(jié)構(gòu)引用類型

表示指向數(shù)據(jù)的指針或引用是內(nèi)存堆中對象的地址

為null,則表示未引用任何對象類、接口、數(shù)組和委托兩個特殊的類object與string區(qū)別值類型的變量本身包含他們的數(shù)據(jù),而引用類型的變量包含的是指向包含數(shù)據(jù)的內(nèi)存塊的引用。

值類型和引用類型的區(qū)別,就在于當(dāng)函數(shù)參數(shù)傳遞的時候:

值類型是把自己的值復(fù)制一份傳遞給別的函數(shù)操作.無論復(fù)制的值怎么被改變.其自身的值是不會改變的。

而引用類型是把自己的內(nèi)存地址傳遞給別的函數(shù)操作.操作的就是引用類型值的本身.所以值被函數(shù)改變了。這就是傳值和傳址的區(qū)別C#的基本數(shù)據(jù)類型usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplication3{classProgram{staticvoidMain(string[]args){//值類型變量intperson=10;Console.WriteLine("person的原值:"+person);

Add(person);

Console.WriteLine("person的值并沒有因為函數(shù)的修改而修改:"+person);

Console.ReadLine();

}

publicstaticvoidAdd(intperson)

{

person+=10;

Console.WriteLine("值類型當(dāng)參數(shù)被傳遞并修改之后"+person);

}

}}輸出結(jié)果:C#的基本數(shù)據(jù)類型usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplication3{classProgram{staticvoidMain(string[]args){//引用類型變量Personperson=newPerson();Console.WriteLine("Blood的原值:"+person.Blood);

Add(person);

Console.WriteLine("Blood的值因為函數(shù)的修改而修改:"+person.Blood);

Console.ReadLine();

}

publicstaticvoidAdd(Personperson)

{

person.Blood+=10;

Console.WriteLine("引用類型當(dāng)參數(shù)被傳遞并修改之后"+person.Blood);

}

}

classPerson

{

publicintBlood=10;

}}輸出結(jié)果:2.2基本數(shù)據(jù)類型12345678910111213數(shù)值類型的附加后綴。數(shù)值類型的附加后綴類別后綴描述整數(shù)U或u無符號L長整形UL無符號長整形實數(shù)F或f浮點型D或d雙精度型M或m十進制decimalbalance=3400.20;//錯誤decimalbalance=3400.20M;枚舉C#枚舉類型(也稱為枚舉)為定義一組可以賦給變量的命名整數(shù)常量提供了一種有效的方法。枚舉枚舉(enum,Enumerator的縮寫)是一組已命名的數(shù)值(整型)常量用enum關(guān)鍵字來創(chuàng)建枚舉publicenumWeekDays{ Monday, Tuesday, Wednesday, Thursday, Friday}

publicenumWeekDays{ Monday=1, Tuesday=2, Wednesday=3, Thursday=4, Friday=5}01234

枚舉的五個成員分別表示不同的值枚舉的使用:先創(chuàng)建,再聲明枚舉變量,系統(tǒng)預(yù)定義的枚舉使用枚舉的好處WeekDayswd;wd=WeekDays.Friday;//輸出變量wd,顯示Friday,不是4

枚舉賦值枚舉的應(yīng)用usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace枚舉應(yīng)用{publicclassEnumSample{enumColors{Red=1,Blue=2};publicstaticvoidMain(){EnummyColors=Colors.Red;Console.WriteLine("Thevalueofthisinstanceis{0}",myColors.ToString());Console.ReadLine();}}

}輸出結(jié)果:枚舉的用途

通過定義一個枚舉類型,用它來保存一組數(shù)據(jù),比起用變量來保存這些數(shù)據(jù),枚舉類型更能直觀地表示一組數(shù)據(jù)。structstructEx{publicintstructDataMember;

publicvoidstructMethod1(){ //structMethod1實現(xiàn)}}自定義數(shù)據(jù)類型可以在其內(nèi)部定義方法無法實現(xiàn)繼承屬于值類型主要結(jié)構(gòu):structstudent{ publicintstud_id; publicstringstud_name; publicfloatstud_marks; publicvoidshow_details() { //顯示學(xué)生詳細(xì)信息 }}結(jié)構(gòu)數(shù)據(jù)成員方法所有與Student關(guān)聯(lián)的詳細(xì)信息都可以作為一個整體進行存儲和訪問結(jié)構(gòu)的用途

實際應(yīng)用中,為了解決復(fù)雜的數(shù)據(jù)類型,需要把一系列相關(guān)的變量組織成為一個整體的過程,我們需要用結(jié)構(gòu)來定義,用以減少程序的工作量,提高代碼的直觀性。2.3常量

語法:訪問修飾符

const數(shù)據(jù)類型常量名=常量值;PublicPrivateProtected常量用于在整個程序中將數(shù)據(jù)保持同一個值

常量usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace常量{classProgram{staticvoidMain(string[]args){//PI常量PIconstfloat_pi=3.14F;//由地球引力引起的加速度常量,單位為cm/s*sconstfloat_gravity=980;//鐘擺的長度intlength=40;//鐘擺的周期doubleperiod=0;//鐘擺周期的計算公式period=2*_pi*Math.Sqrt(length/_gravity);Console.WriteLine("鐘擺的周期為{0}秒",period);Console.ReadKey();}}}聲明常量在表達式中使用常量const關(guān)鍵字用于聲明常量輸出結(jié)果:2.4變量語法:訪問修飾符數(shù)據(jù)類型變量名PublicPrivateProtectedintstringfloat……糖鹽胡椒粉鹽胡椒粉糖intfloatstring25.4“Test”變量用于存儲特定數(shù)據(jù)類型的值doublefloat2.4變量usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace變量_2_{classProgram{staticvoidMain(string[]args){//聲明布爾型、字符串型、整型、短整型和浮點型變量booltest=true;stringval="Jamie";shortnum1=19;intnum2=14000;floatnum3=14.5f;//顯示變量值 Console.WriteLine("布爾值="+test);

Console.WriteLine("字符串值="+val);

Console.WriteLine("短整型值="+num1);

Console.WriteLine("整型值="+num2);

Console.WriteLine("浮點值="+num3);

Console.ReadKey();

}

}}變量中存儲的值取決于該變量的類型輸出結(jié)果:2.5表達式

使用C#中的運算符和表達式算術(shù)運算符和表達式關(guān)系運算符和表達式

邏輯運算符和表達式

位運算符賦值運算符和表達式

條件運算符和表達式

表達式中的類型轉(zhuǎn)換運算符和表達式運算符和表達式Result=number*100變量變量常量操作數(shù)表達式操作數(shù)和運算符的組合運算符一元、二元、三元運算符算術(shù)運算符和表達式

類別運算符說明表達式算術(shù)運算符+執(zhí)行加法運算(如果兩個操作數(shù)是字符串,則該運算符用作字符串連接運算符,將一個字符串添加到另一個字符串的末尾)操作數(shù)1+操作數(shù)2-執(zhí)行減法運算操作數(shù)1-操作數(shù)2*執(zhí)行乘法運算操作數(shù)1*操作數(shù)2/執(zhí)行除法運算操作數(shù)1/操作數(shù)2%獲得進行除法運算后的余數(shù)操作數(shù)1%操作數(shù)2++將操作數(shù)加1操作數(shù)++或++操作數(shù)--將操作數(shù)減1操作數(shù)--或--操作數(shù)~將一個數(shù)按位取反

~操作數(shù)算術(shù)運算符usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace算術(shù)運算符{classProgram{staticvoidMain(string[]args){//x2的系數(shù)intcoefficient1=2;//x的系數(shù)intcoefficient2=-7;//二次方程的常數(shù)值intconstant=3;//存放表達式b2-4ac的值doubleexpression=0;doublex1=0;doublex2=0;Console.WriteLine("二次方程為:{0}x2+{1}x+{2}",coefficient1,coefficient2,constant);

expression=Math.Sqrt(coefficient2*coefficient2-(4*coefficient1*constant));

x1=((-coefficient2)+expression)/(2*coefficient1);

x2=((-coefficient2)-expression)/(2*coefficient1);

Console.Write("x={0:F2}",x1);

Console.Write("或");Console.WriteLine("x={0:F2}",x2);Console.ReadKey();}}}將值賦給變量在表達式中使用的算術(shù)運算符輸出結(jié)果:關(guān)系運算符和表達式

類別運算符說明表達式關(guān)系運算符>檢查一個數(shù)是否大于另一個數(shù)

操作數(shù)1>操作數(shù)2<檢查一個數(shù)是否小于另一個數(shù)

操作數(shù)1<操作數(shù)2>=檢查一個數(shù)是否大于或等于另一個數(shù)

操作數(shù)1>=操作數(shù)2<=檢查一個數(shù)是否小于或等于另一個數(shù)

操作數(shù)1<=操作數(shù)2==檢查兩個值是否相等

操作數(shù)1==操作數(shù)2!=檢查兩個值是否不相等操作數(shù)1!=操作數(shù)2關(guān)系運算符usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace關(guān)系運算符{classProgram{staticvoidMain(string[]args){inta=25,b=3;boold=a>b;Console.WriteLine("a<b:"+d);inte=3;if(e!=0&&a/e>5)Console.WriteLine("a/e:"+a/e);intf=0;if(f!=0&&a/f>5)Console.WriteLine("a/f:"+a/f);elseConsole.WriteLine("f="+f);Console.ReadKey();}}}輸出結(jié)果:邏輯運算符和表達式

類別運算符說明表達式邏輯運算符&&對兩個表達式執(zhí)行邏輯“與”運算

操作數(shù)1&&操作數(shù)2||對兩個表達式執(zhí)行邏輯“或”運算操作數(shù)1||操作數(shù)2!對兩個表達式執(zhí)行邏輯“非”運算!操作數(shù)()將操作數(shù)強制轉(zhuǎn)換為給定的數(shù)據(jù)類型

(數(shù)據(jù)類型)操作數(shù)邏輯運算符和表達式usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace邏輯運算符{classProgram{staticvoidMain(string[]args){inta=23,b=34;doublec=1.1,d=2.2;if(a>30&&b>30)Console.WriteLine("false");elseConsole.WriteLine("true");if(a>2.0&&b>2.0)Console.WriteLine("false");elseConsole.WriteLine("true");Console.ReadKey();}}}輸出結(jié)果:位運算符類別運算符說明表達式位運算符>>用于將左操作數(shù)的每一個二進制位左移右操作數(shù)位

操作數(shù)>>2<<用于將左操作數(shù)的每一個二進制位左移右操作數(shù)位操作數(shù)<<2&用于把兩個操作數(shù)對應(yīng)的二進制位進行邏輯與操作

操作數(shù)1&操作數(shù)2|用于把兩個操作數(shù)對應(yīng)的二進制位進行邏輯或操作

操作數(shù)1|操作數(shù)2^用于把兩個操作數(shù)對應(yīng)的二進制位進行異或操作

操作數(shù)1^操作數(shù)2~對操作數(shù)取反~操作數(shù)位運算符usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace位運算符{classProgram{staticvoidMain(string[]args){intx=16;Console.WriteLine(x);inty=x>>2;Console.WriteLine(y);y=y>>2;Console.WriteLine(y);y=y>>2;Console.WriteLine(y);Console.ReadKey();}}}輸出結(jié)果:賦值運算符和表達式

類別運算符計算方法表達式賦值運算符+=運算結(jié)果=操作數(shù)1+操作數(shù)2X+=5-=運算結(jié)果=操作數(shù)1-操作數(shù)2X-=5*=運算結(jié)果=操作數(shù)1*操作數(shù)2X*=5/=運算結(jié)果=操作數(shù)1/操作數(shù)2X/=5%=運算結(jié)果=操作數(shù)1%操作數(shù)2X%=5賦值運算符類別運算符說明表達式賦值運算符=給變量賦值操作數(shù)1=操作數(shù)22.5.5賦值運算符和表達式

賦值運算符(=)變量=表達式;例如:身高=177.5;體重=78;性別=“m”;條件運算符和表達式

類別運算符說明表達式三元運算符(條件運算符)?:檢查給出的第一個表達式expression是否為真。如果為真,則計算operand1,否則計算operand2。這是唯一帶有三個操作數(shù)的運算符

表達式?操作數(shù)1:操作數(shù)2條件運算符和表達式

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;classMainClass{staticdoublesinc(doublex){doubles=(x!=0.0)?Math.Sin(x)/x:1.0;returns;}staticvoidMain(){Console.WriteLine(sinc(0.2));Console.WriteLine(sinc(0.1));Console.WriteLine(sinc(0.0));Console.ReadLine();}}輸出結(jié)果:表達式中的類型轉(zhuǎn)換

生活例子:動物園有兩扇可以調(diào)整高度的門,一般情況下,動物分兩類:相對高大的動物和相對矮小的動物。高大的動物進高的門,矮小的動物進低的門。如果這時動物們有特殊情況,矮小的動物默許進入高的門,高大的動物需要強制調(diào)整門的高度才可以進入。這就是類型轉(zhuǎn)換的原理。隱式轉(zhuǎn)換動物園有兩扇可以調(diào)整高度的門,一般情況下,動物分兩類:相對高的動物和相對低的動物。高

溫馨提示

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

評論

0/150

提交評論