MES開發(fā)與應(yīng)用 課件 1.1.5 工業(yè)管理軟件系統(tǒng)技術(shù)棧介紹-C#編程基礎(chǔ)_第1頁
MES開發(fā)與應(yīng)用 課件 1.1.5 工業(yè)管理軟件系統(tǒng)技術(shù)棧介紹-C#編程基礎(chǔ)_第2頁
MES開發(fā)與應(yīng)用 課件 1.1.5 工業(yè)管理軟件系統(tǒng)技術(shù)棧介紹-C#編程基礎(chǔ)_第3頁
MES開發(fā)與應(yīng)用 課件 1.1.5 工業(yè)管理軟件系統(tǒng)技術(shù)棧介紹-C#編程基礎(chǔ)_第4頁
MES開發(fā)與應(yīng)用 課件 1.1.5 工業(yè)管理軟件系統(tǒng)技術(shù)棧介紹-C#編程基礎(chǔ)_第5頁
已閱讀5頁,還剩96頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.1系統(tǒng)技術(shù)棧介紹——C#編程基礎(chǔ)C#中的變量C#中的運算符選擇結(jié)構(gòu)語句循環(huán)結(jié)構(gòu)語句C#基本語法方法06數(shù)組07程序調(diào)試08知識回顧.NET基礎(chǔ)知識;開發(fā)環(huán)境搭建;第一個C#程序;C#運行原理。學(xué)習(xí)目標(biāo)通過本節(jié)學(xué)習(xí):重點理解和掌握C#的變量、選擇結(jié)構(gòu)語句和循環(huán)結(jié)構(gòu)語句。掌握C#的語法格式、運算符和方法。了解數(shù)組和程序調(diào)試。01C#基本語法思考題C#有什么語法格式?C#代碼的基本格式C#代碼的基本格式每一種編程語言都有一套自己的語法規(guī)范,C#語言也不例外,同樣需要遵從一定的語法規(guī)范,如代碼的書寫、標(biāo)識符的定義、關(guān)鍵字的應(yīng)用等。定義類的格式[修飾符]class類名{程序代碼}C#代碼的基本格式注意事項在編寫C#代碼時,除了要遵從定義類的語法格式外,還需要特別注意以下幾點,具體如下:C#中的程序代碼可分為結(jié)構(gòu)定義語句和功能執(zhí)行語句,其中,結(jié)構(gòu)定義語句用于聲明一個類或方法,功能執(zhí)行語句用于實現(xiàn)具體的功能。每條功能執(zhí)行語句的最后都必須用分號(;)結(jié)束。C#語言是嚴(yán)格區(qū)分大小寫的。在編寫C#代碼時,為了便于閱讀,通常會使用一種良好的格式進行排版??偨Y(jié):“;”、“大小寫”、“格式”C#中的注釋C#中的注釋在編寫程序時,為了使代碼易于閱讀,通常會在實現(xiàn)功能的同時為代碼加一些注釋。注釋是對程序中某個功能或者某行代碼的解釋說明,在編譯程序時編譯器不會編譯這些注釋信息。intc=10;//定義一個整型變量注釋類型單行注釋:單行注釋通常用于對程序中的某一行代碼進行解釋,用符號“//”表示,“//”后面為被注釋的內(nèi)容??偨Y(jié):注釋使用”//”C#中的注釋C#中的注釋多行注釋:多行注釋就是注釋中的內(nèi)容可以為多行,它以符號“/*”開頭,以符號“*/”結(jié)尾。/*intc=1 0;intx=5;*////<summary>///在集合中添加元素///</summary>staticvoidAdd(){}多行注釋:多行注釋就是注釋中的內(nèi)容可以為多行,它以符號“/*”開頭,以符號“*/”結(jié)尾??偨Y(jié):注釋使用”/*......*/”C#中的標(biāo)識符C#中的標(biāo)識符在編程過程中,經(jīng)常需要在程序中定義一些符號來標(biāo)記一些名稱,如類名、方法名、參數(shù)名、變量名等,這些符號被稱為標(biāo)識符。標(biāo)識符可以由任意順序的大小寫字母、數(shù)字、下劃線(_)和@符號組成,但標(biāo)識符不能以數(shù)字開頭,且不能是C#中的關(guān)鍵字。//合法的標(biāo)識符usernameusername123user_name_userName//不合法的標(biāo)識符123usernameclass98.3HelloWorld以數(shù)字開頭關(guān)鍵字以數(shù)字開頭包含空格必須要嚴(yán)格遵守上面列出的規(guī)范,否則程序在編譯時會報錯C#中的標(biāo)識符標(biāo)識符規(guī)范為了增強代碼的可讀性,建議初學(xué)者在定義標(biāo)識符時還應(yīng)該遵循以下規(guī)范:類名、方法名和屬性名中的每個單詞的首字母要大寫。例如Age。這種命名方式被稱為大駝峰命名法或帕斯卡(Pascal)命名法字段名、變量名的首字母要小寫,之后的每個單詞的首字母均為大寫。例如:age、userName。這種命名方式被稱為小駝峰命名法。。常量名中的所有字母都大寫,單詞之間用下劃線連接。例如:DAY_OF_MONTH。在程序中,應(yīng)該盡量使用有意義的英文單詞來定義標(biāo)識符,使得程序便于閱讀。例如使用userName表示用戶名,password表示密碼。C#中的關(guān)鍵字C#中的關(guān)鍵字關(guān)鍵字是編程語言中事先定義好并賦予了特殊含義的單詞,也稱作保留字。和其他語言一樣,C#中保留了許多關(guān)鍵字。注意:1、所有的關(guān)鍵字都是小寫的。

