C語(yǔ)言基礎(chǔ)理解_第1頁(yè)
C語(yǔ)言基礎(chǔ)理解_第2頁(yè)
C語(yǔ)言基礎(chǔ)理解_第3頁(yè)
C語(yǔ)言基礎(chǔ)理解_第4頁(yè)
C語(yǔ)言基礎(chǔ)理解_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)習(xí)c#視頻有幾天了,看完其語(yǔ)言基礎(chǔ)之后,我對(duì)c#語(yǔ)言基礎(chǔ)做了一個(gè)總結(jié),來(lái)鞏固所記的知識(shí),同時(shí)希望能給你幫助。    最近一直在看c#視頻,開(kāi)始時(shí)看不懂,后來(lái)找?guī)煾涤懻摿艘幌?,自己重新看是有感覺(jué),所以又重新開(kāi)始。針對(duì)這兩天的學(xué)習(xí)對(duì)c#語(yǔ)言基礎(chǔ)做一下總結(jié)。        數(shù)據(jù)類(lèi)型       構(gòu)成:數(shù)據(jù)類(lèi)型,常量和變量,運(yùn)算符和表達(dá)式,數(shù)組、結(jié)構(gòu)和枚舉     數(shù)據(jù)類(lèi)型包括值類(lèi)型、引用類(lèi)型和裝箱以及拆箱。值類(lèi)型數(shù)據(jù)存儲(chǔ)在棧中。棧:它是用于存儲(chǔ)固定長(zhǎng)度的數(shù)據(jù),例如int

2、(每個(gè)int占用四個(gè)字節(jié)),每個(gè)程序在執(zhí)行時(shí)都有自己的堆棧,其他程序不能訪(fǎng)問(wèn)該堆棧。    引用類(lèi)型數(shù)據(jù)存儲(chǔ)在堆中。堆:是由new分配的內(nèi)存,一般速度比較慢,而且容易產(chǎn)生內(nèi)存碎片,不過(guò)用起來(lái)最方便。(雖然對(duì)于堆得解釋字?jǐn)?shù)也不多,但是始終感覺(jué)堆理解其堆來(lái)有點(diǎn)兒抽象,不怎么明白。)        值類(lèi)型    值類(lèi)型就是一個(gè)包含實(shí)際數(shù)據(jù)的量。當(dāng)我們定義一個(gè)值類(lèi)型的變量時(shí),c#會(huì)根據(jù)它聲明的類(lèi)型,以堆棧方式分配一塊兒相應(yīng)的存儲(chǔ)區(qū)域給這個(gè)變量。(這里對(duì)于堆棧的理解只能是有一點(diǎn),但是還表達(dá)不出來(lái),希望高手指點(diǎn)。) 

3、       值類(lèi)型包括:簡(jiǎn)單類(lèi)型、枚舉類(lèi)型和結(jié)構(gòu)類(lèi)型。        簡(jiǎn)單類(lèi)型        在C#中出現(xiàn)的簡(jiǎn)單類(lèi)型共享一些特性。第一,它們都是.NET系統(tǒng)類(lèi)型的別名。第二,由簡(jiǎn)單類(lèi)型組成的常量表達(dá)式僅在編譯時(shí)而不是運(yùn)行時(shí)受檢測(cè)。最后,簡(jiǎn)單類(lèi)型可以按字面被初始化。以下為C#簡(jiǎn)單類(lèi)型歸類(lèi):        簡(jiǎn)單類(lèi)型是系統(tǒng)預(yù)置的,分為整數(shù)類(lèi)型、浮點(diǎn)類(lèi)型、小數(shù)類(lèi)型(decimal類(lèi)型)、字符類(lèi)型和布爾類(lèi)型。提高班第一年有一些VB的基礎(chǔ),這里我感覺(jué)可以和

