第二語法基礎(chǔ)課件_第1頁
第二語法基礎(chǔ)課件_第2頁
第二語法基礎(chǔ)課件_第3頁
第二語法基礎(chǔ)課件_第4頁
第二語法基礎(chǔ)課件_第5頁
已閱讀5頁,還剩78頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二語法基礎(chǔ)優(yōu)選第二語法基礎(chǔ)為什么選擇C#

有C++的強(qiáng)大性和靈活性有Java語言的簡潔性有Delphi和VB的易用性是一種易于使用、功能強(qiáng)大、表達(dá)力豐富的全新的程序設(shè)計語言,并且現(xiàn)在很多的大型網(wǎng)站都在使用C#進(jìn)行程序設(shè)計

變量、常量和表達(dá)式

變量

變量用于存儲程序中需要處理的數(shù)據(jù)。我們可以把變量看作是在內(nèi)存中存儲數(shù)據(jù)的盒子。

為一種數(shù)據(jù)類型定義的變量就不能存放另一種數(shù)據(jù)類型的數(shù)據(jù)

C#是大小寫敏感的,即大寫和小寫字母認(rèn)為是不同的字母。例如變量名something,Something,SOMETHING都是不同的名字。命名變量名要遵守如下的規(guī)則通常由字母、數(shù)字、下劃線構(gòu)成,第一個字符必須是字母或下劃線。中間不能有空格不能是C#關(guān)鍵字。變量名不要與C++中的庫函數(shù)名、類名和對象名相同。不要太長,一般不超過31個字符為宜。變量的命名數(shù)據(jù)類型

C#所使用的任何一個變量都必須有一個數(shù)據(jù)類型。C#的數(shù)據(jù)類型分為值類型(ValueType)和引用類型(ReferenceType)兩大類。值類型包括簡單類型(SimpleType)、結(jié)構(gòu)類型(StructType)和枚舉類型(EnumType)3種。引用類型包括數(shù)組類型(ArrayType)、代表類型(DelegateType)、接口類型。整數(shù)類型整數(shù)類型的變量的值為整數(shù)。計算機(jī)的存儲單元是有限的,所以計算機(jī)語言提供的整數(shù)類型的值總是在一定的范圍之內(nèi)。C#中有九種整數(shù)類型,這些整數(shù)類型在數(shù)學(xué)上的表示以及在計算機(jī)中的取值范圍如表21所示。整數(shù)類型整整類型特征取值類型sbyte有符號8位整數(shù)-128-127byte無符號8位整數(shù)0-255short有符號16位整數(shù)-32768-32767ushort無符號16位整數(shù)0-65535int有符號32位整數(shù)-2147483648-2147483647uint無符號32位整數(shù)0-4294967295long有符號64位整數(shù)-9223372036854775808-9223372036854775807ulong無符號64位整數(shù)0-18446744073709551615使用整型數(shù)據(jù)

形參和實參之間的關(guān)系也可以直接通過十六進(jìn)制或者Unicode賦值。Now屬性用于獲取計算機(jī)上當(dāng)前日期和本地的時間。foreachin循環(huán)C#中有九種整數(shù)類型,這些整數(shù)類型在數(shù)學(xué)上的表示以及在計算機(jī)中的取值范圍如表21所示。矩形的長x從1到10,矩形的寬y也從1到10,請輸出所有面積小于5的矩形的長和寬。在調(diào)用函數(shù)時,函數(shù)名后面括號中的各個參數(shù)就是實際參數(shù)常量就是指在程序中直接給出的數(shù)值、字符或字符串。continue語句一般用于結(jié)束本次循環(huán)是一種特殊的實數(shù)類型,它的精度是固定的,可以保存±1.Now屬性用于獲取計算機(jī)上當(dāng)前日期和本地的時間。elseif(表達(dá)式2)語句2;指在數(shù)據(jù)轉(zhuǎn)換的過程是自動進(jìn)行的,不需要程序進(jìn)行任何額外的工作。Today屬性用于獲取當(dāng)天的日期;有Delphi和VB的易用性if(表達(dá)式)語句;實型

實數(shù)類型實數(shù)在C#中采用兩種數(shù)據(jù)類型來表示單精度(float)和雙精度(double)。它們的區(qū)別在于取值范圍和精度不同。使用實型數(shù)據(jù)

decimal類型