2、程序中的標(biāo)識符不能以關(guān)鍵字命名。C#中的常量C#中的常量常量就是在程序中固定不變的值,是不能改變的數(shù)據(jù)。例如數(shù)字1、字符'a'、浮點數(shù)3.2等。常量類型整型常量:整型常量是整數(shù)類型的數(shù)據(jù),有二進制、八進制、十進制和十六進制4種表示形式。二進制:由數(shù)字0和1組成的數(shù)字序列。如01000000、10000001。八進制:以0開頭并且其后由0~7之間(包括0和7)的整數(shù)組成的數(shù)字序列,如:0342。十進制:數(shù)字0~9之間(包括0和9)的整數(shù)組成的數(shù)字序列。如:198。十六進制:以0x或者0X開頭并且其后由0~9、A~F(包括0和9、A和F)組成的數(shù)字序列,如0x25AF。C#中的常量C#中的常量浮點數(shù)常量:就是在數(shù)學(xué)中用到的小數(shù)。浮點數(shù)常量的類型如下所示:float單精度浮點數(shù):后面以F或f結(jié)尾。double雙精度浮點數(shù):后面以以D或d結(jié)尾。當(dāng)在使用浮點數(shù)時也可以在結(jié)尾處不加任何的后綴,此時虛擬機會默認(rèn)為double雙精度浮點數(shù)。2e3f3.6d0f3.84d5.022e+23f字符常量:用于表示一個字符,一個字符常量要用一對英文半角格式的單引號('')引起來,他可以是英文字母、數(shù)字、標(biāo)點符號以及由轉(zhuǎn)義序列來表示的特殊字符?!產(chǎn)’‘1’‘&''\r''\u0000'空白字符C#中的常量C#中的常量字符串常量:用于表示一串連續(xù)的字符,一個字符串常量要用一對英文半角格式的雙引號(“”)引起來。"HelloWorld""123""Welcome\nXXX"""布爾常量:布爾常量即布爾型的兩個值true和false,該常量用于區(qū)分一個事物的真與假。null常量:null常量只有一個值null,表示對象的引用為空。02C#中的變量變量的定義變量的定義程序運行期間,隨時可能產(chǎn)生一些臨時數(shù)據(jù),應(yīng)用程序會將這些數(shù)據(jù)保存在一些內(nèi)存單元中,每個內(nèi)存單元都用一個標(biāo)識符來標(biāo)識。這些內(nèi)存單元我們稱之為變量,定義的標(biāo)識符就是變量名,內(nèi)存單元中存儲的數(shù)據(jù)就是變量的值。intx=0,y;y=x+3;變量的數(shù)據(jù)類型變量的數(shù)據(jù)類型C#是一門強類型的編程語言,他對變量的數(shù)據(jù)類型有嚴(yán)格的限定。在定義變量時必須聲明變量的類型,在為變量賦值時必須賦予和變量同一種類型的值,否則程序會報錯。變量的數(shù)據(jù)類型值類型引用類型變量的數(shù)據(jù)類型整數(shù)類型變量整數(shù)類型變量:用來存儲整數(shù)數(shù)值,即沒有小數(shù)部分的值。整數(shù)類型分類:字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long)四種類型所占存儲空間的大小以及取值范圍:類型名占用空間取值范圍byte8位(1個字節(jié))-27~27-1short16位(2個字節(jié))-215~215-1int32位(4個字節(jié))-231~231-1long64位(8個字節(jié))-263~263-1占用的內(nèi)存大小變量的數(shù)據(jù)類型浮點數(shù)類型變量浮點數(shù)類型變量:用來存儲小數(shù)數(shù)值。浮點數(shù)類型分類:單精度浮點數(shù)(float)、雙精度浮點數(shù)(double),double型所表示的浮點數(shù)比float型更精確。兩種浮點數(shù)所占存儲空間的大小以及取值范圍:類型名占用空間取值范圍float32位(4個字節(jié))1.4E-45~3.4E+38,-1.4E-45~-3.4E+38double64位(8個字節(jié))4.9E-324~1.7E+308,-4.9E-324~-1.7E+308注意:在C#中,一個小數(shù)會被默認(rèn)為double類型的值,因此在為一個float類型的變量賦值時需要注意一點,所賦值的后面一定要加上字母“F”(或者小寫“f”);而為double類型的變量賦值時,可以在所賦值的后面加上字符“D”(或小寫“d”),也可以不加。變量的數(shù)據(jù)類型字符類型變量字符類型變量:用于存儲一個單一字符,在C#中用char表示。占用空間:C#中每個char類型的字符變量都會占用2個字節(jié)。符號:在給char類型的變量賦值時,需要用一對英文半角格式的單引號(‘’)把字符括起來,如‘a(chǎn)‘。charc='a';//為一個char類型的變量賦值字符'a'變量的數(shù)據(jù)類型布爾類型變量布爾類型變量:布爾類型變量用來存儲布爾值,在C#中用bool表示,該類型的變量只有兩個值,即true和false。boolflag=false; //聲明一個bool類型的變量,初始值為falseflag=true; //改變flag變量的值為true變量的類型轉(zhuǎn)換變量的類型轉(zhuǎn)換在程序中,當(dāng)把一種數(shù)據(jù)類型的值賦給另一種數(shù)據(jù)類型的變量時,需要進行數(shù)據(jù)類型轉(zhuǎn)換。類型轉(zhuǎn)換分類:自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換。自動類型轉(zhuǎn)換:自動類型轉(zhuǎn)換也叫隱式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過程中不需要顯式地進行聲明。自動類型轉(zhuǎn)換滿足的條件:兩種數(shù)據(jù)類型彼此兼容。目標(biāo)類型的取值范圍大于源類型的取值范圍。變量的類型轉(zhuǎn)換自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換的三種條件:整數(shù)類型之間可以實現(xiàn)轉(zhuǎn)換。整數(shù)類型轉(zhuǎn)換為float類型。其他類型轉(zhuǎn)換為double類型。

