




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第三章C#基礎(chǔ)知識2回顧VisualStudio.NET2003是用于創(chuàng)建、編寫、運(yùn)行和調(diào)試程序的集成開發(fā)環(huán)境
用戶使用VS.NET中的“起始頁”可以自定義IDE。IDE還包含許多有用的鏈接,如最近的項(xiàng)目、下載和聯(lián)機(jī)新聞組等VS.NET中的程序組成項(xiàng)目和解決方案。項(xiàng)目是一組相關(guān)的文件,解決方案則是一組相關(guān)的項(xiàng)目
VisualStudio.NET為用戶提供了用于瀏覽文件的各種窗口“動(dòng)態(tài)幫助”窗口為用戶提供了與當(dāng)前光標(biāo)所在位置相關(guān)的文章3目標(biāo)在C#中定義變量和常量使用C#中的基本數(shù)據(jù)類型理解裝箱和拆箱的概念使用C#中的運(yùn)算符,選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)定義和使用數(shù)組,了解結(jié)構(gòu)和枚舉4C#數(shù)據(jù)類型C#
數(shù)據(jù)類型大小默認(rèn)值示例int有符號的32位整數(shù)0intrating=20;float32位浮點(diǎn)數(shù),精確到小數(shù)點(diǎn)后7位0.0Ffloattemperature=40.6F;byte無符號的8位整數(shù)0bytegpa=2;short有符號的16位整數(shù)0shortsalary=3400;long有符號的64位整數(shù)0Llongpopulation=23451900;bool布爾值,true或falseFalseboolIsManager=true;stringUnicode字符串-stringcolor=“Orange”Char單個(gè)Unicode字符‘\0’chargender=‘M’;5變量2-1語法:訪問修飾符數(shù)據(jù)類型變量名PublicPrivateProtectedintstringfloat……糖鹽胡椒粉鹽胡椒粉糖intfloatstring25.4“Test”變量用于存儲特定數(shù)據(jù)類型的值6變量2-2
staticvoidMain(string[]args) {
//聲明布爾型、字符串型、整型、短整型和浮點(diǎn)型變量
booltest=true;
shortnum1=19;
intnum2=14000;
stringval="Jamie";
floatnum3=14.5f;
//顯示變量值
Console.WriteLine("布爾值="+test);
Console.WriteLine("短整型值="+num1);
Console.WriteLine("整型值
="+num2);
Console.WriteLine("字符串值="+val);
Console.WriteLine("浮點(diǎn)值="+num3); }變量中存儲的值取決于該變量的類型7常量2-1語法:const數(shù)據(jù)類型常量名=常量值;PublicPrivateProtected常量用于在整個(gè)程序中將數(shù)據(jù)保持同一個(gè)值8常量2-2staticvoidMain(string[]args){
//PI常量PI
constfloat_pi=3.14F;
//由地球引力引起的加速度常量,單位為cm/s*s
constfloat_gravity=980;
//鐘擺的長度
intlength=40;
//鐘擺的周期
doubleperiod=0;
//鐘擺周期的計(jì)算公式
period=2*_pi*Math.Sqrt(length/_gravity);
Console.WriteLine("鐘擺的周期為{0}秒",period);}聲明常量在表達(dá)式中使用常量const關(guān)鍵字用于聲明常量9C#的基本數(shù)據(jù)類型3-1C#中的數(shù)據(jù)類型分為兩個(gè)基本類別
值類型表示實(shí)際數(shù)據(jù)只是將值存放在內(nèi)存中
值類型都存儲在堆棧中
int、char、結(jié)構(gòu)引用類型表示指向數(shù)據(jù)的指針或引用包含內(nèi)存堆中對象的地址
為null,則表示未引用任何對象類、接口、數(shù)組、字符串10C#的基本數(shù)據(jù)類型3-2staticvoidMain(string[]args){
//聲明一個(gè)值類型的整型數(shù)據(jù)類型
intval=100;
Console.WriteLine("該變量的初始值為{0}",val);
Test(val);
//由于該數(shù)據(jù)類型屬于值類型,所以將恢復(fù)其初始值
Console.WriteLine("該變量的值此時(shí)為{0}",val);
}staticvoidTest(intgetVal){
inttemp=10;
getVal=temp*20;}將val
的初始值傳遞給Test()
方法被傳遞的val
在Test()
方法內(nèi)被改變不反映已經(jīng)改變的val
值,而保留原始值11C#的基本數(shù)據(jù)類型3-3staticvoidMain(string[]args){ DataTypeTestobjTest=newDataTypeTest(); objTest.Val=100; //傳遞屬于引用類型的對象 Test(objTest); //由于該數(shù)據(jù)類型屬于引用類型,所以會考慮新處理的值 Console.WriteLine("變量的值為{0}",objTest.Val);}staticvoidTest(DataTypeTestdataTest){ inttemp=10; dataTest.Val=temp*20;}將DataTypeTest
的引用傳遞給Test()
被傳遞的val
在Test()
中改變不反映已經(jīng)改變的val
值,而保留原始值classDataTypeTest{publicintVal;}12裝箱和拆箱2-1裝箱是將值類型轉(zhuǎn)換為引用類型拆箱是將引用類型轉(zhuǎn)換為值類型利用裝箱和拆箱功能,可通過允許值類型的任何值與Object類型的值相互轉(zhuǎn)換,將值類型與引用類型鏈接起來13裝箱和拆箱2-2intval=100;objectobj=val;Console.WriteLine(“對象的值={0}",obj);intval=100;objectobj=val;intnum=(int)obj;Console.WriteLine("num:{0}",num);值類型引用類型拆箱裝箱值類型引用類型值類型被裝過箱的對象才能被拆箱14運(yùn)算符和表達(dá)式9-1運(yùn)算符和表達(dá)式Result=number*100變量變量常量操作數(shù)表達(dá)式操作數(shù)和運(yùn)算符的組合運(yùn)算符15運(yùn)算符和表達(dá)式9-2類別運(yùn)算符說明表達(dá)式算術(shù)運(yùn)算符+執(zhí)行加法運(yùn)算(如果兩個(gè)操作數(shù)是字符串,則該運(yùn)算符用作字符串連接運(yùn)算符,將一個(gè)字符串添加到另一個(gè)字符串的末尾)操作數(shù)1+操作數(shù)2-執(zhí)行減法運(yùn)算操作數(shù)1-操作數(shù)2*執(zhí)行乘法運(yùn)算操作數(shù)1*操作數(shù)2/執(zhí)行除法運(yùn)算操作數(shù)1/操作數(shù)2%獲得進(jìn)行除法運(yùn)算后的余數(shù)操作數(shù)1%操作數(shù)2++將操作數(shù)加1操作數(shù)++或++操作數(shù)--將操作數(shù)減1操作數(shù)--或--操作數(shù)~將一個(gè)數(shù)按位取反
~操作數(shù)16運(yùn)算符和表達(dá)式9-3類別運(yùn)算符說明表達(dá)式三元運(yùn)算符(條件運(yùn)算符)?:檢查給出的第一個(gè)表達(dá)式expression是否為真。如果為真,則計(jì)算operand1,否則計(jì)算operand2。這是唯一帶有三個(gè)操作數(shù)的運(yùn)算符
表達(dá)式?操作數(shù)1:操作數(shù)217問題
下面的運(yùn)算結(jié)果是什么?
1、 27%5=
2、 ~11=2-12為什么?18運(yùn)算符和表達(dá)式9-4類別運(yùn)算符說明表達(dá)式比較運(yùn)算符>檢查一個(gè)數(shù)是否大于另一個(gè)數(shù)
操作數(shù)1>操作數(shù)2<檢查一個(gè)數(shù)是否小于另一個(gè)數(shù)
操作數(shù)1<操作數(shù)2>=檢查一個(gè)數(shù)是否大于或等于另一個(gè)數(shù)
操作數(shù)1>=操作數(shù)2<=檢查一個(gè)數(shù)是否小于或等于另一個(gè)數(shù)
操作數(shù)1<=操作數(shù)2==檢查兩個(gè)值是否相等
操作數(shù)1==操作數(shù)2!=檢查兩個(gè)值是否不相等操作數(shù)1!=操作數(shù)219運(yùn)算符和表達(dá)式9-5類別運(yùn)算符說明表達(dá)式成員訪問運(yùn)算符.用于訪問數(shù)據(jù)結(jié)構(gòu)的成員數(shù)據(jù)結(jié)構(gòu).成員賦值運(yùn)算符=給變量賦值操作數(shù)1=操作數(shù)2邏輯運(yùn)算符&&對兩個(gè)表達(dá)式執(zhí)行邏輯“與”運(yùn)算
操作數(shù)1&&操作數(shù)2||對兩個(gè)表達(dá)式執(zhí)行邏輯“或”運(yùn)算操作數(shù)1||操作數(shù)2!對兩個(gè)表達(dá)式執(zhí)行邏輯“非”運(yùn)算!操作數(shù)()將操作數(shù)強(qiáng)制轉(zhuǎn)換為給定的數(shù)據(jù)類型
(數(shù)據(jù)類型)操作數(shù)20運(yùn)算符和表達(dá)式9-6賦值運(yùn)算符(=)變量=表達(dá)式;例如:身高=177.5;體重=78;性別=“m”;21運(yùn)算符和表達(dá)式9-7一元運(yùn)算符(++/--)Variable++;
相當(dāng)于
Variable=Variable+1;Variable--;
相當(dāng)于
Variable=Variable-1;22運(yùn)算符和表達(dá)式9-8運(yùn)算符計(jì)算方法表達(dá)式求值結(jié)果(假定X=10)+=運(yùn)算結(jié)果=操作數(shù)1+操作數(shù)2X+=5X=X+515-=運(yùn)算結(jié)果=操作數(shù)1-操作數(shù)2X-=5X=X-55*=運(yùn)算結(jié)果=操作數(shù)1*操作數(shù)2X*=5X=X*550/=運(yùn)算結(jié)果=操作數(shù)1/操作數(shù)2X/=5X=X/52%=運(yùn)算結(jié)果=操作數(shù)1%操作數(shù)2X%=5X=X%5023運(yùn)算符和表達(dá)式9-9C#運(yùn)算符的優(yōu)先級優(yōu)先級(1最高)說明運(yùn)算符結(jié)合性1括號()從左到右2自加/自減運(yùn)算符++/--從右到左3乘法運(yùn)算符除法運(yùn)算符取模運(yùn)算符*/%從左到右4加法運(yùn)算符減法運(yùn)算符+-從左到右5小于小于等于大于大于等于<<=>>=從左到右6等于不等于=!=從左到右從左到右7邏輯與&&從左到右8邏輯或||從左到右9賦值運(yùn)算符和快捷運(yùn)算符=+=*=/=%=-=從右到左24前置和后置自加/自減運(yùn)算符表達(dá)式類型計(jì)算方法結(jié)果(假定num1的值為5)num2=++num1;前置自加num1=num1+1;num2=num1;num2=6;num1=6;num2=num1++;后置自加num2=num1;num1=num1+1;num2=5;num1=6;num2=--num1;前置自減num1=num1-1;num2=num1;num2=4;Num1=4;num2=num1--;后置自減num2=num1;num1=num1-1;num2=5;Num1=4;25問題計(jì)算結(jié)果:1、 inti=0; boolresult=false result=(++i)+i==2?true:false; result=true26算術(shù)運(yùn)算符staticvoidMain(string[]args){
//x2的系數(shù)
intcoefficient1=2;
//x的系數(shù)
intcoefficient2=-7;
//二次方程的常數(shù)值
intconstant=3;
//存放表達(dá)式
b2-4ac的值
doubleexpression=0;
doublex1=0;
doublex2=0;
Console.WriteLine("二次方程為:{0}x2+{1}x+{2}",coefficient1,coefficient2,constant);
expression=Math.Sqrt(coefficient2*coefficient2-(4*coefficient1*constant));
x1=((-coefficient2)+expression)/(2*coefficient1);
x2=((-coefficient2)-expression)/(2*coefficient1);
Console.Write("x={0:F2}",x1);
Console.Write("或");
Console.WriteLine("x={0:F2}",x2);}將值賦給變量在表達(dá)式中使用的算術(shù)運(yùn)算符27選擇結(jié)構(gòu)3-1語法:
if(<條件>){<語句塊>}else{<語句塊>}選擇結(jié)構(gòu)用于根據(jù)表達(dá)式的值執(zhí)行語句if…else28選擇結(jié)構(gòu)3-2語法:switch(選擇變量){ case值1: … break;
case值2: … break; case值3: … break; ... ... default: …}switch…case29switch…case的其他特性選擇結(jié)構(gòu)3-3各個(gè)
case標(biāo)簽不必連續(xù),也不必按特定順序排列default
標(biāo)簽可位于switch…case結(jié)構(gòu)中的任意位置default標(biāo)簽不是必選的,但使用default標(biāo)簽是一個(gè)良好的編程習(xí)慣每兩個(gè)case標(biāo)簽之間的語句數(shù)不限30循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于對一組命令執(zhí)行一定的次數(shù)或反復(fù)執(zhí)行一組命令,直到指定的條件為真。循環(huán)結(jié)構(gòu)的類型while循環(huán)do循環(huán)for循環(huán)foreach循環(huán)31while循環(huán)2-1停車!車上有幾個(gè)座位?檢查!是!否!while(seat<=25)32while循環(huán)反復(fù)執(zhí)行指定的語句,直到指定的條件為真語法:while(條件){//語句}break
語句可用于退出循環(huán)continue
語句可用于跳過當(dāng)前循環(huán)并開始下一循環(huán)while循環(huán)2-233do…while循環(huán)2-1停車!車上有幾個(gè)座位?檢查!是!否!while(seat<=25)do34do…while循環(huán)2-2do…while循環(huán)與while循環(huán)類似,二者區(qū)別在于do…while循環(huán)中即使條件為假時(shí)也至少執(zhí)行一次該循環(huán)體中的語句。語法:do{//語句}while(條件)35for循環(huán)for循環(huán)要求只有在對特定條件進(jìn)行判斷后才允許執(zhí)行循環(huán)
這種循環(huán)用于將某個(gè)語句或語句塊重復(fù)執(zhí)行預(yù)定次數(shù)的情形
語法:for(初始值;條件;增/減){//語句}36foreach循環(huán)計(jì)算總分計(jì)算分?jǐn)?shù)對班上的每一個(gè)學(xué)生教室37foreach循環(huán)2-1foreach
循環(huán)用于遍歷整個(gè)集合或數(shù)組
語法:
foreach(數(shù)據(jù)類型元素(變量)in集合或者數(shù)組){//語句
}38foreach循環(huán)staticvoidMain(string[]args){
//存放字母的個(gè)數(shù)
intcountLetters=0;
//存放數(shù)字的個(gè)數(shù)
intcountDigits=0;
//存放標(biāo)點(diǎn)符號的個(gè)數(shù)
intcountPunctuations=0;
//用戶提供的輸入
stringinput;
Console.WriteLine("請輸入一個(gè)字符串");
input=Console.ReadLine();
//聲明
foreach循環(huán)以遍歷輸入的字符串中的每個(gè)字符。
foreach(charchrininput) {
//檢查字母
if(char.IsLetter(chr))
countLetters++;
//檢查數(shù)字
if(char.IsDigit(chr))
countDigits++;
//檢查標(biāo)點(diǎn)符號
if(char.IsPunctuation(chr))
countPunctuations++; }
Console.WriteLine(“字母的個(gè)數(shù)為:{0}",countLetters);
Console.WriteLine(“數(shù)字的個(gè)數(shù)為:{0}",countDigits);
Console.WriteLine(“標(biāo)點(diǎn)符號的個(gè)數(shù)為:{0}",countPunctuations);}為所有計(jì)數(shù)器設(shè)置初始值接受輸入對輸入的每一個(gè)字符都進(jìn)行循環(huán)使用了所有輸入的字符之后,循環(huán)自動(dòng)終止39數(shù)組3-1數(shù)組是同一數(shù)據(jù)類型的一組值數(shù)組屬于引用類型,因此存儲在堆內(nèi)存中數(shù)組元素初始化或給數(shù)組元素賦值都可以在聲明數(shù)組時(shí)或在程序的后面階段中進(jìn)行
語法:
數(shù)據(jù)類型[元素個(gè)數(shù)]數(shù)組名稱;
int[6]arrayHere;40數(shù)組3-278(0)67(1)89(2)92(3)66(4)JoeTomLeeJimBill23.518.927.321.429.6學(xué)生分?jǐn)?shù)的整數(shù)數(shù)組職員姓名的字符串?dāng)?shù)組室溫的浮點(diǎn)數(shù)組數(shù)組位置41數(shù)組3-3staticvoidMain(string[]args){
intcount;
Console.WriteLine("請輸入您要登記的學(xué)生人數(shù)");
count=int.Parse(Console.ReadLine());
//聲明一個(gè)存放姓名的字符串?dāng)?shù)組,其長度等于提供的學(xué)生人數(shù)
string[]names=newstring[count];
//用一個(gè)
for循環(huán)來接受姓名
for(inti=0;i<count;i++) {
Console.WriteLine(“請輸入學(xué)生{0}的姓名",i+1);
names[i]=Console.ReadLine(); }
Console.WriteLine("已登記的學(xué)生如下:");
//用
foreach循環(huán)顯示姓名
foreach(stringdispinnames) {
Console.WriteLine("{0}",disp); }}數(shù)組聲明初始化數(shù)組元素的循環(huán)顯示輸出的循環(huán)42structstructEx{publicintstructDataMember;
publicvoidstructMethod1(){ //structMethod1實(shí)現(xiàn)}}自定義數(shù)據(jù)類型可以在其內(nèi)部定義方法無法實(shí)現(xiàn)繼承屬于值類型主要結(jié)構(gòu):structstudent{ publicintstud_id; publicstringstud_name;
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 瀘州市敘永縣2025年四下數(shù)學(xué)期末質(zhì)量檢測模擬試題含解析
- 克拉瑪依市白堿灘區(qū)2024-2025學(xué)年數(shù)學(xué)四下期末統(tǒng)考模擬試題含解析
- 廣西南寧市2024-2025學(xué)年數(shù)學(xué)三下期末聯(lián)考試題含解析
- 金壇市2025屆數(shù)學(xué)四下期末考試模擬試題含解析
- 財(cái)務(wù)風(fēng)險(xiǎn)管理現(xiàn)代企業(yè)的核心策略
- 2025年福建省寧德市古田縣數(shù)學(xué)四年級第二學(xué)期期末達(dá)標(biāo)檢測模擬試題含解析
- 奎屯市2024-2025學(xué)年四年級數(shù)學(xué)第二學(xué)期期末復(fù)習(xí)檢測模擬試題含解析
- 課題開題報(bào)告:地方本科院校應(yīng)用型學(xué)科建設(shè)的理論與實(shí)踐研究
- 課題開題報(bào)告:促進(jìn)學(xué)生“數(shù)學(xué)活動(dòng)經(jīng)驗(yàn)”積累的實(shí)踐研究
- 課題開題報(bào)告:初中生感知教師支持與英語學(xué)習(xí)投入的關(guān)系研究
- 日內(nèi)交易策略(TBQ版)
- 家校共育之道
- 部編版九年級道德與法治上冊《第二課創(chuàng)新驅(qū)動(dòng)發(fā)展》同步測試題(附答案)
- DeepSeek入門寶典培訓(xùn)課件
- 西安2025年陜西西安音樂學(xué)院專職輔導(dǎo)員招聘2人筆試歷年參考題庫附帶答案詳解
- 《作文中間技巧》課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 2025屆八省聯(lián)考 新高考適應(yīng)性聯(lián)考英語試題(原卷版)
- 新蘇教版一年級下冊數(shù)學(xué)第1單元第3課時(shí)《8、7加幾》作業(yè)
- 2024年山東電力高等??茖W(xué)校高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2024年電力交易員(高級工)職業(yè)鑒定理論考試題庫(單選題、多選題、判斷題)
評論
0/150
提交評論