是一種特殊的實數(shù)類型,它的精度是固定的,可以保存±1.0×1028~±7.9×1028范圍內(nèi)的值。主要用于財務(wù)計算。小數(shù)類型和浮點類型之間無隱式轉(zhuǎn)換,如進(jìn)行強(qiáng)制性置式轉(zhuǎn)換將會產(chǎn)生數(shù)據(jù)丟失,因此一般不在一個表達(dá)式中同時使用這兩種數(shù)據(jù)。char類型

所謂字符就是用單引號括起來的一個字符,例如’A’、’a’、’@’等等都是字符實際存儲的并不是一個字符,而是一個字符的Unicode編碼值。給一個變量賦值的語法為charmychar='M';也可以直接通過十六進(jìn)制或者Unicode賦值。charmychar='\x0034';//mychar='4'charmychar='\u0039';//mychar='9'轉(zhuǎn)義字符

矩形的長x從1到10,矩形的寬y也從1到10,請輸出所有面積小于5的矩形的長和寬9×1028范圍內(nèi)的值。foreachin循環(huán)-2147483648-2147483647C#中有九種整數(shù)類型,這些整數(shù)類型在數(shù)學(xué)上的表示以及在計算機(jī)中的取值范圍如表21所示。變量名不要與C++中的庫函數(shù)名、類名和對象名相同。使用一維數(shù)組和二維數(shù)組在C#中,所有的類型都可以被看成是對象,而object類型正是對象類型,是所有其它類型的基礎(chǔ)類型。不允許轉(zhuǎn)換的結(jié)果超出數(shù)據(jù)類型的表示范圍。在隱式轉(zhuǎn)換過程中,必須保證轉(zhuǎn)換是發(fā)生在轉(zhuǎn)換不會導(dǎo)致任何精度的損失時才能進(jìn)行隱式轉(zhuǎn)換,否則不允許。在函數(shù)名后面的括號中要寫一個形式參數(shù)列表,在這個列表中,所有的參數(shù)都需要指定它的數(shù)據(jù)類型。如果存在循環(huán)嵌套的情況,那么break語句只能跳出當(dāng)前循環(huán),而不能跳出外層循環(huán)實數(shù)在C#中采用兩種數(shù)據(jù)類型來表示單精度(float)和雙精度(double)。在函數(shù)名后面的括號中要寫一個形式參數(shù)列表,在這個列表中,所有的參數(shù)都需要指定它的數(shù)據(jù)類型。foreachin循環(huán)意思是把等號后邊的值賦值給等號前面的變量如果不知道一個集合中每個項目的類型是什么,完全可以定義一個object類型的臨時變量來表示這些項目。每個符合C#規(guī)則的表達(dá)式的計算都是一個確定的值。foreach(對象in集合)使用字符類型

把char類型數(shù)據(jù)當(dāng)成整數(shù)類型使用

string類型string類型就是字符串類型。它是由一系列字符組成的。所有的字符串都是寫在雙引號中的,例如“thisisabook.”和“hello”都是字符串。"A"和’A’有本質(zhì)的不同使用字符串類型數(shù)據(jù)

bool類型

取值只能是true或者false(必須用小寫的形式)bool類型對應(yīng)的.NET系統(tǒng)類型是System.Boolean。

使用bool類型

object類型

在C#中,所有的類型都可以被看成是對象,而object類型正是對象類型,是所有其它類型的基礎(chǔ)類型。object類型對應(yīng)的.NET系統(tǒng)類型是System.Object。日期數(shù)據(jù)

在C#中也可以使用DateTime類型來存儲日期

DateTime類型有兩個屬性Today屬性用于獲取當(dāng)天的日期;Now屬性用于獲取計算機(jī)上當(dāng)前日期和本地的時間。foreachin循環(huán)在分支結(jié)構(gòu)中,可以根據(jù)一個表達(dá)式的值進(jìn)行判斷,并根據(jù)判斷的結(jié)果執(zhí)行不同的程序代碼塊。命名變量名要遵守如下的規(guī)則先執(zhí)行“語句”,然后再計算“表達(dá)式”的值,如果“表達(dá)式”的值為真,那么就再執(zhí)行“語句”,否則執(zhí)行dowhile語句后面的語句引用類型包括數(shù)組類型(ArrayType)、代表類型(DelegateType)、接口類型。如果存在循環(huán)嵌套的情況,那么break語句只能跳出當(dāng)前循環(huán),而不能跳出外層循環(huán)int[,]my2DArray=newstring[3,4];不能在數(shù)值類型和bool值之間進(jìn)行轉(zhuǎn)換。分支結(jié)構(gòu)通常與順序結(jié)構(gòu)結(jié)合在一起使用。有Delphi和VB的易用性foreachin循環(huán)的語法形式如下它們的區(qū)別在于取值范圍和精度不同。順序結(jié)構(gòu)是指程序中的每一條語句都是順序執(zhí)行的,不存在分支、循環(huán)和跳轉(zhuǎn)。在C#中也可以使用DateTime類型來存儲日期-2147483648-2147483647意思是把等號后邊的值賦值給等號前面的變量與算術(shù)運算符結(jié)合的賦值運算符enumWeekDay:byte{sun,mon,tue,wed,thu,fri,sat};如果存在循環(huán)嵌套的情況,那么break語句只能跳出當(dāng)前循環(huán),而不能跳出外層循環(huán)有Delphi和VB的易用性使用一維數(shù)組和二維數(shù)組使用DateTime類型