byteb=3;intx=b;//程序把byte類型的變量b轉(zhuǎn)換成了int類型,無需特殊聲明變量的類型轉(zhuǎn)換變量的類型轉(zhuǎn)換強制類型轉(zhuǎn)換:也叫顯式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型之間的轉(zhuǎn)換需要進行顯式地聲明。強制類型轉(zhuǎn)換滿足的條件:當(dāng)兩種類型彼此不兼容,或者目標(biāo)類型取值范圍小于源類型時,自動類型轉(zhuǎn)換無法進行,這時就需要進行強制類型轉(zhuǎn)換。變量的類型轉(zhuǎn)換強制類型轉(zhuǎn)換usingSystem;namespaceProgram02{classProgram{staticvoidMain(string[]args){bytea;//定義byte類型的變量aintb=298;//定義int類型的變量ba=(byte)b;Console.WriteLine("b="+b);Console.WriteLine("a="+a);Console.ReadKey();}}}將int類型的變量b強制轉(zhuǎn)換成byte類型,并復(fù)制給a變量的作用域變量的作用域變量需要在他的作用范圍內(nèi)才可以被使用,這個作用范圍稱為變量的作用域。程序中,變量一定會被定義在某一對大括號中,該大括號所包含的代碼區(qū)域便是這個變量的作用域。一對大括號就是一個作用域,里作用域可以調(diào)用外作用域資源,外作用域不可調(diào)用里作用域資源。變量的類型轉(zhuǎn)換強制類型轉(zhuǎn)換classProgram{staticvoidMain(string[]args){intx=12;//定義了變量x{inty=96;//定義了變量yConsole.WriteLine("xis"+x);//訪問變量xConsole.WriteLine("yis"+y);//訪問變量y}y=x;//訪問變量x,為變量y賦值Console.WriteLine("xis"+x);//訪問變量xConsole.ReadKey();

}}x的作用域在紅色大括號內(nèi)y的作用域y的作用域外訪問變量外y,會出現(xiàn)編譯錯誤的提示將該行刪除,再運行程序03C#的運算符C#中的運算符運算符算術(shù)運算符賦值運算符比較運算符邏輯運算符位運算符特點:處理四則運算的符號特點:將常量、變量或表達式的值賦給某一個變量特點:對兩個數(shù)值或變量進行比較,其結(jié)果是一個布爾值特點:邏輯運算符用于對布爾型的數(shù)據(jù)進行操作,其結(jié)果仍是一個布爾型特點:專門針對數(shù)字0和1進行操作的算術(shù)運算符算術(shù)運算符運算符運算范例結(jié)果+正號+33-負(fù)號b=4;-b;-4+、-、*、/加、減、乘、除省略省略%取模(求余數(shù))7%52++自增(前)a=2;b=++a;a=3;b=3;++自增(后)a=2;b=a++;a=3;b=2;--自減(前)a=2;b=--a;a=1;b=1;--自減(后)a=2;b=a--;a=1;b=2;算術(shù)運算符:用來處理四則運算的符號,這是最簡單、最常用的運算符號。算術(shù)運算符及其用法:算術(shù)運算符算術(shù)運算符在進行自增(++)和自減(--)的運算時,如果運算符(++或--)放在操作數(shù)的前面則是先進行自增或自減運算,再進行其他運算。反之,如果運算符放在操作數(shù)的后面則是先進行其他運算再進行自增或自減運算。intnum1=1;intnum2=2;intres=num1+num2++;Console.WriteLine("num2="+num2);Console.WriteLine("res="+res);運算符++寫在了變量num2的后面,屬于先運算再自增,因此運行結(jié)果為:num2=3、res=3算術(shù)運算符算術(shù)運算符在進行除法運算時,當(dāng)除數(shù)和被除數(shù)都為整數(shù)時,得到的結(jié)果也是一個整數(shù)。如果除法運算有小數(shù)參與,得到的結(jié)果會是一個小數(shù)。在進行取模(%)運算時,運算結(jié)果的正負(fù)取決于被模數(shù)(%左邊的數(shù))的符號,與模數(shù)(%右邊的數(shù))的符號無關(guān)。如:(-5)%3=-2,而5%(-3)=2。3500/1000*1000先執(zhí)行除法運算3500/1000,得到結(jié)果為3,再乘以1000,因此運行結(jié)果為3000賦值運算符賦值運算符運算符運算范例結(jié)果=賦值a=3;b=2;a=3;b=2;+=加等于a=3;b=2;a+=b;a=5;b=2;-=減等于a=3;b=2;a-=b;a=1;b=2;*=乘等于a=3;b=2;a*=b;a=6;b=2;/=除等于a=3;b=2;a/=b;a=1;b=2;%=模等于a=3;b=2;a%=b;a=1;b=2;賦值運算符:將常量、變量或表達式的值賦給某一個變量。賦值運算符及其用法:賦值運算符賦值運算符在賦值過程中,運算順序從右往左,將右邊表達式的結(jié)果賦值給左邊的變量。注意事項:在C#中可以通過一條賦值語句對多個變量進行賦值算術(shù)運算符除了“=”,其他的都是特殊的賦值運算符,以“+=”為例,x+=3就相當(dāng)于x=x+3,首先會進行加法運算x+3,再將運算結(jié)果賦值給變量x。-=、*=、/=、%=賦值運算符都可依此類推。intx,y,z;//定義int類型變量x,y,zx=y=z=5;//同時為x,y,z三個變量賦值比較運算符比較運算符運算符運算范例結(jié)果==相等于4==3false!=不等于4!=3true<小于4<3false>大于4>3true<=小于等于4<=3false>=大于等于4>=3true比較運算符:用于對兩個數(shù)值或變量進行比較,其結(jié)果是一個布爾值,即true或false。比較運算符及其用法:邏輯運算符邏輯運算符運算符運算范例結(jié)果&與true&truetrue|或false|truetrue^異或true^truefalse!非!falsetrue&&短路與true&&falsefalse||短路或true||falsetrue邏輯運算符:用于對布爾型的數(shù)據(jù)進行操作,其結(jié)果仍是一個布爾型。邏輯運算符及其用法:邏輯運算符邏輯運算符邏輯運算符運算過程中的細(xì)節(jié):