4、VB比較記憶。        通過(guò)比較我們可以發(fā)現(xiàn)。1.      VB中整型、長(zhǎng)整型、字節(jié)型和C#整型所表示的意思(范圍)是一致。2.      VB中單精度和雙精度和C#浮點(diǎn)型所表示的意思(范圍)是一致的。3.      VB的貨幣型和C#小數(shù)型也是相似的。(不過(guò),很明顯C#所表示的貨幣范圍遠(yuǎn)遠(yuǎn)超過(guò)了VB貨幣型所表示的范圍)4.      VB和C#同樣都具有字符串類(lèi)型和布爾型5.      明顯不同的

5、是vb特有日期型。有了VB的基礎(chǔ)理解C#沒(méi)有什么困難。欠缺的只是對(duì)于它們的熟練程度。          結(jié)構(gòu)類(lèi)型         把一系列相關(guān)的信息組織成為一個(gè)單一實(shí)體的過(guò)程,這就是創(chuàng)建一個(gè)結(jié)構(gòu)的過(guò)程。csharp <span style="font-size:18px;">    struct person           string m_name; /姓名

6、      int m_age;     /年齡      string m_sex;  /性別        </span>           枚舉類(lèi)型         主要用于表示一個(gè)邏輯相關(guān)聯(lián)的項(xiàng)和組合。使用關(guān)鍵字enum來(lái)定義。csharp  <span style="font-size:1

7、8px;">    enum Weekday             Sunday,Monday,Tuesday,Wednesday,Thursday,F(xiàn)riday,Saturday       </span>         引用類(lèi)型        引用類(lèi)型的變量不存儲(chǔ)他們所代表的實(shí)際數(shù)據(jù),而是存儲(chǔ)實(shí)際數(shù)據(jù)的引用。引用類(lèi)型分兩步創(chuàng)建:首先在堆棧上創(chuàng)

8、建一個(gè)引用變量,然后再堆上創(chuàng)建對(duì)象本身,在把這個(gè)內(nèi)存的句柄(內(nèi)存的首地址)賦給引用變量。        例子:csharp  <span style="font-size:18px;">     String S1,S2;         S1=”ABCD”;         S2=S1;  </span>     

9、;        解釋?zhuān)簊1和s2都是指向字符串的引用變量,s1的值是字符串“ABCD”存放在內(nèi)存地址中,這個(gè)就是對(duì)字符串的引用,兩個(gè)引用型變量之間的賦值,使得s1和s2都是對(duì)“ABCD”的引用。        引用類(lèi)型包括:class(類(lèi))、interface(接口)、數(shù)組、delegate(委托)、object和string。        拆箱和裝箱        值類(lèi)型與引用類(lèi)型之間的轉(zhuǎn)換被稱(chēng)為裝箱與拆箱。裝箱和拆箱是c#類(lèi)型系

10、統(tǒng)的核心。我們通過(guò)裝箱和拆箱操作可以輕松的實(shí)現(xiàn)值類(lèi)型和引用類(lèi)型的相互轉(zhuǎn)換。         例如:csharp  <span style="font-size:18px;">     Int Num=123;     /將123值賦給int型變量Num         Object p=Num;    /裝箱動(dòng)作        

11、0;Int q=int(p)       /拆箱動(dòng)作  </span>         常量和變量     常量就是程序運(yùn)行期間其值不會(huì)改變的量。     變量是在程序運(yùn)行過(guò)程中其值可以改變的量。    運(yùn)算符和表達(dá)式        算數(shù)運(yùn)算符:             關(guān)系運(yùn)算符: 

