




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股權(quán)轉(zhuǎn)讓回購(gòu)中的業(yè)績(jī)考核與激勵(lì)合同
- 2025年度魚塘承包與漁業(yè)市場(chǎng)拓展合同
- 二零二五年度廣告行業(yè)員工規(guī)范勞動(dòng)合同模板
- 二零二五年度醫(yī)療護(hù)理機(jī)構(gòu)護(hù)工雇傭合同
- 2025年度金融租賃合同單方違約解除賠償倍數(shù)約定書
- 二零二五年度勞動(dòng)合同補(bǔ)充協(xié)議模板下載
- 2025年度高端人才兼職聘用合作合同
- 2025年度網(wǎng)絡(luò)安全教育與安全保障協(xié)議
- 2025年度防腐木制品定制加工與施工安裝合同
- 自建房施工合同的法律風(fēng)險(xiǎn)
- 2024年支氣管哮喘臨床診療指南:課件精講
- 模具費(fèi)支付合同模板
- 餐飲部總監(jiān)述職報(bào)告
- 遼寧省沈陽市第七中學(xué)2024-2025學(xué)年九年級(jí)上學(xué)期期中英語試題
- 小學(xué)金融普及
- 2024電力建設(shè)工程綠色建造評(píng)價(jià)規(guī)范
- 安寧療護(hù)課件
- 中小學(xué)-珍愛生命拒絕毒品-課件
- 價(jià)值觀考核評(píng)定表
- 振動(dòng)篩施工技術(shù)方案
- 急救藥品課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論