基于項(xiàng)目開發(fā)的CNET程序設(shè)計(jì)02_第1頁(yè)
基于項(xiàng)目開發(fā)的CNET程序設(shè)計(jì)02_第2頁(yè)
基于項(xiàng)目開發(fā)的CNET程序設(shè)計(jì)02_第3頁(yè)
基于項(xiàng)目開發(fā)的CNET程序設(shè)計(jì)02_第4頁(yè)
基于項(xiàng)目開發(fā)的CNET程序設(shè)計(jì)02_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于項(xiàng)目開發(fā)的C#.NET程序設(shè)計(jì)第2章C#程序設(shè)計(jì)基礎(chǔ)知識(shí)信息工程學(xué)院曾憲權(quán)Codingchangestheworld!第一頁(yè),共六十六頁(yè)。

2.1C#語言基礎(chǔ)C#中的數(shù)據(jù)類型1C#中的常量與變量2裝箱與拆箱3C#中的運(yùn)算符4C#中的表達(dá)式56第二頁(yè),共六十六頁(yè)。456

情景描述本情景實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)V0.8的學(xué)生成績(jī)的輸入,包括學(xué)生的學(xué)號(hào),姓名,三門課程的成績(jī),如圖1所示。第三頁(yè),共六十六頁(yè)。3456情景實(shí)現(xiàn)(1)選擇“開始”/“程序”/MicrosoftVisualStudio2010/MicrosoftVisualStudio2010命令,打開VisualStudio2010。(2)選擇VisualStudio2010工具欄中的“文件”/“新建”/“項(xiàng)目”命令,打開“新建項(xiàng)目對(duì)話框”,如圖2所示。第四頁(yè),共六十六頁(yè)。3456情景實(shí)現(xiàn)(跟我做)(3)在Main()方法中輸入如下代碼:第五頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)2.1.1

C#的常量與變量計(jì)算機(jī)使用內(nèi)存來存儲(chǔ)數(shù)據(jù).我們?cè)谟?jì)算機(jī)中存儲(chǔ)數(shù)據(jù)和客人住旅館很類似.我們住旅館一般要做以下事情:1、開房間(單人間、雙人間、總統(tǒng)套間)2、入住第六頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)變量用于存儲(chǔ)特定數(shù)據(jù)類型的值語法:訪問修飾符數(shù)據(jù)類型變量名PublicPrivateProtectedintstringfloat……第七頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)

變量的命名

命名規(guī)則:1.必須以“字母”_或@符號(hào)開頭.--不要以數(shù)字開頭2.后面可以跟任意“字母”、數(shù)字、下劃線.注意:1)你起的變量名不要與c#系統(tǒng)中的關(guān)鍵字重復(fù).2)在c#中,大小寫是敏感的.3)同一個(gè)變量名不允許重復(fù)定義(先這么認(rèn)為,不嚴(yán)謹(jǐn))定義變量時(shí),變量名要有意義

第八頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)