12、           邏輯運(yùn)算符(與(&&) 或(|)非(!):             賦值運(yùn)算符:             條件運(yùn)算符:        條件運(yùn)算符是一個(gè)三元運(yùn)算符,可以看成一個(gè)ifelse的簡(jiǎn)化形式。         格式為:條件?真:假    

13、0;   舉例:         在控制臺(tái)中輸入以下代碼:csharp  <span style="font-size:18px;">           int x = 10;             int y = 15;             int z;      &

14、#160;      Console.WriteLine (z = x > y ? x : y);  </span>      結(jié)果如圖,很明顯顯示的是y說(shuō)明是假。       流程控制    條件語(yǔ)句         If語(yǔ)句        句式:        第一種:csharp  <sp

15、an style="font-size:18px;">    If (條件)語(yǔ)句;</span>           第二種:csharp <span style="font-size:18px;">    if (條件)             語(yǔ)句塊           Else &#

16、160;              語(yǔ)句塊       </span>            此外在if中還可以嵌套if語(yǔ)句。            Switch語(yǔ)句            Switch是一個(gè)多分支結(jié)構(gòu)的語(yǔ)句。語(yǔ)法結(jié)構(gòu)為: csharp  &

17、lt;span style="font-size:18px;">        switch (表達(dá)式)                    Case常量1:                     語(yǔ)句序列1;              &

18、#160;      Break;           Case常量2:                     語(yǔ)句序列2;                      Break;              

19、        Default:                     語(yǔ)句序列n;                     Break;           </span>       循環(huán)語(yǔ)句    &

20、#160;      While語(yǔ)句csharp  <span style="font-size:18px;">    While (表達(dá)式)                循環(huán)體語(yǔ)句塊       </span>             Do  while語(yǔ)句csharp  

21、;<span style="font-size:18px;">    Do                循環(huán)體語(yǔ)句塊      while (表達(dá)式);  </span>              For 語(yǔ)句csharp  <span style="font-size:18px;"&g

22、t;    For (表達(dá)式1;表達(dá)式2;表達(dá)式3)                循環(huán)體語(yǔ)句       </span>           其中表達(dá)式1是設(shè)置循環(huán)控制變量的初值,表達(dá)式2時(shí)布爾類(lèi)型的表達(dá)式,表達(dá)式3是設(shè)置循環(huán)控制變量的增值(正負(fù)皆可)。PS:3個(gè)表達(dá)式都是可選的,默認(rèn)表達(dá)式時(shí),其后的分好“;”不能省。       

23、 Foreach語(yǔ)句         Foreach語(yǔ)句是C#新引入的,它表示收集一個(gè)集合中的各元素,并針對(duì)各元素執(zhí)行內(nèi)嵌語(yǔ)句。       語(yǔ)法格式:csharp  <span style="font-size:18px;">    Foreach (類(lèi)型          標(biāo)示符     in      集合表達(dá)式)語(yǔ)句;</

24、span>           標(biāo)示符是指foreach循環(huán)的迭代變量,它只在foreach語(yǔ)句中有效,并且是一個(gè)只讀局部變量,也就是說(shuō)在foreach語(yǔ)句中不能改寫(xiě)這個(gè)迭代變量。        集合表達(dá)式是指被遍歷的集合,例如數(shù)組。        舉例:csharp <span style="font-size:18px;">            

25、;int m = 0;              string mystring = "fsofknwlsnfoaafdagadf"              foreach (char mychar in mystring)                              &#

26、160;                if (mychar = 'a')                      m+;                           Console.WriteLine("字符串中總共有0個(gè)a&quo

27、t;, m);  </span>  結(jié)果如圖:   跳轉(zhuǎn)語(yǔ)句         跳轉(zhuǎn)語(yǔ)句用于改變程序的執(zhí)行流程,轉(zhuǎn)移制定之處。用于特定的上下文環(huán)境之中。Continue語(yǔ)句        Continue語(yǔ)句只能用于循環(huán)語(yǔ)句中,它的作用是結(jié)束本輪循環(huán),不再執(zhí)行余下的循環(huán)體語(yǔ)句,對(duì)while和do_while結(jié)構(gòu)的循環(huán),在continue執(zhí)行之后,就立刻測(cè)試循環(huán)條件,以決定循環(huán)是否繼續(xù)下去;對(duì)for結(jié)構(gòu)循環(huán),在continue執(zhí)行之后,先求表達(dá)式3(循環(huán)增量

28、部分),然后再測(cè)試循環(huán)條件。例如:顯示1-100中能被3整除的整數(shù)。csharp  <span style="font-size:18px;">           for (int n = 1; n <= 100; n+)                               if (n % 3 != 0)   

29、                   continue;                                       Console.WriteLine(n );                  

30、60;             </span>   結(jié)果: Break語(yǔ)句        Break語(yǔ)句也只能用于循環(huán)語(yǔ)句中或者switch語(yǔ)句中,如果在循環(huán)語(yǔ)句執(zhí)行到break語(yǔ)句,則會(huì)導(dǎo)致循環(huán)立刻結(jié)束,跳轉(zhuǎn)到循環(huán)語(yǔ)句的下一條語(yǔ)句。不管循環(huán)多少層,break語(yǔ)句只能從包含它的最內(nèi)層跳出一層。如果在switch語(yǔ)句中執(zhí)行到break語(yǔ)句,則立刻從switch語(yǔ)句中跳出,轉(zhuǎn)到switch語(yǔ)句的下一條語(yǔ)句??聪旅娴睦樱篟eturn語(yǔ)句 

31、       Return語(yǔ)句出現(xiàn)在一個(gè)方法內(nèi)。在方法中執(zhí)行到return語(yǔ)句時(shí),程序中的執(zhí)行流程轉(zhuǎn)到調(diào)用這個(gè)方法處。如果方法沒(méi)有返回值(返回類(lèi)型修飾位void),則使用“return”格式返回;如果方法有返回值,那么使用“return表達(dá)式”格式,其后面跟的表達(dá)式就是方法的返回值。Goto語(yǔ)句        Goto語(yǔ)句可以將程序的執(zhí)行流程從一個(gè)地方轉(zhuǎn)移到另一個(gè)地方非常靈活。但正因?yàn)樗`活,所以容易造成程序結(jié)構(gòu)混亂的局面,應(yīng)該有節(jié)制地、合理使用goto語(yǔ)句。異常處理        程

32、序?qū)Ξ惓5奶幚砟苁钩绦蚋咏?。這里就不做更多的說(shuō)明數(shù)組、結(jié)構(gòu)和枚舉        數(shù)組:數(shù)組是一種包含若干變量的數(shù)據(jù)結(jié)構(gòu),這些變量都具有相同的數(shù)據(jù)類(lèi)型并且排雷有序,因此可以用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)唯一的確定數(shù)組中的元素。        數(shù)組使用時(shí)要先聲明然后在創(chuàng)建最后初始化數(shù)組,具體語(yǔ)法形式:csharp  <span style="font-size:18px;">Type arrayname;    Arrayname =new type

33、size  val1,val2,val3,.valn    </span>   或者結(jié)合起來(lái)寫(xiě):csharp  <span style="font-size:18px;">Type arrayname = new type size  val1,val2,val3,.valn  ;</span>   Type可以是C#中任意的數(shù)據(jù)類(lèi)型。 是表明后面的變量是一個(gè)數(shù)組類(lèi)型,必須放在數(shù)組名之前。Arrayname 是數(shù)組名,遵循標(biāo)識(shí)符的命名規(guī)范。

34、Size 表明數(shù)組原色的個(gè)數(shù)。Val 則表示數(shù)組的具體值。具體示例:例子1:csharp  <span style="font-size:18px;">Int  course = new int 10 1,2,3,4,5,6,7,8,9,10 / student 是一個(gè)含有10個(gè)int類(lèi)型的數(shù)組。</span>    例子2:創(chuàng)建一個(gè)5個(gè)數(shù)的數(shù)組(100,50,60,70,99)并計(jì)算出他們的最大值和最小值。代碼如下:csharp  <span style="font-siz

35、e:18px;">           #region 數(shù)組的實(shí)例             int max;             int min;             int Num = new int5 100, 50, 60, 70, 99 ;             max = min = Num0;             for (int i = 0; i <= 4; i+) 

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論