運算符

賦值運算符算術(shù)運算符比較運算符邏輯運算符位運算符

賦值運算符

=

意思是把等號后邊的值賦值給等號前面的變量

算術(shù)運算符

使用算術(shù)運算符進(jìn)行計算

在表達(dá)式中使用++運算符

與算術(shù)運算符結(jié)合的賦值運算符

比較運算符

使用比較運算符

邏輯運算符

使用邏輯運算符

常量

常量就是指在程序中直接給出的數(shù)值、字符或字符串。幾個特別的常量null當(dāng)一個變量的值是null時,它表示這個變量的值不是有效數(shù)據(jù)。true表示真。false表示假。true和false通常用于條件語句。符號常量表達(dá)式

表達(dá)式是一個或多個運算的組合。每個符合C#規(guī)則的表達(dá)式的計算都是一個確定的值。對于常量、變量的運算和對于函數(shù)的調(diào)用都可以構(gòu)成最簡單的表達(dá)式。

數(shù)據(jù)類型之間的轉(zhuǎn)換

隱式轉(zhuǎn)換顯式轉(zhuǎn)換

隱式轉(zhuǎn)換指在數(shù)據(jù)轉(zhuǎn)換的過程是自動進(jìn)行的,不需要程序進(jìn)行任何額外的工作。

在隱式轉(zhuǎn)換過程中,必須保證轉(zhuǎn)換是發(fā)生在轉(zhuǎn)換不會導(dǎo)致任何精度的損失時才能進(jìn)行隱式轉(zhuǎn)換,否則不允許。

C#可以實現(xiàn)的隱式轉(zhuǎn)換

顯式轉(zhuǎn)換

顯式類型轉(zhuǎn)換又稱為強(qiáng)制類型轉(zhuǎn)換。它告知C#的編譯器必須要進(jìn)行這種類型轉(zhuǎn)換,如果發(fā)生數(shù)據(jù)精度的損失也在所不惜,那么C#的編譯器就會按照程序的要求進(jìn)行相應(yīng)的數(shù)據(jù)類型的轉(zhuǎn)換。

原則

不能在數(shù)值類型和bool值之間進(jìn)行轉(zhuǎn)換。不允許轉(zhuǎn)換的結(jié)果超出數(shù)據(jù)類型的表示范圍。

不允許進(jìn)行的強(qiáng)制類型轉(zhuǎn)換

ToString實現(xiàn)把數(shù)據(jù)轉(zhuǎn)換成字符串

Convert類實現(xiàn)數(shù)據(jù)轉(zhuǎn)換string類型就是字符串類型。DateTime類型有兩個屬性-2147483648-2147483647順序結(jié)構(gòu)是指程序中的每一條語句都是順序執(zhí)行的,不存在分支、循環(huán)和跳轉(zhuǎn)。在分支結(jié)構(gòu)中,可以根據(jù)一個表達(dá)式的值進(jìn)行判斷,并根據(jù)判斷的結(jié)果執(zhí)行不同的程序代碼塊。命名變量名要遵守如下的規(guī)則調(diào)用一個函數(shù)的方法是指明這個函數(shù)的函數(shù)名,如果函數(shù)的定義中包括形參的話,那么需要在后面的括號中寫出傳給這些形參的值。實參的值會被復(fù)制到形參中。命名變量名要遵守如下的規(guī)則把char類型數(shù)據(jù)當(dāng)成整數(shù)類型使用C#中有九種整數(shù)類型,這些整數(shù)類型在數(shù)學(xué)上的表示以及在計算機(jī)中的取值范圍如表21所示。與算術(shù)運算符結(jié)合的賦值運算符引用類型包括數(shù)組類型(ArrayType)、代表類型(DelegateType)、接口類型。如果存在循環(huán)嵌套的情況,那么break語句只能跳出當(dāng)前循環(huán),而不能跳出外層循環(huán)常量就是指在程序中直接給出的數(shù)值、字符或字符串。Convert類實現(xiàn)數(shù)據(jù)轉(zhuǎn)換為一種數(shù)據(jù)類型定義的變量就不能存放另一種數(shù)據(jù)類型的數(shù)據(jù)表達(dá)式是一個或多個運算的組合。通常由字母、數(shù)字、下劃線構(gòu)成,第一個字符必須是字母或下劃線。0-4294967295Convert類ToBoolean方法的使用

