![C概述數(shù)據(jù)類型與程序流程控制_第1頁](http://file4.renrendoc.com/view/9a346ea3025049a57f8747327b09be39/9a346ea3025049a57f8747327b09be391.gif)
![C概述數(shù)據(jù)類型與程序流程控制_第2頁](http://file4.renrendoc.com/view/9a346ea3025049a57f8747327b09be39/9a346ea3025049a57f8747327b09be392.gif)
![C概述數(shù)據(jù)類型與程序流程控制_第3頁](http://file4.renrendoc.com/view/9a346ea3025049a57f8747327b09be39/9a346ea3025049a57f8747327b09be393.gif)
![C概述數(shù)據(jù)類型與程序流程控制_第4頁](http://file4.renrendoc.com/view/9a346ea3025049a57f8747327b09be39/9a346ea3025049a57f8747327b09be394.gif)
![C概述數(shù)據(jù)類型與程序流程控制_第5頁](http://file4.renrendoc.com/view/9a346ea3025049a57f8747327b09be39/9a346ea3025049a57f8747327b09be395.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第一部分C#程序設(shè)計基礎(chǔ)第1章概述1..NET和.NET框架.NET平臺微軟首席執(zhí)行官鮑爾默:“Microsoft.NET代表了一個集合、一個環(huán)境、一個可以作為平臺支持下一代Internet的可編程框架?!边@里可以理解為一種進行各種應(yīng)用程序開發(fā)的集成開發(fā)和執(zhí)行環(huán)境。1..NET和.NET框架.NET平臺.NET平臺提供了多種核心的技術(shù)和服務(wù),運用這些技術(shù)和服務(wù)能夠簡化基于Web的應(yīng)用程序開發(fā)。1..NET和.NET框架.NET平臺可開發(fā)的主要項目類型控制臺應(yīng)用程序Windows窗體應(yīng)用程序(單機或C/S程序)ASP.NET應(yīng)用程序(B/S程序)Windows控件XMLWebService手持設(shè)備應(yīng)用程序等
1..NET和.NET框架.NET框架.NET框架類庫提供了一個可以由所有Web應(yīng)用程序、Windows應(yīng)用程序以及XMLWebService應(yīng)用程序訪問的類庫公共語言運行庫(CLR)負(fù)責(zé)管理和執(zhí)行.NET框架類庫開發(fā)的所有應(yīng)用程序。在VisualStudio.NET中集成的所有編程語言編寫的應(yīng)用程序均需通過公共語言運行庫才能運行。1..NET和.NET框架Microsoft中間語言MSILVisualStudio.NET在編譯應(yīng)用程序時,會將其翻譯為運行時環(huán)境通用語言——MSIL。當(dāng)編譯完成后,CLR將管理該程序的執(zhí)行。1..NET和.NET框架即時(JIT)編譯當(dāng)應(yīng)用程序需要在某個系統(tǒng)上運行時,此功能可以將應(yīng)用程序的MSIL代碼翻譯為該系統(tǒng)的機器語言。當(dāng).NET平臺上的客戶端設(shè)備啟動某個基于.NET的應(yīng)用程序時,該程序?qū)钥蛻舳讼到y(tǒng)上的機器語言來運行。無論該程序是用什么語言開發(fā)的,它都可以完全地與其他基于.NET的應(yīng)用程序和服務(wù)進行集成和交互。
類加載器JIT即時編譯器執(zhí)行類庫
(中間碼)RuntimeEngine機器碼(目標(biāo)碼)編譯器源代碼文件EXE/DLL
(中間碼文件).NET程序執(zhí)行過程2.C#C#是一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言。C#由C和C++發(fā)展而來,是Microsoft專門為使用.NET平臺而創(chuàng)建的。2.C#C#特點簡單現(xiàn)代性面向?qū)ο箢愋桶踩孕訡#語言是是完全面向?qū)ο蟮木幊陶Z言言,是.NET平臺臺的主流開開發(fā)語言。。VS.NET2008系統(tǒng)要求支持的操作作系統(tǒng):WindowsServer2003;WindowsVista;WindowsXP最低配置::1.6GHzCPU,384MB內(nèi)存,1024x768顯示分辨率率,5400RPM硬盤建議配置::2.2GHz或更快的CPU,1024MB或更大的內(nèi)內(nèi)存,1280x1024顯示分辨率率,7200RPM或更快的硬硬盤在WindowsVista上運行行的配配置要要求::2.4GHzCPU,768MB內(nèi)存VS.NET2012系系統(tǒng)要要求支持的的操作作系統(tǒng)統(tǒng):Windows7SP1(x86和和x64)Windows8(x86和和x64)WindowsServer2008R2SP1(x64)WindowsServer2012(x64)硬件要要求::1.6GHz或或更快快的處處理器器1GBRAM((如果果在虛虛擬機機上運運行,,則為為1.5GB))10GB的的可用用硬盤盤空間間5400RPM硬硬盤盤驅(qū)動動器以1024x768或或更更高的的顯示示分辨辨率運運行的的支持持DirectX9的的視頻頻卡第2章數(shù)數(shù)據(jù)類類型與與表達達式第3章程程序流流程控控制第4章面面向?qū)ο蟪坛绦蛟O(shè)設(shè)計基基礎(chǔ)第5章常常用數(shù)數(shù)據(jù)類類型的的使用用C#程序結(jié)結(jié)構(gòu)第一部部分各各章節(jié)節(jié)的學(xué)學(xué)習(xí)以以創(chuàng)建建控制臺臺程序序為主提示::控制臺臺應(yīng)用用程序序(consolapplications)是C#可以創(chuàng)創(chuàng)建的的幾種種類型型的項項目中中最基基本的的類型型之一一。控控制臺臺應(yīng)用用程序序的文文本輸輸出是是在控控制臺臺窗口口中顯顯示的的。在在WindowsNT/2000/XP/Windows7/Windows8下下,該該控制制臺窗窗口稱稱為命命令提提示符符。創(chuàng)建控控制臺臺應(yīng)用用程序序的步步驟打開VS.2012文件新建項目在“新新建項項目””窗體體中創(chuàng)創(chuàng)建程程序,,如下下圖創(chuàng)建控控制臺臺應(yīng)用用程序序的步步驟創(chuàng)建新新程序序后,,VS.2012會會出現(xiàn)現(xiàn)如下下圖的的界面面創(chuàng)建控控制臺臺應(yīng)用用程序序的步步驟將默認(rèn)認(rèn)生成成的程程序改改為//AfirstprograminC#usingSystem;namespace_0201Hello{classProgram{staticvoidMain(string[]args){Console.WriteLine("HelloWorld!");Console.ReadLine();}}}注釋單行注注釋:://多行注注釋::/**/usingSystem;using關(guān)鍵字字可以以引用用Microsoft.NET框架類類庫中中的現(xiàn)現(xiàn)有資資源。。通常常,在在程序序文件件的開開頭使使用using提示::C#的優(yōu)勢勢之一一就是是使程程序員員能使使用由由.NET架構(gòu)提提供的的豐富富的命命名空空間((namespace)。這這些命命名空空間包包含了了程序序員預(yù)預(yù)先存存儲的的代碼碼,命命名空空間將將這些些代碼碼按相相關(guān)類類別分分組。。Console就是命命名空空間System中的代代碼。。System命名空空間System命名空空間提提供了了對構(gòu)構(gòu)建應(yīng)應(yīng)用程程序所所需的的所有有系統(tǒng)統(tǒng)功能能的訪訪問類(class)在C#或其他他任何何面向向?qū)ο笙笳Z言言的編編程過過程中中,都都需要要編寫寫類,,并用用類來來創(chuàng)建建對象象。Main方法((函數(shù)數(shù))Main方法用用來描描述類類的行行為,,它指指示編編譯器器從該該處開開始執(zhí)執(zhí)行應(yīng)應(yīng)用程程序。。每個個C#應(yīng)用程程序都都必須須在組組成程程序的的某一一個類類中包包含Main方法。。語句語句就就是C#應(yīng)用程程序中中執(zhí)行行操作作的指指令。。語句句之間間用分分號分分隔,,編譯譯器通通過分分號來來區(qū)分分它們們。代碼格式式代碼格式式也是編編程的組組成要素素,它有有助于良良好而清清晰的組組織代碼碼。推薦薦使用約約定的格格式以改改進代碼碼的結(jié)構(gòu)構(gòu),并能能夠提高高代碼的的可讀性性。縮進區(qū)分大小小寫空白區(qū)注釋控制臺應(yīng)應(yīng)用程序序的輸入入輸出Console類位于System命名空間間下,該該類可以以將數(shù)值值、字符符數(shù)組以以及對象象集自動動轉(zhuǎn)換為為格式化化或未格格式化的的字符串串,然后后將該字字符串輸輸出??刂婆_應(yīng)應(yīng)用程序序的輸入入輸出WriteLine方法將各各種值類類型數(shù)據(jù)據(jù)或?qū)ο笙筠D(zhuǎn)換為為字符串串輸出。。booleanflag=false;intage=18;stringstr=““abc”;Console.Write(flag);Console.WriteLine(18);Console.WriteLine(str);控制臺應(yīng)應(yīng)用程序序的輸入入輸出ReadLine方法用于于從標(biāo)準(zhǔn)準(zhǔn)輸入流流讀取一一行字符符。該方方法在用用戶按下下回車鍵鍵之前不不會返回回,直到到用戶按按下回車車鍵為止止。stringstr=““abc”;str=Console.ReadLine();intprice;price=Convert.ToDecimal(Console.ReadLine());第2章數(shù)據(jù)據(jù)類型與與表達式式C#基本數(shù)據(jù)據(jù)類型變量和常常量類型轉(zhuǎn)換換運算符和和表達式式1.C#基本數(shù)據(jù)據(jù)類型C#中的的數(shù)據(jù)類類型值類型簡單類型型:整數(shù)類型型;浮點點數(shù)類型型;字符符類型::decimal類型型;布爾爾類型枚舉類型型結(jié)構(gòu)類型型引用類型型類類型接口類型型委托類型型數(shù)組類型型指針類型型(僅用用于安全全代碼中中)數(shù)值類型型byte————8位無符號號整數(shù);sbyte———8位有符號號整數(shù);short————16位有符號號整數(shù);ushort———16位無符號號整數(shù);int————32位有符號號整數(shù);uint———32位無符號號整數(shù);long———64位有符號號整數(shù);ulong————64位無符號號整數(shù);數(shù)值類型型float————32位單精度度浮點數(shù)數(shù);double———64位雙精度度浮點數(shù)數(shù);decimal——128位高精度度十進制制數(shù);字符類型型char————單字符((2字節(jié))string————字符串布爾類型型boolean———布爾類型型(true和false)布爾類型型適用于于邏輯運運算,一一般用于于流程控控制。布布爾類型型數(shù)據(jù)不可以用0或非0替代true和false。數(shù)值類型型常使用的的數(shù)據(jù)類類型包括括string,int和decimal如果數(shù)據(jù)據(jù)用于計計算,則則必須是是數(shù)值((通常是是int或decimal)如果數(shù)據(jù)據(jù)不用于于計算,,則應(yīng)選選擇string類型float,double通常用于于科學(xué)應(yīng)應(yīng)用程序序decimal通常用于于商業(yè)應(yīng)應(yīng)用程序序中,作作為任何何小數(shù)的的數(shù)據(jù)類類型數(shù)據(jù)類型型的選擇擇數(shù)值類型型數(shù)據(jù)類型型的選擇擇示例stringdecimaldecimalstringint2.變變量和和常量——變量變量聲明明;示例:stringnameString=“software”;示例:intcounterInt;變量賦值值變量的命命名規(guī)則則變量名的的第一個個字符可可以是字字母或下下劃線其后字符符可以是是字母、、數(shù)字或或下劃線線不可以使使用關(guān)鍵鍵字區(qū)分大小小寫變量的命命名約定定變量名((或常量量名)必必須有意意義變量名含含有變量量的數(shù)據(jù)據(jù)類型((可選,,在VS中,將鼠鼠標(biāo)指針針停留在在變量上上一會兒兒,即可可出現(xiàn)數(shù)數(shù)據(jù)類型型的提示示)Camelcase:以小寫字字母開始始,然后后使每個個后繼單單詞的首首字母大大寫,如如phoneNumberPascalcase:每個單詞詞的首字字母均大大寫,如如PhoneNumber2.變變量和和常量——變量2.變變量和和常量——常量(1)直接常量量:整型常量量(八進制制、十十進制制、十十六進進制);實型常常量;;字符常常量(轉(zhuǎn)義符符號);字符串串常量量。2.變變量和和常量量——常量(1)直接常常量:C#語言的的整型型常量量默認(rèn)認(rèn)為int類型;;C#語言的的浮點點型常常量默默認(rèn)為為double類型。。示例::inti=3;longl=3L;doubled=3.14;floatf=3.14f;對于數(shù)數(shù)值常常量,,通過過附加加一個個類型型聲明明字符符,可可以聲聲明數(shù)數(shù)值常常量的的數(shù)據(jù)據(jù)類型型。如果沒沒有給給數(shù)值值常量量附加加類型型聲明明字符符,則則任何何整數(shù)數(shù)都會會被假假定為為int類型,,任何何小數(shù)數(shù)都會會被假假定為為double類型2.變變量和和常量量——常量(1)直接常常量:(2)符號常常量:使用const關(guān)鍵字字聲明明示例::conststringCOMPANYNAME=““CNC””;示例::constdecimalSALESTAXRATE=0.08m;符號常常量的的優(yōu)勢勢代碼更更易閱閱讀若需修修改常常量值值,僅僅需修修改一一次常常量聲聲明語語句即即可,,不必必在全全部代代碼中中修改改對常常量的的每一一處引引用2.變變量和和常量量——常量3.類型轉(zhuǎn)轉(zhuǎn)換(1)隱隱式轉(zhuǎn)轉(zhuǎn)換(自動轉(zhuǎn)轉(zhuǎn)換)(2)顯示轉(zhuǎn)轉(zhuǎn)換(強制制類型型轉(zhuǎn)換換)(3)使用方方法(函數(shù)數(shù))實現(xiàn)數(shù)數(shù)據(jù)類類型的的轉(zhuǎn)換換(4)拆箱與與裝箱箱3.類型轉(zhuǎn)轉(zhuǎn)換(1)隱式轉(zhuǎn)轉(zhuǎn)換((自動動轉(zhuǎn)換換)允許數(shù)數(shù)值范范圍小小的類類型向向數(shù)值值范圍圍大的的類型型轉(zhuǎn)換換;允許無無符號號數(shù)向向有符符號數(shù)數(shù)轉(zhuǎn)換換。格式:(數(shù)據(jù)類類型名名稱)(表達式式)(2)顯示轉(zhuǎn)轉(zhuǎn)換(強制類類型轉(zhuǎn)轉(zhuǎn)換)示例:intx=500;shortz=(short)x;//z值為5003.類型轉(zhuǎn)轉(zhuǎn)換Parse方法——將特定定格式式的字字符串串轉(zhuǎn)換換為數(shù)數(shù)值.格式:數(shù)值類類型名名稱.Parse(字符串串型表表達式式)示例:intm=int.Parse("1234");decimalx=decimal.Parse(““3.14”);3.類型轉(zhuǎn)轉(zhuǎn)換(3)使用方方法實實現(xiàn)數(shù)數(shù)據(jù)類類型的的轉(zhuǎn)換換格式::變量名名稱.ToString();示例:intm=234;stringstr1=m.ToString();ToString方法——將其他他類型型的變變量轉(zhuǎn)轉(zhuǎn)換為為字符符串。。System.Convert類——將一個個基本本數(shù)據(jù)據(jù)類型型轉(zhuǎn)換換為另另一個個基本本數(shù)據(jù)據(jù)類型型。Convert類擁有有針對對每種種數(shù)據(jù)據(jù)類型型的以以To開始的的方法法。3.類型轉(zhuǎn)轉(zhuǎn)換(3)使用方方法實實現(xiàn)數(shù)數(shù)據(jù)類類型的的轉(zhuǎn)換換3.類型轉(zhuǎn)轉(zhuǎn)換3.類型轉(zhuǎn)轉(zhuǎn)換System.Convert類3.類型轉(zhuǎn)轉(zhuǎn)換(3)使用方方法實實現(xiàn)數(shù)數(shù)據(jù)類類型的的轉(zhuǎn)換換示例:decimalprice;stringstr=““23.43””;price=Convert.ToDecimal(str);4.運算符符和表表達式式5.結(jié)構(gòu)類類型結(jié)構(gòu)是是將多多個相相關(guān)的的數(shù)據(jù)據(jù)字段段合并并在一一起而而創(chuàng)建建的一一種新新的結(jié)結(jié)構(gòu)。。[public|private]struct結(jié)構(gòu)名名{public數(shù)據(jù)類類型字字段名名;public數(shù)據(jù)類類型字字段名名;……};5.結(jié)構(gòu)類類型示例例publicstructProduct{publicstringdescription;publicstringID;publicintquantity;publicdecimalprice;}5.結(jié)構(gòu)構(gòu)類類型型結(jié)構(gòu)構(gòu)聲聲明明不不能能放放入入方方法法內(nèi)內(nèi)部部。。通通常常應(yīng)應(yīng)把把struct塊與與類類聲聲明明一一起起放放在在文文件件頂頂部部,,也也可可以以將將struct塊放放到到類類的的內(nèi)內(nèi)部部或或外外部部。。5.結(jié)構(gòu)構(gòu)類類型型示例例publicstructOrderItem{publicstringsize;publicstringdrink;publicintquantity;publicdecimalprice;}OrderItemdrinkOrder;6.枚舉舉枚舉舉類類型型用用于于聲聲明明一一組組命命名名的的常常數(shù)數(shù)。。每每種種枚枚舉舉類類型型均均有有一一種種基基礎(chǔ)礎(chǔ)類類型型,,此此基基礎(chǔ)礎(chǔ)類類型型可可以以是是除除char類型型以以外外的的任任何何整整型型。。enumWeekDay{Sun,Mon,Tue,Wed,Thu,Fri,Sat};WeekDaytheDay;枚舉舉元元素素的的默默認(rèn)認(rèn)基基礎(chǔ)礎(chǔ)類類型型為為int。默默認(rèn)認(rèn)情情況況下下,,第第一一個個枚枚舉舉元元素素值值為為0,后后面面的的每每個個枚枚舉舉元元素素的的值值一一次次遞遞增增1。例2-2:編編程程,,輸輸入入年年利利率率((例例如如2.5%)和和存存款款總總數(shù)數(shù)((例例如如30000元)),,計計算算一一年年后后的的本本息息合合計計并并輸輸出出。。輸出出本本息息之之和和deposit輸入入年年利利率率rate和存存款款本本金金capitaldeposit=capital*(1+rate)staticvoidMain(string[]args){decimalrate,capital,depoist;Console.Write("請請輸輸入入年年利利率率::");rate=Convert.ToDecimal(Console.ReadLine());Console.Write("請請輸輸入入本本金金::");capital=Convert.ToDecimal(Console.ReadLine());depoist=capital*(1+rate);Console.Write("一一年年后后本本利利之之和和::");Console.WriteLine(depoist);Console.ReadLine();}第3章程程序序流流程程控控制制順序序結(jié)結(jié)構(gòu)構(gòu)選擇擇結(jié)結(jié)構(gòu)構(gòu)循環(huán)環(huán)結(jié)結(jié)構(gòu)構(gòu)3.1選擇擇結(jié)結(jié)構(gòu)構(gòu)簡簡介介條件S1S2TF選擇結(jié)構(gòu)3.1.1單分分支支選選擇擇結(jié)結(jié)構(gòu)構(gòu)if(條件件表表達達式式)語句句1;[else語句句2;]3.1.2多分分支支選選擇擇結(jié)結(jié)構(gòu)構(gòu)if~elseif語句句switch語句句(1)if~elseif語句句if(條件件表表達達式式1)語句句1;elseif(條件件表表達達式式2)語句句2;:elseif語句句n;else語句句n+1;條件1=0≠0語句1條件2=0≠0語句2條件3=0≠0語句3語句4例3-1:體體型型判判斷斷。。按按““體體指指數(shù)數(shù)””對對肥肥胖胖程程度度進進行行劃劃分分::體指指數(shù)數(shù)t=體重重w/(身高高h)2(w單位位為為公公斤斤,,h單位位為為米米))當(dāng)t<18時,,為為低低體體重重;;當(dāng)t介于于18和25之間間時時,,為為正正常常體體重重;;當(dāng)t介于于25和27之間間時時,,為為超超重重體體重重;;當(dāng)t>=27時,,為為肥肥胖胖。。編程程從從鍵鍵盤盤輸輸入入你你的的身身高高h和體體重重w,根根據(jù)據(jù)給給定定公公式式計計算算體體指指數(shù)數(shù)t,然然后后判判斷斷你你的的體體重重屬屬于于何何種種類類型型。。t<18?真假t<25?t<27?真真假假輸入入身身高高h和體體重重w計算算體體指指數(shù)數(shù)t顯示示”低體體重重””顯示示”正常常””顯示示”超重重””顯示示”肥胖胖””decimalh,w,t;Console.Write("Pleaseenterh:");h=Convert.ToDecimal(Console.ReadLine());Console.Write("Pleaseenterw:");w=Convert.ToDecimal(Console.ReadLine());t=w/(h*h);Console.WriteLine(t);if(t<18)Console.WriteLine("低低體體重重");elseif(t<25)Console.WriteLine("正正常常體體重重");elseif(t<27)Console.WriteLine("超超重重體體重重");elseConsole.WriteLine("肥肥胖胖體體重重");Console.ReadLine();switch(變量量或或表表達達式式){casec1:語句句1;break;casec2:語句句2;break;:casecn:語句n;break;[default:語句n+1;break;]}(2)switch語句整型字符類型字符串等執(zhí)行流程圖圖(設(shè):變量或表達達式的值為為e)e
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公室裝修合同樣本:辦公空間綠化與景觀設(shè)計
- 電纜橋架購銷合同
- 數(shù)據(jù)分析技術(shù)在商業(yè)決策中的應(yīng)用研究
- 招投標(biāo)與合同管理第六章
- 三農(nóng)網(wǎng)信息化實施與管理手冊
- 外架工程勞務(wù)分包合同
- 農(nóng)業(yè)現(xiàn)代化生產(chǎn)作業(yè)指導(dǎo)書
- 公司個人租車合同
- 員工培訓(xùn)保密協(xié)議合同書
- 資料外包協(xié)議書
- 產(chǎn)品報價單(5篇)
- GB/T 43153-2023居家養(yǎng)老上門服務(wù)基本規(guī)范
- 不銹鋼欄桿施工工藝
- 陜西演藝集團有限公司招聘筆試題庫2023
- vc約起來史上最全180個知名投資人聯(lián)系方式
- 中國酒文化英文介紹
- 部編版五年級語文下冊課文四字詞總結(jié)
- 社會穩(wěn)定風(fēng)險評估報告風(fēng)險評估參考
- 制冷操作證培訓(xùn)教材-制冷與空調(diào)設(shè)備運行操作作業(yè)培課件
- 勞動感悟800字作文30篇
- 上下樓梯安全我知道安全教育課件
評論
0/150
提交評論