staticvoidMain(string[]args) {

//聲明布爾型、字符串型、整型、短整型和浮點(diǎn)型變量

boolt=false;

shortn1=30;

intn2=1200;

stringstr="jeny";

floatn3=23.1f;

//顯示變量值

Console.WriteLine("布爾值

="+t);

Console.WriteLine("短整型值

="+n1);

Console.WriteLine("整型值

="+n2);

Console.WriteLine("字符串值

="+str);

Console.WriteLine("浮點(diǎn)值

="+n3); }變量中存儲(chǔ)的值取決于該變量的類型第九頁(yè),共六十六頁(yè)。相關(guān)知識(shí)語法:const數(shù)據(jù)類型常量名=常量值;常量用于在整個(gè)程序中將數(shù)據(jù)保持同一個(gè)值第十頁(yè),共六十六頁(yè)。相關(guān)知識(shí)staticvoidMain(string[]args){

//PI常量PI

constfloat_pi=3.1415169F;

//由地球引力引起的加速度常量,單位為cm/s*s

constfloat_gravity=980;

//鐘擺的長(zhǎng)度

intlength=60;

//鐘擺的周期

doubleperiod=0;

//鐘擺周期的計(jì)算公式

period=2*_pi*Math.Sqrt(length/_gravity);

Console.WriteLine("鐘擺的周期為{0}秒",period);}聲明常量在表達(dá)式中使用常量const關(guān)鍵字用于聲明常量第十一頁(yè),共六十六頁(yè)。相關(guān)知識(shí)2.1.2

C#的數(shù)據(jù)類型值類型表示實(shí)際數(shù)據(jù)只是將值存放在內(nèi)存中值類型都存儲(chǔ)在堆棧中int、char、結(jié)構(gòu)引用類型表示指向數(shù)據(jù)的指針或引用包含內(nèi)存堆中對(duì)象的地址為null,則表示未引用任何對(duì)象類、接口、數(shù)組、字符串第十二頁(yè),共六十六頁(yè)。相關(guān)知識(shí)staticvoidMain(string[]args){

//聲明一個(gè)值類型的整型數(shù)據(jù)類型

intvalue=130;

Console.WriteLine("該變量的初始值為

{0}",value);

Test(value);

//由于該數(shù)據(jù)類型屬于值類型,所以將恢復(fù)其初始值

Console.WriteLine("該變量的值此時(shí)為

{0}",value);

}staticvoidTest(intbyVal){

intt=20;

byVal=t*30;}將value的初始值傳遞給Test()方法被傳遞的value在Test()

方法內(nèi)被改變不反映已經(jīng)改變的val值,而保留原始值第十三頁(yè),共六十六頁(yè)。相關(guān)知識(shí)staticvoidMain(string[]args){ DataTypeobjTest=newDataType(); objTest.Value=130; //傳遞屬于引用類型的對(duì)象 Test(objTest); //由于該數(shù)據(jù)類型屬于引用類型,所以會(huì)考慮新處理的值 Console.WriteLine("變量的值為

{0}",objTest.Value);}staticvoidTest(DataTypedata){ intt=20; data.Val=temp*30;}將DataTypeTest

的引用傳遞給Test()

被傳遞的value在Test()中改變反映已經(jīng)改變的value值classDataType{publicintValue;}第十四頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)C#的基本數(shù)據(jù)類型第十五頁(yè),共六十六頁(yè)。相關(guān)知識(shí)結(jié)構(gòu)的定義:structPoint{publicDoublex,y,z;}結(jié)構(gòu)類型的使用:

Pointp;

p.x=100;

p.y=200;

p.z=300;struct結(jié)構(gòu)名{

public數(shù)據(jù)類型域名; ......

publicvoid方法名{ //方法的實(shí)現(xiàn)

}};結(jié)構(gòu)類型可以包含數(shù)據(jù)成員和函數(shù)成員:

結(jié)構(gòu)類型(struct)第十六頁(yè),共六十六頁(yè)。相關(guān)知識(shí)structstudent{ publicintstud_id; publicstringstud_name; publicfloatstud_marks; publicvoidshow_details() { //顯示學(xué)生詳細(xì)信息

}}數(shù)據(jù)成員方法所有與Student關(guān)聯(lián)的詳細(xì)信息都可以作為一個(gè)整體進(jìn)行存儲(chǔ)和訪問第十七頁(yè),共六十六頁(yè)。枚舉類型是一組已命名的數(shù)值常量。C#中的枚舉包含與值關(guān)聯(lián)的數(shù)字。默認(rèn)情況下,將0賦給第一個(gè)元素,然后對(duì)每個(gè)后續(xù)的枚舉元素按1遞增在初始化過程中可重寫默認(rèn)值publicenumWeekDays{ Monday, Tuesday, Wednesday=20, Thursday, Friday=5}枚舉類型(Enumerations)第十八頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)

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

隱式轉(zhuǎn)換:數(shù)據(jù)轉(zhuǎn)換的過程是自動(dòng)進(jìn)行的,不需要程序進(jìn)行任何額外的工作。必須保證轉(zhuǎn)換后不會(huì)導(dǎo)致數(shù)據(jù)精度的損失,否則不允許。

顯式轉(zhuǎn)換:又稱強(qiáng)制轉(zhuǎn)換。它告知C#的編譯器必須按照程序的要求進(jìn)行這種類型轉(zhuǎn)換,即使發(fā)生數(shù)據(jù)精度的損失也在所不惜。相關(guān)原則:不能在數(shù)值類型和bool值之間進(jìn)行轉(zhuǎn)換。不允許轉(zhuǎn)換的結(jié)果超出數(shù)據(jù)類型的表示范圍。

第十九頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)字符串和數(shù)值型的互相轉(zhuǎn)換intfloatdoublestringint.Parse()float.Parse()double.Parse()ToString()必須是數(shù)字的有效表示形式!第二十頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)使用Convert:Convert.ToXxx(objectvalue)Convert.ToInt32()Convert.ToSingle()Convert.ToString()double85.63string"85.63"int86float85.63第二十一頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)2.1.3裝箱與拆箱裝箱是將值類型轉(zhuǎn)換為引用類型拆箱是將引用類型轉(zhuǎn)換為值類型利用裝箱和拆箱功能,可通過允許值類型的任何值與Object類型的值相互轉(zhuǎn)換,將值類型與引用類型鏈接起來第二十二頁(yè),共六十六頁(yè)。相關(guān)知識(shí)intvalue=130;objecto=value;Console.WriteLine(“對(duì)象的值={0}",o);intvalue=130;objecto=value;intnumber=(int)o;Console.WriteLine("num:{0}",number);值類型引用類型拆箱裝箱值類型引用類型值類型注:被裝過箱的對(duì)象才能被拆箱第二十三頁(yè),共六十六頁(yè)。相關(guān)知識(shí)2.1.4運(yùn)算符與表達(dá)式運(yùn)算符和表達(dá)式Result=number*10變量變量常量操作數(shù)表達(dá)式操作數(shù)和運(yùn)算符的組合運(yùn)算符第二十四頁(yè),共六十六頁(yè)。相關(guān)知識(shí)第二十五頁(yè),共六十六頁(yè)。相關(guān)知識(shí)第二十六頁(yè),共六十六頁(yè)。相關(guān)知識(shí)第二十七頁(yè),共六十六頁(yè)。相關(guān)知識(shí)賦值運(yùn)算符(=)變量=表達(dá)式;例如:身高=177.5;體重=78;性別=“m”;第二十八頁(yè),共六十六頁(yè)。相關(guān)知識(shí)一元運(yùn)算符(++/--)Variable++;

相當(dāng)于

Variable=Variable+1;Variable--;

相當(dāng)于

Variable=Variable-1;第二十九頁(yè),共六十六頁(yè)。相關(guān)知識(shí)第三十頁(yè),共六十六頁(yè)。相關(guān)知識(shí)第三十一頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)前置和后置自加/自減運(yùn)算符第三十二頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)計(jì)算結(jié)果:1、

inti=0; boolresult=true; result=(++i)+i==2?true:false; result=true第三十三頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)staticvoidMain(string[]args){

//x1的系數(shù)

intco1=3;

//x2的系數(shù)

intco2=-5;

//二次方程的常數(shù)值

intconstant=8;

//存放表達(dá)式b2-4ac的值

doubleexp=0;

doublex1=0;

doublex2=0;

Console.WriteLine("二次方程為:

{0}x2+{1}x+{2}",co1,co2,constant);

exp=Math.Sqrt(co2*co2-(4*co1*constant));

x1=((-co2)+exp)/(2*co1);

x2=((-co2)-exp)/(2*co1);

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

Console.Write("或");

Console.WriteLine("x={0:F2}",x2);}將值賦給變量在表達(dá)式中使用的算術(shù)運(yùn)算符第三十四頁(yè),共六十六頁(yè)。3456總結(jié)

變量是存放特定數(shù)據(jù)類型的值的容器,而常量也存放特定數(shù)據(jù)類型的值,但常量在整個(gè)程序中都保持一致裝箱是將值類型轉(zhuǎn)換為引用類型,而拆箱則是將引用類型轉(zhuǎn)換為值類型第三十五頁(yè),共六十六頁(yè)。

Theend...thankyouforlisteningCodingchangestheworld!第三十六頁(yè),共六十六頁(yè)。

2.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)1多分支結(jié)構(gòu)2switch…case36第三十七頁(yè),共六十六頁(yè)。456

任務(wù)描述本情景實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)V0.8的登錄驗(yàn)證,如下圖所示。第三十八頁(yè),共六十六頁(yè)。3456任務(wù)實(shí)現(xiàn)選擇“開始”/“程序”/MicrosoftVisualStudio2010/MicrosoftVisualStudio2010命令,打開VisualStudio2010。選擇VisualStudio2010菜單欄中的【文件】/【新建】/【項(xiàng)目/解決方案】命令,打開“新建項(xiàng)目對(duì)話框”,如圖所示。第三十九頁(yè),共六十六頁(yè)。456任務(wù)實(shí)現(xiàn)修改Program.cs文件,添加如下代碼:第四十頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)2.2.1選擇結(jié)構(gòu)小明:明天都干什么呀?小紅:如果明天下雨,就去教室上自習(xí)小麗:如果明天下雨,就去圖書館看書,不下雨的話就去爬山

