版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《軟件技術》專業(yè)剖析報告軟件教研室李萍2006年5月
<可視化程序設計_C#>第3章C#程序設計語言講課教師:周志德《軟件技術》專業(yè)剖析報告軟件教研室李萍11、了解C#程序組成中解決方案、項目、類、窗體、函數(shù)等基本概念和對應文件;2、了解C#的數(shù)據(jù)類型,變量和常量定義,公用函數(shù)、語句表達式與程序書寫規(guī)則;3、掌握賦值、分支、循環(huán)等語句的格式與使用方法;4、掌握數(shù)組、數(shù)組列表、類、接口、委托、命名空間等概念與使用方法。5、學會用類與對象設計學生成績管理程序(解決方案)。教學要求1、了解C#程序組成中解決方案、項目、類、窗體、函數(shù)等基本概21、采用類比教學法,即以C++中的程序組成、語法、語義與算法為例,引出C#中有關:(1)程序結構;(2)數(shù)據(jù)類型、表達式;(3)流程控制語句;(4)數(shù)組類型;(5)類、對象、接口與委托;(6)命名空間;的概念與使用方法。2、采用理實一體化的教學方法。教學方法1、采用類比教學法,即以C++中的程序組成、語法、語義與算法31、類與對象(1)類(Class):數(shù)據(jù)成員(屬性)+成員函數(shù)(方法)Class<類>{<數(shù)據(jù)成員>;<成員函數(shù)>;}(2)對象(Object):<類><對象>;(3)對象成員調用:<對象>.<屬性>;<對象>.<方法>();相關術語1、類與對象相關術語42、命名空間命名空間由若干個類的定義組成,如命名空間System由Math、String、DateTine、Double等類的定義組成。定義格式:namespace<命名空間名>{<類1>定義;…<類n>定義;}相關術語2、命名空間相關術語5C++工程文件(.dsw)源文件1(.cpp)源文件2(.cpp)源文件n(.cpp)……編譯預處理命令函數(shù)1函數(shù)n……函數(shù)2函數(shù)說明部分函數(shù)體數(shù)據(jù)定義執(zhí)行語句圖3.1C++程序組成C++程序組成問題:C#程序如何組成?答:解決方案(.sln)3.1C#程序組成C++工程文件(.dsw)源文件1源文件2源文件n……編譯預63.1C#程序組成圖3.2C#程序(解決方案)的組成普通類1(*.cs)(class)……普通類m(*.cs)(class)窗體類1(*.cs)(Form)……窗體類k(.cs)(Form)引用命名空間(using)定義項目命名空間(namespace)定義類(class)定義成員函數(shù)(方法)定義數(shù)據(jù)成員(屬性)解決方案(.sln)(solution)C#項目1(*.csproj)(classproject)……C#項目i(*.csproj)(classproject)……C#項目n(*.csproj)(classproject)定義窗體類(Form.cs)窗體設計類(.Designer.cs)窗體資源(.resx)函數(shù)聲明變量聲明函數(shù)體引用命名空間定義項目命名空間定義窗體類定義全局變量定義函數(shù)程序定義事件驅動程序3.1C#程序組成圖3.2C#程序(解決方案)的組成普通7圖3.3C#程序(解決方案)的組成引用命名空間定義窗體類定義事件驅動程序解決方案ex3_1.sln項目ex3_1.csproj引用命名空間定義窗體類(.cs)項目主程序.cs定義普通類.cs窗體設計類窗體資源類定義項目命名空間ex3_1圖3.3C#程序(解決方案)的組成引用命名空間定義窗體類定83.1C#程序組成3.1.1C#程序組成1、解決方案(.sln)VisualStudio2005將C#應用程序稱為解決方案。如:學生檔案查詢解決方案ex2_5.sln;由圖3.2可知C#解決方案由一個或多個C#項目組成。在解決方案中添加新項目的方法:菜單|文件|添加|新建項目|在對話框中選擇:VisualC#、Windows應用程序、位置,輸入項目名稱。3.1C#程序組成3.1.1C#程序組成93.1C#程序組成【例3-1(1)】創(chuàng)建解決方案ex3_1.sln,在ex3_1.sln中添加項目ex3_1_2。(1)創(chuàng)建解決方案ex3_1.sln菜單|文件|新建|項目|新建項目對話框,設置如下:項目類型:VisualC#,模板:Windows應用程序位置:c:\C#,名稱:ex3_1|確定。(2)在窗體Form1中添加一個label與一個Butoon,雙擊按鈕,編寫事件驅動程序:
privatevoidbutton1_Click(objectsender,EventArgse){label1.Text="學習C#程序組成!";}3.1C#程序組成【例3-1(1)】創(chuàng)建解決方案ex3_1103.1C#程序組成(3)在ex3_1.sln中添加項目ex3_1_2菜單|文件|添加|新建項目|添加新項目對話框,設置如下:項目類型:VisualC#,模板:Windows應用程序,位置:c:\C#名稱:ex3_2|確定。此時,解決方案ex3_1.sln中出現(xiàn)項目ex3_1與ex3_1_2,如圖3.4所示,即解決方案ex3_1.sln由兩個項目ex3_1與ex3_1_2組成。圖3.4解決方案ex3_1.sln由項目ex3_1與ex3_1_2組成3.1C#程序組成(3)在ex3_1.sln中添加項目ex113.1C#程序組成2、項目(.csproj)(1)項目組成由圖3.2可知C#項目由若干普通類(class)與窗體類(Form)組成。C#的項目是以命名空間的形式定義的。在項目中可以添加新窗體與新類。①添加新窗體的方法菜單|項目|添加Windows窗體|輸入窗體名|添加②添加新類的方法菜單|項目|添加類|輸入類名|添加。3.1C#程序組成2、項目(.csproj)123.1C#程序組成【例3-1(2)】在項目ex3_1添加一個新窗體Form2與一個類class1。(1)添加新窗體Form2:菜單|項目|添加Windows窗體|輸入窗體名Form2|添加。(2)添加新類class1菜單|項目|添加類|輸入類名class1|添加。添加后項目ex3_1由屬性、引用、類class1.cs、窗體Form1.cs與Form2.cs、程序Program.cs組成。圖3.5項目ex3_1添加窗體Form2與類class13.1C#程序組成【例3-1(2)】在項目ex3_1添加133.1C#程序組成(2)資源管理器中項目內容項目文件(.csproj),如:ex3_1.csproj屬性:Properties引用:<命名空間>,如:System窗體(.cs),如:Form1.cs窗體設計類(.Designer.cs);如:Form1.Designer.cs窗體資源類(.resx);如:Form1.resx類(.cs),如Program.cs其它(*.config,*.xml,*.ico,……)3.1C#程序組成(2)資源管理器中項目內容14(3)項目命名空間的定義C#項目中所有類與窗體都被定義在項目命名空間內。如:打開項目ex3_1中類class1的代碼編輯器可看ex3_1命名空間的定義代碼如下:singSystem;//引用系統(tǒng)類組成的命名空間SystemusingSystem.Collections.Generic;usingSystem.Text;namespaceex3_1
//定義項目命名空間ex3_1{classClass1
//定義類Class1{}}3.1C#程序組成(3)項目命名空間的定義3.1C#程序組成153.1C#程序組成打開項目ex3_1中窗體Form1的代碼編輯器可看ex3_1命名空間的定義代碼如下:
usingSystem; //引用系統(tǒng)類組成的命名空間System…………usingSystem.Windows.Forms; //引用窗體類組成的命名空間Formsnamespaceex3_1
//定義項目命名空間ex3_1{ //由Form公有派生出窗體類Form1publicpartialclassForm1:Form{publicForm1() //定義窗體類Form1的構造函數(shù){InitializeComponent();} //調用函數(shù)初始化窗體與控件} //該函數(shù)在Designer.cs文件中執(zhí)行}3.1C#程序組成打開項目ex3_1中窗體Form1的代碼163、命名空間(1)命名空間是類的定義集合如:系統(tǒng)命名空間System由Math、String、DateTine、Double等公共類的定義組成。在代碼編輯器中輸入System后用成員運算“.”可顯示其所有公共類Math等,如圖3.6所示。再如,項目命名空間ex3_1由Class1、Form1、Form2、Program類的定義組成。3.1C#程序組成圖3.6System中的類3、命名空間3.1C#程序組成圖3.6System中的類17(2)命名空間的定義格式namespace<命名空間名>{<類1>定義;…<類n>定義;}如:項目ex3_1的命名空間定義如下:namespaceex3_1{classClass1{}publicclassForm1:Form{}publicclassForm2:Form{}staticclassProgram{}}說明:實際類、窗體、程序的ex3_1命名空間的定義是分開。3.1C#程序組成(2)命名空間的定義格式3.1C#程序組成183.1C#程序組成4.引用定義在C++中,當要使用輸入輸出對象cin、cout時,必須先用#include將頭文件iostream.h包含到程序中來。#include<iostream.h>voidmain(void){inta;cin>>a;cout<<“a=”<<a<<endl;}3.1C#程序組成4.引用定義193.1C#程序組成同樣當使用命名空間中的類時,必須先引用命名空間后使用類。命名空間引用定義格式:using<命名空間名>如在項目ex3_1的命名空間定義前,定義引用:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;3.1C#程序組成同樣當使用命名空間中的類時,必須先引用命20定義System等命名空間引用后,在后續(xù)代碼中,可以使用System、……、System.Windows.Forms這些命名空間中的類。實驗:在代碼編輯器中,對下列引用定義語句作注解處理//usingSystem.Windows.Forms;則生成解決方案時:因為找不到基類Form,定義窗體類的語句:publicpartialclassForm1:Form出錯!??!且Form1窗體設計器不能使用?。?!3.1C#程序組成定義System等命名空間引用后,在后續(xù)代碼中,可以使用S213.1C#程序組成5、窗體(1)窗體組成窗體由下列三個文件組成1)程序代碼文件(*.cs)如:Form1.cs程序代碼文件由引用定義、命名空間定義、窗體類定義、函數(shù)定義(控件事件驅動程序)、變量定義等組成。用戶在此界面內的主要工作是編寫事件驅動程序。3.1C#程序組成5、窗體223.1C#程序組成2)窗體設計類(*.Designer.cs)如:Form1.Designer.cs該程序主要用于窗體與控件的初始化工作,初始化工作主要由Form1.cs調用InitializeComponent()函數(shù)實現(xiàn)。在InitializeComponent()函數(shù)內有窗體與控件屬性、方法初值的設置代碼。一般不要用戶管理。3)窗體資源(*.resx)如:Form1.resx該程序主要用于設置窗體與控件所需資料,如圖像資源等。3.1C#程序組成2)窗體設計類(*.Designer.c23(2)添加新窗體C#項目中允許有多個窗體,添加新窗體的方法如下:方法一:菜單|項目|添加Windows窗體|Windows窗體|Form1|添加方法二:資源管理器|右擊項目ex3_1|添加|Windows窗體|Form1|添加3.1C#程序組成(2)添加新窗體3.1C#程序組成243.1C#程序組成6、類文件類文件由引用定義、命名空間定義、類(或結構等)定義以及類函數(shù)組成。(1)主程序類Program.csC#項目中首先運行的是主程序類文件Program.cs該文件由引用定義、命名空間定義、主函數(shù)main()定義組成,用于對應用項目程序的初始化,及決定調用的啟動窗體。3.1C#程序組成6、類文件253.1C#程序組成如:Program.cs:主程序類文件代碼如下usingSystem;usingSystem.Collections.Generic;usingSystem.Windows.Forms;namespaceWindowsApplication1{staticclassProgram{ //應用程序的主入口點。
staticvoidMain() //主函數(shù){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());//運行Form1窗體程序} //當項目中有多個窗體時,
}
//該程序將決定先啟動運行哪一個窗體}3.1C#程序組成如:Program.cs:主程序類文件代263.1C#程序組成(2)添加類方法一:菜單|項目|添加類|類|class1|添加方法二:資源管理器|右擊項目ex3_1|添加|類|class1|添加3.1C#程序組成(2)添加類277.函數(shù)定義一個函數(shù),包括函數(shù)的名稱、參數(shù)、返回值等等,如下代碼:privatevoidbtn_Find_Click(objectsender,EventArgse){函數(shù)體}函數(shù)體是在函數(shù)定義后的{……}之間包含的所有代碼行,用于改變程序、窗體或類的對象的狀態(tài)和行為、完成對相關信息進行處理等的代碼。3.1C#程序組成7.函數(shù)3.1C#程序組成283.1.2C#代碼行書寫規(guī)則1.語句[語句定義符]<語句體>;2.注釋格式1://注釋內容;格式2:/*注釋內容*/3.換行書寫
當語句較長時,C#允許語句換行書寫,語句用“;”結束。3.1C#程序組成3.1.2C#代碼行書寫規(guī)則3.1C#程序組成29//若中橋校區(qū)復選框被選中,則在文本框中賦“中橋校區(qū)”;if(rbtn_Zhongqiao.Checked){txt_Xiaoqu2.Text=“中橋校區(qū)”;}3.1C#程序組成//若中橋校區(qū)復選框被選中,則在文本框中賦“中橋校區(qū)”;3304.命名規(guī)范在C#程序中給常量、變量、類、函數(shù)等命名時應遵守命名規(guī)范,體現(xiàn)專業(yè)素養(yǎng)。(1)常量:用大寫字母。例如:PI。當含有多個單詞,用下劃線“_”隔開。例如CIRCLE_RADIUS等。(2)變量:用首字母小寫,之后每個單詞首字母大寫其余小寫的方式。例如frm_StuFind、filename、errorHandler、peopleNumber。3.1C#程序組成4.命名規(guī)范3.1C#程序組成31
(3)類成員變量:加前綴“m”。例如:mFilename、mErrorHandler、mPeopleNumber。類名:一般使用每個單詞首字母大寫其余字母小寫的方式。例如:FileAppender、StreamWriter等。(4)函數(shù)名:根據(jù)函數(shù)功能用動詞+名詞的單詞組合進行命名,做到“見名知意”。如:btn_Find_Click,再如,打開文件的函數(shù)可以命名為OpenFile。(5)C#中的命名是區(qū)分大小寫如,Name和name代表的是不同的變量。3.1C#程序組成(3)類成員變量:加前綴“m”。3.1C#程序組成325.使用縮進privatevoidbtn_Delete_Click(objectsender,EventArgse){intindex=lst_User.SelectedIndex;if(index>=0)//寶山認為c,c++,java都是以0為開始lst_User.Items.RemoveAt(index);elseMessageBox.Show("請選擇用戶后再刪除!");}3.1C#程序組成5.使用縮進3.1C#程序組成331、C#程序組成,C#程序稱為解決方案;解決方案由若干個項目組成,以命名空間形式定義項目;項目由若干個普通類、窗體類與主程序類組成;普通類由定義類的數(shù)據(jù)成員(屬性)與成員函數(shù)(方法)組成;窗體類由窗體定義類(定義控件事件驅動程序等)、窗體設計類(定義窗體內的控件)、窗體資源類(定義窗體內的資源)等組成。主程序類由項目主函數(shù)等構成,用于創(chuàng)建啟動窗體。2、代碼行書寫規(guī)則第1次課小結1、C#程序組成,C#程序稱為解決方案;第1次課小結34作業(yè):新建一個解決方案ex3_1.sln,在解決方案的Form1窗體內添加一按鈕與圖片框控件(裝入黃金虎教師照片),單擊按鈕將金魚圖片裝入圖片框。(1)在代碼編輯器中,閱讀Form1.cs文件,寫出引用、命名空間、窗體類、構造函數(shù)、事件驅動程序的定義代碼;閱讀Form1.Designer.cs文件,寫出窗體、按鈕控件變量的定義初始化設置代碼。閱讀Form1.resx文件,寫出文件中的資源。閱讀Program.cs文件,寫出調用窗體Form1的代碼。第1次課小結作業(yè):新建一個解決方案ex3_1.sln,在解決方案的For35(2)在資源管理器中,寫出項目、引用、窗體、類的名稱。(3)在解決方案的目錄中,寫出解決方案文件、項目文件、窗體文件(程序代碼文件、窗體設計類文件、窗體資源文件)、類文件的名稱。(4)寫出解決方案執(zhí)行過程。第1次課小結(2)在資源管理器中,寫出項目、引用、窗體、類的名稱。第1次36C++數(shù)據(jù)類型基本類型導出類型整型實型字符型char無值型void短整型shortint整型int長整型longint單精度型float雙精度型double數(shù)組指針結構體共同體類圖3.4C++的數(shù)據(jù)類型3.2數(shù)據(jù)類型與表達式C++數(shù)據(jù)類型基本類型導出類型整型實型字符型c373.2數(shù)據(jù)類型與表達式C#數(shù)據(jù)類型值類型整型結構類型枚舉類型引用類型類類型接口類型數(shù)組類型基本類型浮點型邏輯型字符型字符串型日期型圖3.5C#的基本數(shù)據(jù)類型3.2數(shù)據(jù)類型與表達式C#數(shù)據(jù)值類型整型結構類型枚舉類型383.2.1數(shù)據(jù)類型C#除保留C++的數(shù)據(jù)類型外,還新增了C#內置數(shù)據(jù)類型。1.內置數(shù)據(jù)類型(如表3-1所示)
Byteb=1; //定義C#新增的字節(jié)變量b
Int32i=2; //定義C#新增的32位整型變量i
intj=3; //定義C++整型變量j
Singlex1=4; //定義C#新增的單精度變量x1,
floatx2=5; //定義C++單精度變量x2
Doubley=1.234567;//定義C#新增的雙精度變量y
Charc='a'; //定義C#新增的字符變量c
Booleana=true;//定義C#新增的布爾變量a在VS2005中藍色多為C++數(shù)據(jù)類型,淺藍色為C#新增數(shù)據(jù)類型
3.2數(shù)據(jù)類型與表達式3.2.1數(shù)據(jù)類型3.2數(shù)據(jù)類型與表達式39表3-1C#內置數(shù)據(jù)類型類別類名說明數(shù)據(jù)類型完整類名整型Byte8位的無符號整型byteSystem.ByteSByte8位的有符號整型sbyteSystem.SByteInt1616位的有符號整型shortSystem.Int16Int3232位的有符號整型intSystem.Int32Int6464位的有符號整型longSystem.Int64UInt1616位的無符號整型ushortSystem.UInt16UInt3232位的無符號整型uintSystem.UInt32UInt6464位的無符號整型ulongSystem.UInt64浮點Single單精度(32位)浮點floatSystem.SingleDouble雙精度(64位)浮點doubleSystem.Double邏輯Boolean布爾值(真或假)boolSystem.Boolean字符CharUnicode(16位)字符charSystem.Char數(shù)值Decimal十進制值decimalSystem.Decimal表3-1C#內置數(shù)據(jù)類型類別類名說明數(shù)據(jù)類型完整類40【例3-2(1)】新建解決方案ex3_2.sln,在窗體中添加5個按鈕與5個文本框控件,如圖3-1所示,雙擊按鈕1編寫事件驅動程序如下:privatevoidbutton1_Click(objectsender,EventArgse){Byteb=1;Int32i=2;intj=3;Singlex1=4;floatx2=5;Doubley=1.234;Charc='a';Booleana=true;textBox1.Text=b.ToString();}3.2數(shù)據(jù)類型與表達式圖3.6數(shù)據(jù)類型示例【例3-2(1)】新建解決方案ex3_2.sln,在窗體中412.字符串類型:String(C#新增)String屬于值類型:System.String作用:定義字符串變量(對象)【例3-2(2)】在窗體中雙擊按鈕2,編寫事件驅動程序。
privatevoidbutton2_Click(objectsender,EventArgse){Strings1=“abcd”; //定義字符串變量s1strings2=“xyz”; //定義字符串變量s2System.Strings3=“”; //定義字符串變量s3s3=s1+s2; //字符串連接運算textBox2.Text=s3; //在文本框中顯示s3值}3.2數(shù)據(jù)類型與表達式2.字符串類型:String(C#新增)3.2數(shù)據(jù)類型與42說明:在C#中同一種數(shù)據(jù)類型有時允許用首字母大寫或小寫兩種表達方式。如:字符串類型有:String
與string兩種表達方式。雙精度類型有:Double與double兩種表達方式。在VS2005中小寫為藍色,大寫為淺藍色。3.日期時間類型:DateTime(C#新增)作用:用于定義日期與時間變量。日期格式:2012-09-1810:45:50。3.2數(shù)據(jù)類型與表達式說明:在C#中同一種數(shù)據(jù)類型有時允許用首字母大寫或小寫兩種表43DateTime值類型:System.DateTime取值范圍:0001-1-124:00:00到9999-12-3123:59:59。例3-2(3)在窗體中雙擊按鈕3,編寫事件驅動程序。privatevoidbutton3_Click(objectsender,EventArgse){DateTimed1=Convert.ToDateTime("2012-09-1810:20:00");System.DateTimed2=Convert.ToDateTime(“2012-09-0310:20:00”); //定義日期時間變量d1、d2,并賦初值textBox3.Text=Convert.ToString(d1-d2);//計算日期相差天數(shù)}
3.2數(shù)據(jù)類型與表達式DateTime值類型:System.DateTime3.2443.2數(shù)據(jù)類型與表達式4.結構體類型(自定義數(shù)據(jù)類型)(1)定義結構體類型
<權限>struct<結構體名>{<權限><類型>數(shù)據(jù)成員;<權限><類型><函數(shù)>{函數(shù)體;}}(2)定義結構體變量:<結構體名><結構體變量>;(3)引用結構體變量:<結構體變量>.<數(shù)據(jù)成員>3.2數(shù)據(jù)類型與表達式4.結構體類型(自定義數(shù)據(jù)類型)453.2數(shù)據(jù)類型與表達式【例3-2(4)】在窗體類Form1中定義學生成績結構類型Score。
publicstructScore//在窗體類Form1中定義成績結構體類型{publicintno; //定義公有數(shù)據(jù)成員學號
publicstringname; //定義公有數(shù)據(jù)成員姓名publicfloatmath; //定義公有數(shù)據(jù)成員數(shù)學publicfloatphy; //定義公有數(shù)據(jù)成員物理publicfloateng; //定義公有數(shù)據(jù)成員英語publicfloatave; //定義公有數(shù)據(jù)成員均分}; 3.2數(shù)據(jù)類型與表達式【例3-2(4)】在窗體類Form1463.2數(shù)據(jù)類型與表達式在窗體內雙擊按鈕4,編寫按鈕4事件驅動程序:用Score定義變量s,成績賦給s,計算均分,輸出姓名:均分。
privatevoidbutton4_Click(objectsender,EventArgse){Scores; //定義學生成績結構變量ss.no=1001; //通過引用給數(shù)據(jù)成員賦值="zhou";s.math=90;s.phy=85;s.eng=80;s.ave=(s.math+s.phy+s.eng)/3; //計算均分textBox4.Text=+":"+s.ave.ToString();}3.2數(shù)據(jù)類型與表達式在窗體內雙擊按鈕4,編寫按鈕4事件驅473.2數(shù)據(jù)類型與表達式5、類類型(自定義類型)(1)定義類類型<權限>class<類名>{<權限><類型>數(shù)據(jù)成員;<權限><類型><函數(shù)>(形參){函數(shù)體;}}(2)定義對象:<類名><對象>;(3)引用對象數(shù)據(jù)成員:<對象>.<數(shù)據(jù)成員>3.2數(shù)據(jù)類型與表達式5、類類型(自定義類型)48【例3-2(5)】在C#解決方案ex3_1.sln中定義矩形類Rectangle(1)在解決方案中添加矩形類Rectangle菜單|項目|添加類|選擇:類|名稱:Rectangle|添加|資源管理器中出現(xiàn)Rectangle.cs,如圖3.7所示。3.2數(shù)據(jù)類型與表達式圖3.7定義矩形類Rectangle【例3-2(5)】在C#解決方案ex3_1.sln中定義矩形49(2)在代碼編輯器中編寫定義類的代碼classRectangle{privateintLeft,Top,Height,Width;//定義矩形數(shù)據(jù)成員
publicRectangle(intL,intT,intH,intW)//定義構造函數(shù)
{Left=L;Top=T;Height=H;Width=W;}publicintArea()//定義計算矩形面積成員函數(shù)
{returnHeight*Width;}}3.2數(shù)據(jù)類型與表達式(2)在代碼編輯器中編寫定義類的代碼3.2數(shù)據(jù)類型與表達50(3)在Form1窗體中添加文本框5與按鈕5(4)雙擊按鈕5,在代碼編輯器中輸入事件驅動程序privatevoidbutton5_Click(objectsender,EventArgse){Rectangler; //定義矩形對象rr=newRectangle(10,10,10,10); //為r分配內存并初始化textBox5.Text=r.Area().ToString();//調用r的面積函數(shù)} //計算矩形面積,并在文本框中顯示實驗:完成解決方案ex3_1.sln的編程,體驗C#數(shù)據(jù)類型使用方法。3.2數(shù)據(jù)類型與表達式(3)在Form1窗體中添加文本框5與按鈕53.2數(shù)據(jù)類型513.2.2常量1.直接常量(常數(shù))邏輯常量:true,false2.符號常量[訪問權限]const[數(shù)據(jù)類型]<變量名>=<常量值>;例如:publicconstintDAY_OF_WEEK=7;publicconststringSHOW_TITLE="Helloworld!";3.2數(shù)據(jù)類型與表達式3.2.2常量3.2數(shù)據(jù)類型與表達式523.C#內部定義符號常量如:System.Math.PI(圓周率)System.Math.E(自然對數(shù)的底e)等等,這些常量在程序代碼中可以直接使用。3.2數(shù)據(jù)類型與表達式3.C#內部定義符號常量3.2數(shù)據(jù)類型與表達式53【例3-2(6)】在Form1窗體中添加文本框6與按鈕6,事件驅動程序:privatevoidbutton6_Click(objectsender,EventArgse){doubler=10.0; //定義半徑r=10Doubles=r*r*System.Math.PI;//計算圓面積stextBox6.Text=s.ToString(); //顯示圓面積s}3.2數(shù)據(jù)類型與表達式【例3-2(6)】在Form1窗體中添加文本框6與按鈕6,543.2.3變量變量必須按照C#命名規(guī)則進行命名。對于變量,編譯程序時,系統(tǒng)要為其分配與其類型相對應的若干個字節(jié)的存儲單元,以存儲變量的值。為變量賦值就是將值存放到為其分配的存儲單元中;引用變量就是從變量的存儲單元中取出數(shù)據(jù)。3.2數(shù)據(jù)類型與表達式3.2.3變量3.2數(shù)據(jù)類型與表達式551.變量定義語句(1)定義函數(shù)內局部變量:<類型><變量名>[,<變量名>]…;例如:privatevoidbtn_Delete_Click(objectsender,EventArgse){intindex=lst_User.SelectedIndex;if(index>=0)lst_User.Items.RemoveAt(index);elseMessageBox.Show("請選擇用戶后再刪除!");}3.2數(shù)據(jù)類型與表達式1.變量定義語句3.2數(shù)據(jù)類型與表達式56(2)定義類的成員變量[作用域修飾符]<類型><成員變量名>[,<成員變量名>]…;namespaceWindowsApplication1{publicpartialclassForm1:Form//定義Form1類{publicForm1() //定義構造函數(shù){InitializeComponent();}
intcount=0; //定義類的成員變量
privatevoidtimer1_Tick(objectsender,EventArgse){count++;textBox1.Text=Convert.ToString(count);}}}3.2數(shù)據(jù)類型與表達式(2)定義類的成員變量3.2數(shù)據(jù)類型與表達式57(3)定義控件變量(從工具箱將控件拖入窗體后自動定義)private<類型><變量名>[,<變量名>]…;例如:從工具箱將文本框、按鈕控件拖入窗體后,在Fowm1.Designer.cs文件中出現(xiàn)控件定義語句:privateSystem.Windows.Forms.TextBoxtextBox1;privateSystem.Windows.Forms.Buttonbutton1;3.2數(shù)據(jù)類型與表達式(3)定義控件變量(從工具箱將控件拖入窗體后自動定義)3.258(4)定義靜態(tài)變量[作用域修飾符]static<類型><變量名>[,<變量名>]…;例如:staticintcount;說明:靜態(tài)變量只能定義函數(shù)外部,不能定義在函數(shù)內。3.2數(shù)據(jù)類型與表達式(4)定義靜態(tài)變量3.2數(shù)據(jù)類型與表達式59(5)說明與C++變量初值為隨機數(shù)所不同的是,C#值類型變量定義后,系統(tǒng)自動為該變量賦一個初值:整型:初值為0,邏輯型:初值為false;引用類型:初值為null。string類型:初值為null,而不是空字符串””。3.2數(shù)據(jù)類型與表達式(5)說明3.2數(shù)據(jù)類型與表達式603.2.4運算符與表達式1、C#運算符C#運算符與C++類似,分為:算術運算符:+、-、*、/、%、++、--邏輯運算符:!、&&、||、&(位與)、|(位或)關系運算符:>、>=、==、<=、<、!=條件運算符:?:賦值運算符:=、+=、-=、*=、/=字符串連接運算符:+等,運算符及優(yōu)先級如表所示。3.2數(shù)據(jù)類型與表達式3.2.4運算符與表達式3.2數(shù)據(jù)類型與表達式61運算符類別運算符算術+-*/%邏輯&|^!~&&||truefalse字符串連接+遞增、遞減++--移位<<>>關系==!=<><=>=賦值=+=-=*=/=%=&=|=^=<<=>>=成員訪問.索引[]轉換()條件?:委托串聯(lián)和移除+-創(chuàng)建對象new類型信息asissizeoftypeof溢出異??刂芻heckedunchecked間接尋址和地址*->[]&表3.2C#運算符一覽表運算符類別運算符算術+-*/62
優(yōu)先級類別運算符高↓低基本x.yf(x)a[x]x++x--newtypeofcheckedunchecked一元+-!~++x--x(T)x乘法*/%加法+-移位<<>>關系和類型檢測<><=>=isas相等==!=邏輯AND&邏輯XOR^邏輯OR|條件AND&&條件OR||條件?:賦值=*=/=%=+=-=<<=>>=&=^=|=表3.3C#運算符一覽表優(yōu)先級類別運算符高基本x.yf(x)a[x]x632、C#表達式與C++類似,C#表達式也由常量、變量、函數(shù)用運算符連接而成。例如:Doublex=2.0,y;y=1+x+sin(x);3.2數(shù)據(jù)類型與表達式2、C#表達式3.2數(shù)據(jù)類型與表達式64
(1)數(shù)據(jù)類型內置基本數(shù)據(jù)類型:Boolean、Byte等字符串類型:String日期時間型:DateTime結構體類型(struct)與類類型(class)(首字母大寫)(2)常量:大寫字母,如PI
直接常量(常數(shù)):true,false符號常量:publicconstintDAY_OF_WEEK=7;C#內部定義符號常量:System.Math.PI第2次課小結(1)數(shù)據(jù)類型第2次課小結65(3)變量:首字母小寫,單詞首字母大寫,如btn_Add函數(shù)內局部變量類的成員變量控件變量靜態(tài)變量(static)(5)運算符與表達式作業(yè):補充題:完成例3-1(1)~(6)的解決方案界面與事件驅動程序設計。習題三3.1,3.2第2次課小結(3)變量:首字母小寫,單詞首字母大寫,如btn_Add第2663.2數(shù)據(jù)類型與表達式3.2.5C#中公共類及其函數(shù)C#提供許多公用類函數(shù)供用戶使用,使用前必須先引用公共類所在命名空間,后調用類的公用函數(shù)?,F(xiàn)介紹算術、字符串、轉換、日期類中公有函數(shù)的使用方法。1.算術類:System.Math(見表3-4)算術類公用函數(shù)主要有:(1)三角函數(shù):sin(x),cos(x),Tan(x),Asin(x),Acos(x)等(2)指數(shù)對數(shù)函數(shù):Exp(x),pow(x,n),log(x),log10(x)等(3)最大小值函數(shù):Max(x,y),Min(x,y),Ceiling(x),Floot(x)等(4)其它函數(shù):Abs(x),Round(x,n),Sing(x)等3.2數(shù)據(jù)類型與表達式3.2.5C#中公共類及其67Math.函數(shù)(參數(shù))函數(shù)作用Abs(x)|x|Acos(x)arccos(x)Asin(x)arcsin(x)Atan(x)arctg(x)Atan2(x,y)返回正切值為兩個指定數(shù)字的商的角度BigMul(x,y)生成兩個32位數(shù)字的完整乘積Ceiling(x)求≥x的最小整數(shù)Cos(x)cos(x),x為弧度單位Cosh(x)返回指定角度的雙曲余弦值DivRem(x,y)返回兩個數(shù)字的商,并將余數(shù)作為輸出參數(shù)進行傳遞3.2數(shù)據(jù)類型與表達式表3-4
算術類函數(shù)表Math.函數(shù)(參數(shù))函數(shù)作用Abs(x)|x|Acos(x68Exp(x)exFloor(x)求<=x的最大整數(shù)IEEERemainder返回一指定數(shù)字被另一指定數(shù)字相除的余數(shù)Log(x)Ln(x)Log10(x)Log(x)Max(x,y)Max(x,y)Min(x,y)Min(x,y)Pow(x,n)xnRound(x,n)對x第n位小數(shù)作四舍五入處理Sign(x)x的符號Sin(x)Sin(x),x為弧度單位Tan(x)tg(x),x為弧度單位表3-4
算術類函數(shù)表3.2數(shù)據(jù)類型與表達式Exp(x)exFloor(x)求<=x的最大整數(shù)IEEE69
【例3-3(1)】算術類公用函數(shù)示例。新建解決方案ex3_3.sln,在窗體Form1中添加2個按鈕與2個文本框,如圖3.8所示。3.2數(shù)據(jù)類型與表達式圖3.8算術類公用函數(shù)示例【例3-3(1)】算術類公用函數(shù)示例。新建解決方案ex3_70雙擊按鈕1,編寫按鈕1事件驅動程序:privatevoidbutton1_Click(objectsender,EventArgse){doublex1=-4.5,x2=4,x3=5.5,y1,y2,y3,y4,y5,y6;y1=System.Math.Abs(x1); //y1=|x1|=4.5y2=Math.Sin(Math.PI/2); //y2=sin(π/2)=sin(90)=1y3=Math.Asin(y2); //y3=arcsin(1)=π/2=1.5707y4=Math.Round(y3,2); //y4=round(1.5707,2)=1.57y5=Math.Sqrt(x2); //y5=sqrt(4)=2y6=Math.Sign(x1); //y6=sing(-4.5)=-1textBox1.Text="y1="+y1.ToString()+",y2="+y2.ToString()+",y3="+y3.ToString()+",y4="+y4.ToString()+",y5="+y5.ToString()+",y6="+y6.ToString();}3.2數(shù)據(jù)類型與表達式雙擊按鈕1,編寫按鈕1事件驅動程序:3.2數(shù)據(jù)類型與表達式71【例3-3(2)】在窗體Form1中雙擊按鈕2,編寫按鈕2事件驅動程序:
privatevoidbutton2_Click(objectsender,EventArgse){doublex1=4.5,x2=5.5,y1,y2,y3,y4,y5,y6,y7;y1=Math.Max(x1,x2); //y1=max(4.5,5.5)=5.5y2=Math.Min(x1,x2); //y2=min(4.5,5.5)=4.5y3=Math.Ceiling(x2); //y3=(6>=5.5)=6y4=Math.Floor(x2); //y4=(5<=5.5)=5y5=Math.Round(Math.Exp(1),3);//y5=ex=2.718y6=Math.Round(Math.Log(2.718));//y6=ln(2.718)=1y7=Math.Pow(2,3); //y7=23=8textBox2.Text="y1="+y1.ToString()+",y2="+y2.ToString()+",y3="+y3.ToString()+",y4="+y4.ToString()+",y5="+y5.ToString()+",y6="+y6.ToString()+",y7="+y7.ToString();}3.2數(shù)據(jù)類型與表達式【例3-3(2)】在窗體Form1中雙擊按鈕2,編寫按鈕2事722.字符串類公用函數(shù)(方法):System.String(表3-5)(1)串連接、比較、串長等函數(shù)串連接運算符+:s3=s1+s2>s2;返回1串比較函數(shù)String.Compare(s1,s2)s1=s2;返回0<s2;返回-1測串s長度屬性s.Length:返回串s長度,即字符個數(shù)。轉大寫方法s.ToUpper():將串s中字符轉大寫轉小寫方法s.ToLower():將串s中字符轉小寫3.2數(shù)據(jù)類型與表達式2.字符串類公用函數(shù)(方法):System.String(表73
String.函數(shù)(實參)函數(shù)作用Compare(s1,s2)按ASCII碼比較字符串s1、s2的大小,s1>s2返回1,s1=s2返回0,s1<s2返回-1s.IndexOf(c)測串s中字符c的位置index,若s中無c則返回-1,有則返回indexs.Insert(n,s1)在串s的第n個位置處插入子串s1,返回插入后的串,但原串s不變!Join()在指定String數(shù)組的每個元素之間串聯(lián)指定的分隔符String,從而產生單個串聯(lián)的字符串。s.Remove(n,l)從串s的第n個位置開始刪除l個字符,返回刪除后的串,但原串s不變s.Replace(c1,c2)在串s中,用字符c2替換字符c1,返回替換后的串,但原串s不變s.Split標識此實例中的子字符串(它們由數(shù)組中指定的一個或多個字符進行分隔),然后將這些子字符串放入一個String數(shù)組中s.StartsWith(s1)當s=s1返回true,當s≠s1返回falses.Substring(n,l)從串s的第n個位置開始取出長度為l的子串,n=0~串長。s.ToLower()轉小寫s.ToUpper()轉大寫s.Trim(c1,c2)從串s開始和末尾刪除與c1c2同名的字符,無參數(shù)則刪除串s中前、后空格s.TrimEnd(c2)從串s的結尾刪除與c2同名的字符,無參數(shù)則刪除尾空格s.TrimStart(c1)從串s的開始刪除與c1同名的字符,無參數(shù)則刪除前空格s.Length串s的長度表3-5字符串類公用函數(shù)(表中s為字符串對象)String.函數(shù)(實參)函數(shù)作用Compare74【例3-4(1)】串連接、比較、串長函數(shù)應用示例。(1)新建解決方案ex3_4.sln,在窗體內添加7個文本框與3個按鈕,如圖3.9所示。3.2數(shù)據(jù)類型與表達式圖3.9串連接、比較、串長函數(shù)應用示例【例3-4(1)】串連接、比較、串長函數(shù)應用示例。3.2數(shù)75(2)在Form1.cs文件中,定義全局字符串對象s1、s2、s3、s4、s5、s6。
Strings1="ABCF",s2="ABCD",s3,s4="ZhangYP",s5="LiuSW",s6="張飛飛";(3)雙擊按鈕1,編寫事件驅動程序如下:3.2數(shù)據(jù)類型與表達式(2)在Form1.cs文件中,定義全局字符串對象s1、s276privatevoidbutton1_Click(objectsender,EventArgse){s3=s1+s2; //串s1與s2連接到s3textBox1.Text="s1="+s1+",s2="+s2+",s3="+s3+",s4="+s4+",s5="+s5+",s6="+s6;intn=String.Compare(s1,s2); //串s1與s2比較:n=1
if(n==1)textBox2.Text="s1>s2";elseif(n==0)textBox2.Text="s1=s2";elsetextBox2.Text="s1<s2";textBox3.Text="s3.Length="+s3.Length.ToString();//測串s3長8
textBox4.Text="s3="+s3.ToLower();//s3轉小寫abcftextBox5.Text="s4="+s4.ToUpper(); //s4轉大寫ZHANGYP}單擊按鈕1,程序運行結果如圖3.9所示。3.2數(shù)據(jù)類型與表達式privatevoidbutton1_Click(obj77(2)刪除串中前后導字符與取子串方法s.Trim(c1,c2):刪除串s中前導字符c1、后導字符c2方法s.TrimEnd(c2):刪除串s后導字符c2方法s.TrimStart(c1):刪除串s前導字符c1說明:若無c1、c2則刪除串s中前、后導空格。s.Substring(n,l):從串s的第n個位置起獲取長度為l的子串。3.2數(shù)據(jù)類型與表達式(2)刪除串中前后導字符與取子串方法3.2數(shù)據(jù)類型與表達式78【例3-4(2)】刪前后導字符、取子串方法的應用示例。雙擊按鈕2,編寫事件驅動程序如下:Strings1="ABCF",s2="ABCD",s3,s4="ZhangYP",s5="LiuSW",s6="張飛飛";privatevoidbutton2_Click(objectsender,EventArgse){textBox2.Text="s4="+s4.Trim();//刪除s4前后導空格:”ZhangYP”textBox3.Text="s5="+s5.Trim('L','W');//刪除s5前后導字符L、WtextBox4.Text="s4="+s4.TrimStart()+",s4="+s4.TrimEnd()+'!';textBox5.Text="s5="+s5.TrimStart('L');//刪除s5前導字符L:"iuSW"
textBox4.Text="s6="+s6.Substring(0,1);//取s6第個漢字:"張";textBox5.Text="s5="+s5.Substring(1,3);//取s5的第~3個字符:"iuS"
}3.2數(shù)據(jù)類型與表達式【例3-4(2)】刪前后導字符、取子串方法的應用示例。3.279圖3.10刪前后導字符、取子串方法的應用示例圖3.11串比較、定位、插入、刪除、替換方法的應用示例單擊按鈕2,程序運行結果如圖3.10所示。單擊按鈕3,程序運行結果如圖3.11所示。圖3.10刪前后導字符、取子串方法的應用示例圖3.11串比較80(3)串比較、定位、插入、刪除、替換方法串比較方法s.StartsWith(s1):當s=s1返回true, 當s≠s1返回false串定位方法s.IndexOf(c):若s中有c則返回c的序號Index 否則則返回-1插入子串方法s.Insert(n,s1):在s中第n個位置處插入子串s1刪子串方法:s.Remove(n,l):刪除s中第n個起長度為l的子串串替換方法:s.Replace(c1,c2):在s中用字符c2替換字符c13.2數(shù)據(jù)類型與表達式(3)串比較、定位、插入、刪除、替換方法3.2數(shù)據(jù)類型與表81【例3-4(3)】串比較、定位、刪除、替換方法的應用示例。雙擊按鈕3,編寫事件驅動程序如下:Strings1="ABCF",s2="ABCD",s3,s4="ZhangYP",s5="LiuSW",s6="張飛飛";privatevoidbutton3_Click(objectsender,EventArgse){textBox2.Text=s4.StartsWith(s3).ToString(); //s4與s3比較:falsetextBox3.Text=s5.IndexOf('L').ToString(); //返回s5中L的序號:0textBox4.Text="Add:s2="+s2.Insert(2,"FG")+",s2="+s2;
//s2中第個位置處插入字符串FG:"ABFGCD"textBox5.Text="Del:s1="+s1.Remove(2,2)+",s1="+s1;
//從s1中刪除第個字符開始的長度為的子串:"AB"
textBox6.Text="Rep:s1="+s1.Replace('A','X')+",s1="+s1;}//用X替換s中的字符A:“XBCF"
3.2數(shù)據(jù)類型與表達式【例3-4(3)】串比較、定位、刪除、替換方法的應用示例。3823.轉換類公用函數(shù)(方法):System.Convert使用方法:Convert.To<數(shù)據(jù)類型>(表達式)作用:將表達式值轉換成指定的數(shù)據(jù)類型。所有轉換函數(shù)(方法)見表3-6。如:
floata,b,c;a=Convert.ToSingle(txt_a.Text);b=Convert.ToSingle(txt_b.Text);c=Convert.ToSingle(txt_c.Text);3.2數(shù)據(jù)類型與表達式3.轉換類公用函數(shù)(方法):System.Convert3.83Convert.函數(shù)(表達式)轉換函數(shù)(方法)作用ToBoolean(變量)將指定的值轉換為等效的布爾值ToByte(變量)將指定的值轉換為8位無符號整數(shù)ToChar(變量)將指定的值轉換為Unicode字符ToDateTime(變量)將指定的值轉換為DateTimeToDecimal(變量)將指定值轉換為Decimal數(shù)字ToDouble(變量)將指定的值轉換為雙精度浮點數(shù)字ToInt16(變量)將指定的值轉換為16位有符號整數(shù)ToInt32(變量)將指定的值轉換為32位有符號整數(shù)ToInt64(變量)將指定的值轉換為64位有符號整數(shù)ToSByte(變量)將指定的值轉換為8位有符號整數(shù)ToSingle(變量)將指定的值轉換為單精度浮點數(shù)字ToString(變量)將指定值轉換為其等效的String表示形式ToUInt16(變量)將指定的值轉換為16無符號整數(shù)ToUInt32(變量)將指定的值轉換為32位無符號整數(shù)ToUInt64(變量)將指定的值轉換為64位無符號整數(shù)表3-6轉換類函數(shù)(方法)Convert.函數(shù)(表達式)轉換函數(shù)(方法)作用ToBoo84【例3-5】整型、實型、字符型、日期型轉換函數(shù)應用示例。新建解決方案ex3_5.sln,在窗體內添加標簽、文本框與按鈕控件,設計界面如圖3.12所示。3.2數(shù)據(jù)類型與表達式圖3.12程序設計界面【例3-5】整型、實型、字符型、日期型轉換函數(shù)應用示例。新建85雙擊int按鈕,編寫整型數(shù)據(jù)類型轉換事件驅動程序:
privatevoidbutton1_Click(objectsender,EventArgse){Int32a,b,c; //定義整型變量a,b,ca=Convert.ToInt32(textBox1.Text); //字符型轉整型b=Convert.ToInt32(textBox2.Text); //字符型轉整型c=a+b; //整型相加textBox3.Text=c.ToString(); //整型轉字符型}3.2數(shù)據(jù)類型與表達式雙擊int按鈕,編寫整型數(shù)據(jù)類型轉換事件驅動程序:3.286雙擊double按鈕,編寫實型數(shù)據(jù)類型轉換事件驅動程序:
privatevoidbutton2_Click(objectsender,EventArgse){Doublex,y,z; //定義實型變量x,y,z
x=Convert.ToDouble(textBox4.Text); //字符型轉實型y=Convert.ToDouble(textBox5.Text); //字符型轉實型z=x+y; //實型相加textBox6.Text=z.ToString(); //實型轉字符型}3.2數(shù)據(jù)類型與表達式雙擊double按鈕,編寫實型數(shù)據(jù)類型轉換事件驅動程序:387雙擊String按鈕,編寫字符數(shù)據(jù)類型轉換事件驅動程序:
privatevoidbutton3_Click(objectsender,EventArgse){Strings1,s2,s3; //定義字符型變量s1,s2,s3
s1=textBox7.Text;s2=textBox8.Text;s3=s1+s2; //串連接textBox9.Text=s3;}3.2數(shù)據(jù)類型與表達式雙擊String按鈕,編寫字符數(shù)據(jù)類型轉換事件驅動程序:388雙擊Date按鈕,編寫日期數(shù)據(jù)類型轉換事件驅動程序:
privatevoidbutton4_Click(objectsender,EventArgse){DateTimed1,d2; //定義日期型變量d1,d2
d2=Convert.ToDateTime(textBox10.Text);//字符轉日期d1=Convert.ToDateTime(textBox11.Text);//字符轉日期textBox12.Text=Convert.ToString(d2-d1);//數(shù)字轉字符}3.2數(shù)據(jù)類型與表達式雙擊Date按鈕,編寫日期數(shù)據(jù)類型轉換事件驅動程序:3.2894.日期與時間類函數(shù)與對象屬性System.DateTime(表3-7)(1)獲取今天日期:DateTime.Today;(2)獲取當前日期與時間:DateTime.Now:(3)定義日期時間對象d:DateTimed=DateTime.Now;(4)獲取d中的yyyy-mm-dd:d.Year,d.Month,d.day(5)獲取d中的hh:mm:ss:d.Hour,d.Mi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 芯片制造的工藝流程
- 項目成本效益分析
- 讀《燈光》有感15篇
- 參加軍訓的心得體會5篇
- 江西省萬載縣株潭中學高中語文 1 荷塘月色教學實錄 新人教版必修2
- 重陽節(jié)主題活動方案-15篇
- 2024春七年級語文下冊 第3單元 10阿長與《山海經(jīng)》教學實錄 新人教版
- 北師大版八年級上冊數(shù)學期末考試試題帶答案
- 美食節(jié)活動策劃方案合集9篇
- 2024年春八年級地理下冊 第七章 第三節(jié) 東方明珠 香港和澳門教學實錄 (新版)新人教版
- 2024-2025學年上學期廣州初中地理七年級期末模擬卷1
- 八年級地理期末模擬卷(考試版A4)【測試范圍:晉教版八上全冊】
- 統(tǒng)編版語文2024-2025學年六年級上冊語文期末專題訓練:字音字形(有答案)
- 2024年文化娛樂產業(yè)投資合同3篇
- 機器人課件模板下載
- 《肺癌病人的護理》課件
- 臨時工人勞動合同范本(3篇)
- 江蘇省蘇州市2023-2024學年高二上學期期末學業(yè)質量陽光指標調研試題 物理 含答案
- 2024年安防監(jiān)控系統(tǒng)技術標準與規(guī)范
- 辦公樓外立面玻璃更換施工方案
- 出生醫(yī)學證明警示教育培訓
評論
0/150
提交評論