邏輯運算符可以針對結(jié)果為布爾值的表達式進行運算。運算符“&”和“&&”都表示與操作,當(dāng)且僅當(dāng)運算符兩邊的操作數(shù)都為true時,其結(jié)果才為true,否則結(jié)果為false。使用“&”進行運算時,不論左邊為true或者false,右邊的表達式都會進行運算。如果使用“&&”進行運算,當(dāng)左邊為false時,右邊的表達式不會進行運算,因此“&&”被稱作短路與。運算符“|”和“||”都表示或操作,當(dāng)運算符兩邊的操作數(shù)任何一邊的值為true時,其結(jié)果為true,當(dāng)兩邊的值都為false時,其結(jié)果才為false。同與操作類似,“||”表示短路或,當(dāng)運算符“||”的左邊為true時,右邊的表達式不會進行運算。運算符“^”表示異或操作,當(dāng)運算符兩邊的布爾值相同時(都為true或都為false),其結(jié)果為false。當(dāng)兩邊布爾值不相同時,其結(jié)果為true。000位運算符000位運算符運算符運算范例結(jié)果&按位與0&10|按位或0|11~取反~01^按位異或0^11<<左移00000010<<200001000>>右移11100010>>211111000位運算符:是針對二進制數(shù)的每一位進行運算的符號,他是專門針對數(shù)字0和1進行操作的。位運算符

及其用法:運算符的優(yōu)先級運算符的優(yōu)先級優(yōu)先級運算符1.[]()2++--~!(數(shù)據(jù)類型)3*/%4+-5<<>>>>>6<><=>=7==!=在對一些比較復(fù)雜的表達式進行運算時,要明確表達式中所有運算符參與運算的先后順序,我們把這種順序稱作運算符的優(yōu)先級。運算符的優(yōu)先級:優(yōu)先級運算符8&9++--~!10&11|12&&13?:(三元運算符)14=*=/=%=+=-=<<=>>=>>>=&=^=|=04選擇結(jié)構(gòu)語句思考題C#中的條件語句有哪些,特點是什么?If條件語句if條件語句選擇語句:需要對一些條件作出判斷,從而決定執(zhí)行哪一段代碼。選擇語句分為if條件語句和switch條件語句。if條件語句的語法格式分為3種:if語句:if語句是指如果滿足某種條件,就進行某種處理。if(條件語句){