第四十一頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)第四十二頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)選擇結(jié)構(gòu)用于根據(jù)表達(dá)式的值執(zhí)行語句if結(jié)構(gòu)的基本語法:

if(條件) 語句;例如:If(weather==“陰天”){Console.WriteLine(“去教室上自習(xí)?!?;}第四十三頁(yè),共六十六頁(yè)。346相關(guān)知識(shí)If_else結(jié)構(gòu)的基本語法:if(條件){語句1;}else{語句2;}例如:if(weather==“陰天”){Console.WriteLine(“去教室上自習(xí)?!?;}else{Console.WriteLine(“去爬山。”);}第四十四頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)練習(xí):

對(duì)學(xué)員的結(jié)業(yè)考試成績(jī)?cè)u(píng)測(cè)(考慮用if好還是用if-else好)成績(jī)>=90:A90>成績(jī)>=80:B 80>成績(jī)>=70:C70>成績(jī)>=60:D成績(jī)<60:E

第四十五頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)嵌套if語句第四十六頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)2.2.2switch…case語法:switch(選擇變量){

case值1: … break;

case值2: … break; case值3: … break; ... ... default: …}

說明:各個(gè)

case標(biāo)簽不必連續(xù),也不必按特定順序排列

default標(biāo)簽可位于

switch…case結(jié)構(gòu)中的任意位置