構(gòu)造類型

數(shù)組

數(shù)組是C#一種構(gòu)造類型,數(shù)組中的每一個元素都屬于同一個數(shù)據(jù)類型。

int[]myArray=newint[5];int[,]my2DArray=newstring[3,4];

使用一維數(shù)組和二維數(shù)組

結(jié)構(gòu)

將所有相關(guān)的數(shù)據(jù)項(這些數(shù)據(jù)項的數(shù)據(jù)類型可能完全不同,稱為域)組合在一起,形成一個新的數(shù)據(jù)結(jié)構(gòu),稱為結(jié)構(gòu)

struct結(jié)構(gòu)名{ public數(shù)據(jù)類型域名; ......};結(jié)構(gòu)中使用“.”運算符訪問一個結(jié)構(gòu)變量的各個域,稱為域運算符。

計算一個三角形的面積

枚舉

如果一個變量的值只能有幾種可能,那么就可以使用枚舉類型。使用這種方法,可以把變量的取值一一列出,變量只能在所列的范圍內(nèi)取值。enumWeekDay:byte{sun,mon,tue,wed,thu,fri,sat};使用枚舉類型數(shù)據(jù)控制結(jié)構(gòu)

順序結(jié)構(gòu)順序結(jié)構(gòu)是指程序中的每一條語句都是順序執(zhí)行的,不存在分支、循環(huán)和跳轉(zhuǎn)。分支結(jié)構(gòu)在分支結(jié)構(gòu)中,可以根據(jù)一個表達(dá)式的值進(jìn)行判斷,并根據(jù)判斷的結(jié)果執(zhí)行不同的程序代碼塊。分支結(jié)構(gòu)通常與順序結(jié)構(gòu)結(jié)合在一起使用。實現(xiàn)分支結(jié)構(gòu)的方法有兩種if語句switch語句if語句if(表達(dá)式)語句;if(表達(dá)式)語句1;else語句2;(1)格式3if(表達(dá)式1)語句1;elseif(表達(dá)式2)語句2;elseif(表達(dá)式3)語句3;……else語句n;例子1不允許轉(zhuǎn)換的結(jié)果超出數(shù)據(jù)類型的表示范圍。NET系統(tǒng)類型是System.顯式類型轉(zhuǎn)換又稱為強(qiáng)制類型轉(zhuǎn)換。在C#中,所有的類型都可以被看成是對象,而object類型正是對象類型,是所有其它類型的基礎(chǔ)類型。if(表達(dá)式)語句;小數(shù)類型和浮點類型之間無隱式轉(zhuǎn)換,如進(jìn)行強(qiáng)制性置式轉(zhuǎn)換將會產(chǎn)生數(shù)據(jù)丟失,因此一般不在一個表達(dá)式中同時使用這兩種數(shù)據(jù)。在函數(shù)名后面的括號中要寫一個形式參數(shù)列表,在這個列表中,所有的參數(shù)都需要指定它的數(shù)據(jù)類型。因此在函數(shù)沒有被調(diào)用時這些參數(shù)只是形式上存在,所以稱之為形式參數(shù)。計算一個三角形的面積在調(diào)用函數(shù)時,并不為形參重新分配存儲空間,而是占用實參的存儲空間。-2147483648-2147483647foreachin循環(huán)顯式類型轉(zhuǎn)換又稱為強(qiáng)制類型轉(zhuǎn)換。小數(shù)類型和浮點類型之間無隱式轉(zhuǎn)換,如進(jìn)行強(qiáng)制性置式轉(zhuǎn)換將會產(chǎn)生數(shù)據(jù)丟失,因此一般不在一個表達(dá)式中同時使用這兩種數(shù)據(jù)。DateTime類型有兩個屬性9×1028范圍內(nèi)的值。求半徑r從1到10的所有圓的面積小于100的面積使用輸出參數(shù)可以讓一個函數(shù)返回多個值。不要太長,一般不超過31個字符為宜。是一種特殊的實數(shù)類型,它的精度是固定的,可以保存±1.在C#中也可以使用DateTime類型來存儲日期例子2switch語句使用switch語句循環(huán)while循環(huán)dowhile循環(huán)for循環(huán)foreachin循環(huán)while循環(huán)while(表達(dá)式)語句;首先計算“表達(dá)式”的值,如果“表達(dá)式”的值為bool類型的true或者非0的數(shù),那么就執(zhí)行后面的“語句”,否則就執(zhí)行while語句后面的代碼。