代碼塊}當(dāng)條件語句為true時,執(zhí)行代碼塊,否則不執(zhí)行if語句的語法格式:if語句的執(zhí)行流程:條件語句if條件語句namespaceProgram06{classProgram{staticvoidMain(string[]args){//聲明變量x作為判斷依據(jù)intx=5;//如果x的值小于10則執(zhí)行if大括號中的代碼if(x<10){x++;}Console.WriteLine("x="+x);Console.ReadKey();}}}5<10,因此條件成立,執(zhí)行x++If…else條件語句if…else條件語句if…else語句:是指如果滿足某種條件,就進行某種處理,否則就進行另一種處理。

if(判斷條件){

執(zhí)行語句1 ……}else{

執(zhí)行語句2 ……}當(dāng)判斷條件為true時,執(zhí)行“執(zhí)行語句1”,否則,執(zhí)行“執(zhí)行語句2”if…else語句的語法格式:if條件語句的執(zhí)行流程:If…else條件語句namespaceProgram07{classProgram{staticvoidMain(string[]args){intnum=19;if(num%2==0){//判斷條件成立,num被2整除Console.WriteLine("num是一個偶數(shù)");}else{Console.WriteLine("num是一個奇數(shù)");}Console.ReadKey();}}}19模以2的結(jié)果為1,判斷條件不成立。因此會執(zhí)行else后面{}中的語句if…else條件語句If…elseif…else條件語句If…elseif…else條件語句if…elseif…else語句:用于對多個條件進行判斷,進行多種不同的處理。

if(判斷條件1){

執(zhí)行語句1}elseif(判斷條件2){

執(zhí)行語句2}...elseif(判斷條件n){

執(zhí)行語句n}else{

執(zhí)行語句n+1}當(dāng)判斷條件1為true時,執(zhí)行“執(zhí)行語句1”,否則,判斷“判斷條件2”是否為true,否則,判斷“判斷條件3”是否為true,依次類推if…elseif…else語句的語法格式:if條件語句的執(zhí)行流程:If…elseif…else條件語句staticvoidMain(string[]args){intgrade=75;//定義學(xué)生成績if(grade>=80){Console.WriteLine("該成績的等級為優(yōu)");}elseif(grade>=70){Console.WriteLine("該成績的等級為良");}elseif(grade>=60){Console.WriteLine("該成績的等級為中");}else{Console.WriteLine("該成績的等級為差");}Console.ReadKey();}成績大于等于80執(zhí)行成績大于等于70小于80時執(zhí)行成績大于等于60小于70時執(zhí)行小于60時執(zhí)行If…elseif…else條件語句三元運算符多學(xué)一招——三元運算符三元運算符的作用和if-else語句類似。語法格式如下:

判斷條件?表達式1:表達式2intx=0;inty=1;intmax;if(x>y){max=x;}else{max=y;}獲取最大值if..else語句:獲取最大值三元云算符:intx=0;inty=1;intmax;max=x>y?x:y;Switch條件語句switch條件語句switch條件語句也是一種很常用的選擇語句,他針對某個表達式的值作出判斷,從而決定程序執(zhí)行哪一段代碼。switch語句的具體格式:switch(表達式){

case目標(biāo)值1:

執(zhí)行語句1

break;........case目標(biāo)值n:

執(zhí)行語句n

break;default:

執(zhí)行語句n+1 break;}表達式的值與case語句中的目標(biāo)值匹配如果與表達式的值匹配,則執(zhí)行“執(zhí)行語句n”跳出switch語句,不再執(zhí)行switch中的語句如果沒找到任何匹配的值,就會執(zhí)行default后的語句Switch條件語句switch條件語句staticvoidMain(string[]args){intweek=5;switch(week){case1:…….case5:Console.WriteLine(“星期五");break;……}Console.ReadKey();}表達式的值為5表達式5匹配到的目標(biāo)值在控制臺輸出“星期五”05循環(huán)結(jié)構(gòu)語句思考題C#中的循環(huán)語句有哪些,特點是什么?While循環(huán)語句while循環(huán)語句循環(huán)語句:在C#中有一種可以重復(fù)執(zhí)行同一代碼塊的語句。循環(huán)語句分為while循環(huán)語句、do…while循環(huán)語句和for循環(huán)語句。while循環(huán)語句:反復(fù)地根據(jù)條件判斷來決定是否執(zhí)行大括號內(nèi)的執(zhí)行語句。while(循環(huán)條件){執(zhí)行語句………}條件成立,則執(zhí)行“執(zhí)行語句”,反復(fù)的判斷循環(huán)條件,直到不滿足條件時,結(jié)束while循環(huán)while的語法結(jié)構(gòu):while執(zhí)行流程:While循環(huán)語句while循環(huán)語句usingSystem;namespaceProgram11{classProgram{staticvoidMain(string[]args){intx=1;//定義變量x,初始值為1while(x<=4){//循環(huán)條件Console.WriteLine("x="+x);//條件成立,打印x的值x++;}Console.ReadKey();}}}1小于4,執(zhí)行循環(huán)體x進行自增x等于2,小于4,執(zhí)行循環(huán)體x進行自增x等于3,小于4,執(zhí)行循環(huán)體x進行自增x等于4,執(zhí)行循環(huán)體x進行自增x等于5,小于4,條件不成立,結(jié)束while循環(huán)Do…while循環(huán)語句do…while循環(huán)語句do…while循環(huán)語句和while循環(huán)語句功能類似,二者的不同之處在于,while語句需要先判斷循環(huán)條件,然后根據(jù)循環(huán)條件的結(jié)果來決定是否執(zhí)行大括號中的代碼,而do…while循環(huán)語句先要執(zhí)行一次大括號內(nèi)的代碼再判斷循環(huán)條件。do{執(zhí)行語句………}while(循環(huán)條件);do…while的語法結(jié)構(gòu):while執(zhí)行流程:循環(huán)體無論循環(huán)條件是否成立,循環(huán)體都執(zhí)行一次Do…while循環(huán)語句do…while循環(huán)語句usingSystem;namespaceProgram12{classProgram{staticvoidMain(string[]args){intx=1;//定義變量x,初始值為1do{Console.WriteLine("x="+x);//打印x的值x++;//將x的值自增}while(x<=4);//循環(huán)條件Console.ReadKey();}}}首先執(zhí)行循環(huán)體,x進行自增然后判斷循環(huán)條件是否成立,x為2,條件成立,再次執(zhí)行循環(huán)體For循環(huán)語句for循環(huán)語句for循環(huán):通常用于循環(huán)次數(shù)已知的情況。for(初始化表達式;循環(huán)條件;操作表達式){

執(zhí)行語句

………}for循環(huán)的語法結(jié)構(gòu):循環(huán)體分別用①表示初始化表達式、②表示循環(huán)條件、③表示操作表達式、④表示循環(huán)體,通過序號來具體分析for循環(huán)的執(zhí)行流程。For循環(huán)語句for循環(huán)語句for(①;②;③){ ④}第一步,執(zhí)行①第二步,執(zhí)行②,如果判斷結(jié)果為true,執(zhí)行第三步,如果判斷結(jié)果為false,執(zhí)行第五步第三步,執(zhí)行④第四步,執(zhí)行③,然后繼續(xù)執(zhí)行第二步第五步,退出循環(huán)For循環(huán)語句for循環(huán)語句usingSystem;namespaceProgram13{classProgram{staticvoidMain(string[]args){intsum=0;//定義變量sum,用于記住累加的和for(inti=1;i<=4;i++){//i的值會在1~4之間變化sum+=i;//實現(xiàn)sum與i的累加}Console.WriteLine("sum="+sum);//打印累加的和Console.ReadKey();}}}i=1,并且i小于4,條件成立,執(zhí)行循環(huán)體首先執(zhí)行i++,i=2,i小于4,執(zhí)行循環(huán)體然后再次執(zhí)行i++,i=3,i小于4,執(zhí)行循環(huán)體,按照這樣的步驟執(zhí)行代碼,直到i大于4,結(jié)束循環(huán)跳轉(zhuǎn)語句跳轉(zhuǎn)語句跳轉(zhuǎn)語句:用于實現(xiàn)循環(huán)執(zhí)行過程中程序流程的跳轉(zhuǎn)。包括break語句、goto語句和continue語句。break語句使用在switch條件語句和循環(huán)語句。switch條件語句:終止某個case并跳出switch結(jié)構(gòu)。循環(huán)語句:跳出當(dāng)前循環(huán)語句,執(zhí)行后面的代碼。當(dāng)break語句出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán)時,他只能跳出內(nèi)層循環(huán)goto語句:當(dāng)在嵌套循環(huán)中首先需要對外層循環(huán)添加標(biāo)記,然后使用goto語句跳出外層循環(huán)。continue語句:終止本次循環(huán),并執(zhí)行下一次循環(huán)。跳轉(zhuǎn)語句跳轉(zhuǎn)語句——breakclassProgram{staticvoidMain(string[]args){intx=1;//定義變量x,初始值為1while(x<=4){//循環(huán)條件Console.WriteLine("x="+x);//條件成立,打印x的值if(x==3){break;}x++;//x進行自增}Console.ReadKey();}}當(dāng)x==3時,執(zhí)行break語句,跳出while循環(huán),結(jié)束循環(huán)跳轉(zhuǎn)語句跳轉(zhuǎn)語句——gotostaticvoidMain(string[]args){inti,j;//定義兩個循環(huán)變量for(i=1;i<=9;i++){//外層循環(huán)for(j=1;j<=i;j++){//內(nèi)層循環(huán)if(i>4){//判斷i的值是否大于4gotoend;}Console.Write("*");//輸出*}Console.WriteLine();//換行}end:Console.ReadKey();}跳轉(zhuǎn)到end標(biāo)識的語句執(zhí)行該語句跳轉(zhuǎn)語句跳轉(zhuǎn)語句——continueclassProgram{staticvoidMain(string[]args){intsum=0;//定義變量sum,用于記住和for(inti=1;i<=100;i++){if(i%2==0){//如果i是一個偶數(shù),執(zhí)行if語句中的代碼continue;}sum+=i;//實現(xiàn)sum和i的累加}Console.WriteLine("sum="+sum);Console.ReadKey();}}結(jié)束本次循環(huán),即不執(zhí)行sum+=i;語句,直接進入下次循環(huán)中循環(huán)嵌套循環(huán)嵌套循環(huán)嵌套:在一個循環(huán)中嵌套一個循環(huán)。最常見的嵌套循環(huán)為for循環(huán)中嵌套for循環(huán)。for循環(huán)中嵌套for循環(huán)的語法格式:for(初始化表達式;循環(huán)條件;操作表達式){………for(初始化表達式;循環(huán)條件;操作表達式){執(zhí)行語句

………}………}外層循環(huán)內(nèi)層循環(huán)循環(huán)嵌套循環(huán)嵌套namespaceProgram17{classProgram{staticvoidMain(string[]args){inti,j;//定義兩個循環(huán)變量for(i=1;i<=9;i++){//外層循環(huán)for(j=1;j<=i;j++){//內(nèi)層循環(huán)Console.Write("*");//打印*}Console.WriteLine();//換行}Console.ReadKey();}}}外層循環(huán)控制行數(shù)內(nèi)層循環(huán)控制在一行中打印*的個數(shù)06方法什么是方法什么是方法在程序中,將可以完成一定特定功能的代碼段提出來用一個方法來表示。例如一個段求兩個數(shù)之和代碼,我們可以用以Add()方法來表示,需要求和時,只需調(diào)用Add()方法即可。方法的語法格式:[修飾符]返回值類型方法名([[參數(shù)類型參數(shù)名1],[參數(shù)類型參數(shù)名2],……]){

方法體 return返回值;}可選,修飾符可以省略,可以用于對訪問權(quán)限進行限定,如private,也可使用靜態(tài)修飾符static描述方法返回值的數(shù)據(jù)類型方法名使用變量的命名規(guī)則中的帕斯卡命名規(guī)范用于結(jié)束方法以及返回方法指定類型的值被return語句返回的值,該值會返回給調(diào)用者用于限定調(diào)用方法時傳入?yún)?shù)的數(shù)據(jù)類型用于接收調(diào)用方法時傳入的數(shù)據(jù)什么是方法什么是方法classProgram{staticvoidMain(string[]args){……intproduct=Multiply(3,5);Console.WriteLine("num1*num2="+product);Console.ReadKey();}……//定義兩個數(shù)相乘的方法publicstaticintMultiply(intnum1,intnum2){intsum=num1*num2;returnsum;}}在Main()中調(diào)用Multiply()方法方法的重載方法的重載C#中允許在一個程序中定義多個同名方法,但是參數(shù)的類型或個數(shù)必須不同,這種方式被稱作方法的重載。重載的條件:方法名相同。參數(shù)個數(shù)或參數(shù)類型不相同。需要注意的是:方法的重載與返回值類型無關(guān)。方法的重載方法的重載//下面的方法實現(xiàn)了兩個整數(shù)相加publicstaticintAdd(intx,inty){returnx+y;}//下面的方法實現(xiàn)了三個整數(shù)相加publicstaticintAdd(intx,inty,intz){returnx+y+z;}//下面的方法實現(xiàn)了兩個小數(shù)相加publicstaticdoubleAdd(doublex,doubley){returnx+y;}Add()方法中有兩個int型的參數(shù),返回值為int型Add()方法中有三個int型的參數(shù),返回值為int型Add()方法中有三個double型的參數(shù),返回值為double型方法的重載多學(xué)一招——快速判斷方法重載快速判斷方法重載:將方法名前面的修飾符、返回類型以及方法體去掉。將方法參數(shù)列表中的參數(shù)名去掉。將兩個方法做比較,首先名稱不相同一定不是重載方法,其次如果名稱相同,其他部分不相同的構(gòu)成重載,相同的則不是重載的方法。

publicstaticintFunc(intnum){…} //方法1publicstaticboolFunc(intnum1,intnum2){…} //方法2publicstaticstringFunc(strings1,strings2){…} //方法3publicstaticstringFunc(strings2,strings1){…} //方法4 Func(intnum) //方法1 Func(intnum1,intnum2) //方法2 Func(strings1,strings2) //方法3 Func(strings2,strings1) //方法4

Func(int) //方法1 Func(int,int) //方法2 Func(string,string) //方法3 Func(string,string) //方法4

方法的重載方法的重載namespaceProgram19{classProgram{staticvoidMain(string[]args){Console.WriteLine("-2的絕對值={0}",Math.Abs(-2));

Console.WriteLine("-2的3次方={0}",Math.Pow(-2,3));

Console.WriteLine("sin(0°)={0}",Math.Sin(0));

Console.WriteLine("cos(0°)={0}",Math.Cos(0));

Console.ReadKey();}}}求0°的余弦值求-2的絕對值求-2的3次方求0°的正弦值07數(shù)組數(shù)組的定義數(shù)組的定義數(shù)組中的元素會被自動賦予一個默認(rèn)值,根據(jù)元素類型的不同,默認(rèn)初始化的值也是不同的。數(shù)組中元素的默認(rèn)初始化值:數(shù)據(jù)類型默認(rèn)初始化值byte、short、int、long0float、double0.0char一個空字符,即’\u0000’boolfalse引用類型null,表示變量不引用任何對象數(shù)組的定義數(shù)組的定義為了更好地理解數(shù)組的這種定義方式,我們將定義和賦值分開來定義:int[]x; //聲明一個int[]類型的變量xx=newint[100]; //創(chuàng)建一個長度為100的數(shù)組

數(shù)組定義的內(nèi)存狀態(tài):聲明變量x的內(nèi)存狀態(tài):創(chuàng)建數(shù)組時的內(nèi)存狀態(tài):數(shù)組的定義數(shù)組的定義usingSystem;namespaceProgram22{classProgram{staticvoidMain(string[]args){int[]arr; arr=newint[3];Console.WriteLine("arr[0]="+arr[0]); //訪問數(shù)組中的第一個元素Console.WriteLine("arr[1]="+arr[1]); //訪問數(shù)組中的第二個元素Console.WriteLine("arr[2]="+arr[2]); //訪問數(shù)組中的第三個元素Console.WriteLine("數(shù)組的長度是:"+arr.Length);//打印數(shù)組長度Console.ReadKey();}}}聲明int型數(shù)組變量arr創(chuàng)建數(shù)組對象通過Length屬性獲取數(shù)組的長度數(shù)組的定義數(shù)組的定義數(shù)組是指一組數(shù)據(jù)的集合,數(shù)組中的每個數(shù)據(jù)被稱作元素。在數(shù)組中可以存放任意類型的元素,但同一個數(shù)組里存放的元素類型必須一致。數(shù)組類型:一維數(shù)組和多維數(shù)組。數(shù)組的定義:int[]數(shù)組名=newint[數(shù)組的長度];

int[]數(shù)組名=newint[100];

定義一個長度為100的int型數(shù)組數(shù)組的定義數(shù)組的定義classProgram{staticvoidMain(string[]args){int[]arr=newint[4];//定義可以存儲4個整數(shù)的數(shù)組arr[0]=1;//為第1個元素賦值1arr[1]=2;//為第2個元素賦值2//下面的代碼是打印數(shù)組中每個元素的值Console.WriteLine("arr[0]="+arr[0]);Console.WriteLine("arr[1]="+arr[1]);Console.WriteLine("arr[2]="+arr[2]);Console.WriteLine("arr[3]="+arr[3]);Console.ReadKey();}}獲取數(shù)組中的值,數(shù)組中第3、4角標(biāo)中的值沒有賦予數(shù)組的定義數(shù)組的定義動態(tài)初始化:在定義數(shù)組時只指定數(shù)組的長度,由系統(tǒng)自動為元素賦初值的方式。靜態(tài)初始化:定義數(shù)組的同時就為數(shù)組的每個元素賦值。數(shù)組的靜態(tài)初始化有兩種方式:上述的兩種方式都可以實現(xiàn)數(shù)組的靜態(tài)初始化,但是為了簡便,建議采用第二種方式。1、類型[]數(shù)組名=new類型[]{元素,元素,……};2、類型[]數(shù)組名={元素,元素,元素,……};

數(shù)組的常見操作遍歷數(shù)組數(shù)組的遍歷:依次訪問數(shù)組中的每個元素。namespaceProgram27{classProgram{staticvoidMain(string[]args){int[]arr={1,2,3,4,5};//定義數(shù)組//使用for循環(huán)遍歷數(shù)組的元素for(inti=0;i<arr.Length;i++){Console.WriteLine(arr[i]);//通過索引訪問元素}Console.ReadKey();}}}數(shù)組的常見操作數(shù)組最值在操作數(shù)組時,經(jīng)常需要獲取數(shù)組中元素的最值。staticintGetMax(int[]arr){intmax=arr[0];//下面通過一個for循環(huán)遍歷數(shù)組中的元素for(intx=1;x<arr.Length;x++){if(arr[x]>max){//比較arr[x]的值是否大于maxmax=arr[x];//條件成立,將arr[x]的值賦給max}}returnmax;}數(shù)組的常見操作冒泡排序冒泡排序:不斷地比較數(shù)組中相鄰的兩個元素,較小者向上浮,較大者往下沉,整個過程和水中氣泡上升的原理相似。。冒泡排序的過程:第一步,從第一個元素開始,將相鄰的兩個元素依次進行比較,直到最后兩個元素完成比較。如果前一個元素比后一個元素大,則交換他們的位置。整個過程完成后,數(shù)組中最后一個元素自然就是最大值,這樣也就完成了第一輪比較。第二步,除了最后一個元素,將剩余的元素繼續(xù)進行兩兩比較,過程與第一步相似,這樣就可以將數(shù)組中第二大的數(shù)放在倒數(shù)第二個位置。第三步,以此類推,持續(xù)對越來越少的元素進行兩兩比較,直到?jīng)]有任何一對元素需要比較為止。數(shù)組的常見操作冒泡排序//定義對數(shù)組排序的方法publicstaticvoidBubbleSort(int[]arr){for(inti=0;i<arr.Length-1;i++){for(intj=0;j<arr.Length-i-1;j++){if(arr[j]>arr[j+1]){//比較相鄰元素inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}Console.Write(“第”+(i+1)+“輪排序后:”);}}外層循環(huán),用來控制進行多少輪比較內(nèi)層循環(huán),控制每輪比較的次數(shù)比較相鄰元素,如果前者小于后者,就交換兩個元素的位置數(shù)組的常見操作冒泡排序冒泡排序具體執(zhí)行過程:多維數(shù)組多維數(shù)組多維數(shù)組:在數(shù)組中嵌套數(shù)組。在程序中比較常見的就是二維數(shù)組。二維數(shù)組語法格式如下:在定義數(shù)組時,直接對數(shù)組中的

溫馨提示

  • 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

提交評論