default標(biāo)簽不是必選的,但使用

default標(biāo)簽是一個(gè)良好的編程習(xí)慣

每?jī)蓚€(gè)case標(biāo)簽之間的語句數(shù)不限

選擇變量的類型可以是整型、字符型或string。第四十七頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)練習(xí):

對(duì)學(xué)員的結(jié)業(yè)考試成績(jī)?cè)u(píng)測(cè)(改成用Switch來做))成績(jī)>=90:A90>成績(jī)>=80:B 80>成績(jī)>=70:C70>成績(jī)>=60:D成績(jī)<60:E

第四十八頁(yè),共六十六頁(yè)。3456總結(jié)

C#提供了以下類型的選擇結(jié)構(gòu):

if

if…else

switch…case第四十九頁(yè),共六十六頁(yè)。3456拓展與提高根據(jù)教學(xué)內(nèi)容,查找相關(guān)資料,完善學(xué)生成績(jī)管理系統(tǒng)程序的開發(fā)。第五十頁(yè),共六十六頁(yè)。

Theend...thankyouforlisteningCodingchangestheworld!第五十一頁(yè),共六十六頁(yè)。

2.3循環(huán)結(jié)構(gòu)While循環(huán)1dowhile循環(huán)2for循環(huán)3foreach循環(huán)4多重循環(huán)56第五十二頁(yè),共六十六頁(yè)。56