使用while循環(huán)

dowhile循環(huán)do{語句;}while(表達(dá)式);先執(zhí)行“語句”,然后再計算“表達(dá)式”的值,如果“表達(dá)式”的值為真,那么就再執(zhí)行“語句”,否則執(zhí)行dowhile語句后面的語句用dowhilefor循環(huán)

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句;

首先執(zhí)行“表達(dá)式1”,然后求解“表達(dá)式2”,如果“表達(dá)式2”的值為true或者為非0,那么就執(zhí)行“語句”,此“語句”可以是一個單獨的語句(甚至是空語句),也可以是一個復(fù)合語句。然后求解“表達(dá)式3”,并返回重新求解“表達(dá)式2”,如果為真,或者為非0,再次執(zhí)行“語句”,并求解“表達(dá)式3”,……,一直執(zhí)行下去,直到“表達(dá)式2”的值是false或者為0,則結(jié)束for語句的執(zhí)行,接著執(zhí)行for語句后面的語句。

求1+2+3+......+100的值

foreachin循環(huán)foreachin循環(huán)的語法形式如下 foreach(對象in集合) { 語句; }其中“對象”表示的是一個臨時的變量,它會依次代表“集合”中的每一個項目。如果不知道一個集合中每個項目的類型是什么,完全可以定義一個object類型的臨時變量來表示這些項目。in關(guān)鍵字后面指明需要操作的集合。如果一個變量的值只能有幾種可能,那么就可以使用枚舉類型。數(shù)組是C#一種構(gòu)造類型,數(shù)組中的每一個元素都屬于同一個數(shù)據(jù)類型。把char類型數(shù)據(jù)當(dāng)成整數(shù)類型使用因此在函數(shù)調(diào)用的過程中,形參和實參實際上是同一個變量,如果形參發(fā)生了變化,那么實參也會發(fā)生同樣的變化如果一個函數(shù)有返回值,還可以把這個函數(shù)的返回值通過賦值語句保存在變量中,或者作為表達(dá)式的一部分使用。實參的值會被復(fù)制到形參中。如果不知道一個集合中每個項目的類型是什么,完全可以定義一個object類型的臨時變量來表示這些項目。命名變量名要遵守如下的規(guī)則foreachin循環(huán)顯式類型轉(zhuǎn)換又稱為強(qiáng)制類型轉(zhuǎn)換。實數(shù)在C#中采用兩種數(shù)據(jù)類型來表示單精度(float)和雙精度(double)。引用類型包括數(shù)組類型(ArrayType)、代表類型(DelegateType)、接口類型。也可以直接通過十六進(jìn)制或者Unicode賦值。我們可以把變量看作是在內(nèi)存中存儲數(shù)據(jù)的盒子。是一種特殊的實數(shù)類型,它的精度是固定的,可以保存±1.elseif(表達(dá)式2)語句2;形參和實參之間的關(guān)系如果不知道一個集合中每個項目的類型是什么,完全可以定義一個object類型的臨時變量來表示這些項目。例如變量名something,Something,SOMETHING都是不同的名字。break語句

break;用于跳出語句所在的循環(huán)如果存在循環(huán)嵌套的情況,那么break語句只能跳出當(dāng)前循環(huán),而不能跳出外層循環(huán)

求半徑r從1到10的所有圓的面積小于100的面積

求矩形的面積。矩形的長x從1到10,矩形的寬y也從1到10,請輸出所有面積小于5的矩形的長和寬。

continue語句continue;

continue語句一般用于結(jié)束本次循環(huán)求矩形的面積。矩形的長x從1到10,矩形的寬y也從1到10,請輸出所有面積小

溫馨提示

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

評論

0/150

提交評論