




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第四講C#程序設計基礎知識回顧VisualStudio.NET2005是用于創(chuàng)建、編寫、運行和調試程序的集成開發(fā)環(huán)境
用戶使用VS.NET中的“起始頁”可以自定義IDE。IDE還包含許多有用的鏈接,如最近的項目、下載和聯(lián)機新聞組等VS.NET中的程序組成項目和解決方案。項目是一組相關的文件,解決方案則是一組相關的項目
VisualStudio.NET為用戶提供了用于瀏覽文件的各種窗口“動態(tài)幫助”窗口為用戶提供了與當前光標所在位置相關的文章2目標在C#中定義變量和常量使用C#中的基本數(shù)據(jù)類型理解裝箱和拆箱的概念使用C#中的運算符,選擇結構和循環(huán)結構定義和使用數(shù)組,了解結構和枚舉3C#數(shù)據(jù)類型C#中的數(shù)據(jù)類型分為兩個基本類別
值類型表示實際數(shù)據(jù)將值存放在內存中值類型都存儲在堆棧中int、char、結構引用類型表示指向存放在內存堆中的數(shù)據(jù)的指針或引用引用類型的內存單元中只存放內存堆中對象的地址,而對象本身存放在內存堆中。為null,則表示未引用任何對象類、接口、數(shù)組、字符串4值類型整數(shù)類型5值類型浮點數(shù)C#數(shù)據(jù)類型大小默認值示例bool布爾值,true或falseFalseboolIsManager=true;布爾型字符型C#數(shù)據(jù)類型大小默認值示例Char單個Unicode字符‘\0’chargender=‘M’;C#數(shù)據(jù)類型大小默認值示例float32位單精度浮點數(shù)0.0Ffloattemperature=40.6F;double64位雙精度浮點數(shù)0.0Ddoubleval=1.23D;decimal128位雙精度浮點數(shù)0.0Mdecimalval=1.23M;6值類型結構 struct枚舉 enum7引用類型內置引用類型數(shù)組類接口C#數(shù)據(jù)類型大小示例stringUnicode字符串stringcolor=“Orange”;Object基類型Objectobj=NULL;8值類型示例staticvoidMain(string[]args){ //聲明一個值類型的整型數(shù)據(jù)類型 intval=100; Console.WriteLine("該變量的初始值為{0}",val); Test(val); //由于該數(shù)據(jù)類型屬于值類型,所以將恢復其初始值
Console.WriteLine("該變量的值此時為{0}",val);}staticvoidTest(intgetVal){ inttemp=10; getVal=temp*20;}將val的初始值傳遞給Test()方法被傳遞的val在Test()方法內被改變不反映已經改變的val值,而保留原始值9引用類型示例staticvoidMain(string[]args){ DataTypeTestobjTest=newDataTypeTest(); objTest.Val=100; //傳遞屬于引用類型的對象 Test(objTest); //由于該數(shù)據(jù)類型屬于引用類型,所以會考慮新處理的值 Console.WriteLine("變量的值為{0}",objTest.Val);}staticvoidTest(DataTypeTestdataTest){ inttemp=10; dataTest.Val=temp*20;}將DataTypeTest的引用傳遞給Test()
被傳遞的val在Test()中改變不反映已經改變的val值,而保留原始值classDataTypeTest{publicintVal;}10類型轉換類型轉換:不同類型數(shù)據(jù)進行運算時,把數(shù)據(jù)從一種類型轉換為另一種類型。C#有兩種類型轉換方式:隱式轉換:無需指明轉換,編譯器自動將操作數(shù)轉換為相同的類型。C#支持的隱式轉換見P22表2.7。顯示轉換:需指定把一個數(shù)據(jù)轉換為其他類型。簡單的顯示轉換把所要轉換的目的數(shù)據(jù)類型放在圓括號內,并置于源數(shù)據(jù)之前即可。11裝箱和拆箱2-1裝箱(封箱):將值類型轉換為引用類型,可以隱式轉換;拆箱:將引用類型轉換為值類型;必須顯示轉換。利用裝箱和拆箱功能,可通過允許值類型的任何值與Object類型的值相互轉換,將值類型與引用類型鏈接起來12裝箱和拆箱2-2intval=100;objectobj=val;Console.WriteLine(“對象的值={0}",obj);intval=100;objectobj=val;intnum=(int)obj;Console.WriteLine("num:{0}",num);值類型引用類型拆箱裝箱值類型引用類型值類型被裝過箱的對象才能被拆箱13注釋C#中三種注釋方式:// 單行注釋/*……*/ 多行注釋/// C#所特有的文檔注釋(也稱XML注釋),一般用XML來表示注釋信息。它可以供一些文檔處理工具來自動生成XML文檔14變量和常量C#中標識符命名規(guī)范:以字母或下劃線開頭;由字母、數(shù)字或下劃線組成,不能含有空格、標點符號和運算符等符號;不能與C#關鍵字同名。注意:C#中的標識符可以以“@”+關鍵字命名,但@本身并不是標識符的一部分。15變量語法:訪問修飾符數(shù)據(jù)類型變量名PublicPrivateProtectedintstringfloat……變量是指在程序運行期間其值可以變化的量。變量用于存儲特定數(shù)據(jù)類型的值。16變量C#中的變量分為三種類型:實例變量是指不帶有任何關鍵字聲明的變量,如inti。實例變量在其所在的方法中有效。靜態(tài)變量使用“static”關鍵字修飾的變量,如staticinti。靜態(tài)變量一旦定義就將在程序的整個運行期間占用固定的存儲空間,一直存在,不被釋放。靜態(tài)變量不能在類的方法中定義。局部變量是指在一個獨立的代碼塊中聲明的變量,只在這個代碼塊中有效。注意:C#中沒有全局變量,不能在所有類之外定義全局變量,只能在一個類中定義公用、靜態(tài)的變量來實現(xiàn)一個全局變量。17常量所謂常量是指在程序運行過程中其值不變的量。常量分為兩種,文字常量和符號常量。符號常量又分為用戶自定義和系統(tǒng)定義兩種。文字常量直接出現(xiàn)在代碼中,也稱為字面常量或直接常量,文字常量的表示形式決定它的類型和值。例如:字符型:"Iamastudent"放在一對引號當中。數(shù)值型:3.14159、56、8.432E-15邏輯型:True、False符號常量就是用標識符來表示一個常量,如:把3.14定義為pi。 定義符號常量的語法: 訪問修飾符const數(shù)據(jù)類型常量名=常量值;18運算符和表達式類別運算符說明表達式算術運算符+執(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ù)19運算符和表達式類別運算符說明表達式三元運算符(條件運算符)?:檢查給出的第一個表達式expression是否為真。如果為真,則計算operand1,否則計算operand2。這是唯一帶有三個操作數(shù)的運算符
表達式?操作數(shù)1:操作數(shù)220運算符和表達式類別運算符說明表達式比較運算符>檢查一個數(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ù)221運算符和表達式類別運算符說明表達式成員訪問運算符.用于訪問數(shù)據(jù)結構的成員數(shù)據(jù)結構.成員賦值運算符=給變量賦值操作數(shù)1=操作數(shù)2邏輯運算符&&對兩個表達式執(zhí)行邏輯“與”運算
操作數(shù)1&&操作數(shù)2||對兩個表達式執(zhí)行邏輯“或”運算操作數(shù)1||操作數(shù)2!對兩個表達式執(zhí)行邏輯“非”運算!操作數(shù)()將操作數(shù)強制轉換為給定的數(shù)據(jù)類型
(數(shù)據(jù)類型)操作數(shù)22運算符和表達式運算符計算方法表達式求值結果(假定X=10)+=運算結果=操作數(shù)1+操作數(shù)2X+=5X=X+515-=運算結果=操作數(shù)1-操作數(shù)2X-=5X=X-55*=運算結果=操作數(shù)1*操作數(shù)2X*=5X=X*550/=運算結果=操作數(shù)1/操作數(shù)2X/=5X=X/52%=運算結果=操作數(shù)1%操作數(shù)2X%=5X=X%5023運算符和表達式C#運算符的優(yōu)先級優(yōu)先級(1最高)說明運算符結合性1括號()從左到右2自加/自減運算符++/--從右到左3乘法運算符除法運算符取模運算符*/%從左到右4加法運算符減法運算符+-從左到右5小于小于等于大于大于等于<<=>>=從左到右6等于不等于=!=從左到右從左到右7邏輯與&&從左到右8邏輯或||從左到右9賦值運算符和快捷運算符=+=*=/=%=-=從右到左24選擇結構5-1語法:
if(<條件>){<語句塊>}選擇結構用于根據(jù)表達式的值執(zhí)行語句if…else25選擇結構5-2語法:
if(<條件>){<語句塊1>}else{<語句塊2>}選擇結構用于根據(jù)表達式的值執(zhí)行語句if…else26選擇結構5-3語法:
if(<條件1>){<語句塊1>}elseif(<條件2>){<語句塊2>}…elseif(<條件n>){<語句塊n>}else{<語句塊n+1>}選擇結構用于根據(jù)表達式的值執(zhí)行語句if…else27選擇結構5-4switch…case語法:switch(表達式){case表達式列表1:
<語句塊1> break;case表達式列表2:
<語句塊2> break;...case表達式列表n:
<語句塊n> break;default:
<語句塊n+1>}功能:根據(jù)“表達式”的值,選擇第一個符合條件的語句塊執(zhí)行。說明:“表達式”可以是數(shù)值型或字符串型表達式;“表達式列表”形式有以下3種:(1)一個表達式或用逗號隔開的若干表達式(2)表達式1To表達式2(3)Is關系運算符表達式Is關鍵字告訴編譯器將表達式值與Is關鍵字之后的表達式進行比較。28switch…case的其他特性選擇結構5-5各個
case標簽不必連續(xù),也不必按特定順序排列default標簽可位于switch…case結構中的任意位置default標簽不是必選的,但使用default標簽是一個良好的編程習慣每兩個case標簽之間的語句數(shù)不限29循環(huán)結構循環(huán)結構用于對一組命令執(zhí)行一定的次數(shù)或反復執(zhí)行一組命令,直到指定的條件為真。循環(huán)結構的類型while循環(huán)do循環(huán)for循環(huán)foreach循環(huán)30while循環(huán)反復執(zhí)行指定的語句,直到指定的條件為假語法:while(條件){//語句}break語句可用于退出循環(huán)continue語句可用于跳過當前循環(huán)并開始下一循環(huán)while循環(huán)2-231do…while循環(huán)2-2do…while循環(huán)與while循環(huán)類似,二者區(qū)別在于do…while循環(huán)中即使條件為假時也至少執(zhí)行一次該循環(huán)體中的語句。語法:do{//語句}while(條件)32for循環(huán)for循環(huán)要求只有在對特定條件進行判斷后才允許執(zhí)行循環(huán)
這種循環(huán)用于將某個語句或語句塊重復執(zhí)行預定次數(shù)的情形
語法:for(初始值;條件;增/減){//語句}33foreach循環(huán)2-1foreach循環(huán)用于遍歷整個集合或數(shù)組
語法:
foreach(數(shù)據(jù)類型元素(變量)in集合或者數(shù)組){//語句}34foreach循環(huán)staticvoidMain(string[]args){ //存放字母的個數(shù) intcountLetters=0; //存放數(shù)字的個數(shù) intcountDigits=0; //存放標點符號的個數(shù) intcountPunctuations=0; //用戶提供的輸入 stringinput; Console.WriteLine("請輸入一個字符串"); input=Console.ReadLine();
//聲明foreach循環(huán)以遍歷輸入的字符串中的每個字符。 foreach(charchrininput) { //檢查字母 if(char.IsLetter(chr)) countLetters++; //檢查數(shù)字 if(char.IsDigit(chr)) countDigits++; //檢查標點符號 if(char.IsPunctuation(chr)) countPunctuations++; } Console.WriteLine(“字母的個數(shù)為:{0}",countLetters); Console.WriteLine(“數(shù)字的個數(shù)為:{0}",countDigits); Console.WriteLine(“標點符號的個數(shù)為:{0}",countPunctuations);}為所有計數(shù)器設置初始值接受輸入對輸入的每一個字符都進行循環(huán)使用了所有輸入的字符之后,循環(huán)自動終止35數(shù)組3-1數(shù)組是同一數(shù)據(jù)類型的一組值數(shù)組屬于引用類型,因此存儲在堆內存中數(shù)組元素初始化或給數(shù)組元素賦值都可以在聲明數(shù)組時或在程序的后面階段中進行創(chuàng)建數(shù)組語法:一維數(shù)組: 數(shù)據(jù)類型[]數(shù)組名稱=new數(shù)據(jù)類型[元素個數(shù)];
多維數(shù)組:數(shù)據(jù)類型[,…,]數(shù)組名稱=new數(shù)據(jù)類型[第1維長度,…,第n維長度];若在聲明數(shù)組時初始化,可以不指定各維的長度。36數(shù)組3-3staticvoidMain(string[]args){ intcount; Console.WriteLine("請輸入您要登記的學生人數(shù)"); count=int.Parse(Console.ReadLine()); //聲明一個存放姓名的字符串數(shù)組,其長度等于提供的學生人數(shù) string[]names=newstring[count]; //用一個for循環(huán)來接受姓名 for(inti=0;i<count;i++) { Console.WriteLine(“請輸入學生{0}的姓名",i+1); names[i]=Console.ReadLine(); }
Console.WriteLine("已登記的學生如下:"); //用foreach循環(huán)顯示姓名 foreach(stringdispinnames) { Console.WriteLine("{0}",disp); }}數(shù)組聲明初始化數(shù)組元素的循環(huán)顯示輸出的循環(huán)37數(shù)組3-3交錯數(shù)組
交錯數(shù)組是各個維度長度不同的數(shù)組,也稱為”數(shù)組的數(shù)組”。創(chuàng)建交錯數(shù)組語法: 數(shù)據(jù)類型[][]…數(shù)組名稱=new數(shù)據(jù)類型[第1維長度][第2維長度]…;交錯數(shù)組必須單獨初始化數(shù)組中的每一維中的元素。System.ArrayC#中的數(shù)組是從System.Array類派生來的引用對象,可以使用Array類的方法來進行各種操作。38structstructEx{publicintstructDataMember;
publicvoidstructMethod1(){ //structMethod1實現(xiàn)}}自定義數(shù)據(jù)類型可以在其內部定義方法無法實現(xiàn)繼承屬于值類型主要結構:structstudent{ publicintstud_id; publicstringstud_name; publicfloatstud_marks; publicvoidshow_details() { //顯示學生詳細信息 }}結構數(shù)據(jù)成員方法所有與Student關聯(lián)的詳細信息都可以作為一個整體
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年多媒體應用設計師綜合能力試題及答案
- 統(tǒng)計分析的原則與方法試題及答案
- 2024年記者證考試過程中常見問題及試題與答案
- 小自考市場營銷疑難解答試題及答案
- 多媒體設計師創(chuàng)意策劃能力試題及答案
- 2023二年級語文上冊 第二單元 1 場景歌教學設計 新人教版
- 2024年記者證考試更新內容介紹試題及答案
- 2024年小自考公共事業(yè)管理政策實施研究試題及答案
- 六年級上冊心理健康教案-3學海無涯樂作舟 |遼大版
- 2024年檔案透明度與開放試題及答案
- 思念混聲合唱簡譜
- 生物醫(yī)學體系的確立與發(fā)展
- 中和熱的測定公開課省公開課一等獎全國示范課微課金獎課件
- 社會心理學(西安交通大學)智慧樹知到期末考試答案2024年
- 行政管理學#-形考任務4-國開(ZJ)-參考資料
- 2024中國餐飲加盟行業(yè)白皮書-ccfax美團-202404
- 國測省測四年級勞動質量檢測試卷
- 行政村兩委干部測評表樣本
- 2024年山東省濟南市萊蕪區(qū)中考一模語文試卷
- 換電式重卡換電站:消防安全設計規(guī)范
- 人教版小學六年級下冊美術教案全冊
評論
0/150
提交評論