情景描述本情景完成學(xué)生成績(jī)管理系統(tǒng)V0.8的中某個(gè)班級(jí)學(xué)生成績(jī)的輸入,包括學(xué)生的學(xué)號(hào),姓名,三門課程的成績(jī),如下圖所示。第五十三頁(yè),共六十六頁(yè)。3456情景實(shí)現(xiàn)(1)選擇“開始”/“程序”/MicrosoftVisualStudio2010/MicrosoftVisualStudio2010命令,打開VisualStudio2010。(2)選擇VisualStudio2010工具欄中的“文件”/“新建”/“項(xiàng)目”命令,打開“新建項(xiàng)目對(duì)話框”,如圖所示。第五十四頁(yè),共六十六頁(yè)。3456情景實(shí)現(xiàn)(3)修改Program.cs文件,添加如下代碼:第五十五頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)點(diǎn)2.3.1循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于對(duì)一組命令執(zhí)行一定的次數(shù)或反復(fù)執(zhí)行一組命令,直到指定的條件為真。循環(huán)結(jié)構(gòu)的類型while循環(huán)do循環(huán)for循環(huán)foreach循環(huán)第五十六頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)點(diǎn)2.3.2while循環(huán)while

循環(huán)反復(fù)執(zhí)行指定的語句,直到指定的條件為真語法:while(條件){

//語句}break

語句可用于退出循環(huán)

continue語句可用于跳過當(dāng)前循環(huán)并開始下一循環(huán)第五十七頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)點(diǎn)2.3.3dowhile循環(huán)

do…while循環(huán)與while循環(huán)類似,二者區(qū)別在于do…while循環(huán)中即使條件為假時(shí)也至少執(zhí)行一次該循環(huán)體中的語句。語法:do{

//語句}while(條件)第五十八頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)點(diǎn)2.3.4for循環(huán)for循環(huán)要求只有在對(duì)特定條件進(jìn)行判斷后才允許執(zhí)行循環(huán)。這種循環(huán)用于將某個(gè)語句或語句塊重復(fù)執(zhí)行預(yù)定次數(shù)的情形。語法:for(初始值;

條件;增/減){

//語句}第五十九頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)點(diǎn)2.3.5

foreach循環(huán)foreach

循環(huán)用于遍歷整個(gè)集合或數(shù)組

語法:

foreach(數(shù)據(jù)類型元素(變量)in集合或者數(shù)組){

//語句

}第六十頁(yè),共六十六頁(yè)。3456相關(guān)知識(shí)點(diǎn)staticvoidMain(string[]args){

//存放字母的個(gè)數(shù)

intLetters=0;

//存放數(shù)字的個(gè)數(shù)

intDigits=0;

//存放標(biāo)點(diǎn)符號(hào)的個(gè)數(shù)

intPunctuations=0;

//用戶提供的輸入

stringinstr;

Console.WriteLine("請(qǐng)輸入一個(gè)字符串");

instr=Console.ReadLine();

//聲明foreach循環(huán)以遍歷輸入的字符串中的每個(gè)字符。

foreach(charchininstr) {

//檢查字母

if(char.IsLetter(ch))

Letters++;

//檢查數(shù)字

if(char.IsDigit(ch))

Digits++;

//檢查標(biāo)點(diǎn)符號(hào)

if(char.IsPunctuation(ch))

Punctuations++; }

Console.Wri

溫馨提示

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

評(píng)論

0/150

提交評(píng)論