版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《C語言程序設(shè)計》教案總課時數(shù):114適用專業(yè):計算機應用技術(shù)、計算機網(wǎng)絡(luò)系(部)名稱:軟件工程系教研室名稱:修訂時間:授課日期:第1周周一5—8周三1—2第2周周一5—8周三1—2授課類型:演示、講解、練習、輔導課時:12教學內(nèi)容:1、C語言的歷史和特色2、C程序結(jié)構(gòu)3、C程序的開發(fā)過程教學目標:1、了解C語言的產(chǎn)生過程2、掌握C程序結(jié)構(gòu)3、掌握C程序開發(fā)過程4、掌握用C運行一個C程序教學重點:1、掌握C程序的基本結(jié)構(gòu)構(gòu)成2、學會用C運行一個C程序教學難點:掌握C程序的開發(fā)過程教學過程:內(nèi)容講授學生實踐作業(yè)布置新課內(nèi)容預告教學手段:多媒體教學軟件+個別輔導作業(yè):第1章C語言概述C語言是國際上廣泛流行的一門高級程序設(shè)計語言,具有語言簡潔、使用方便靈活、移植性好、能直接對系統(tǒng)硬件和外圍接口進行控制等特點。本章將簡要地介紹它的產(chǎn)生過程和特點、C程序結(jié)構(gòu)及C程序的上機步驟,以便對C語言有一個概括的認識。1.1C語言的歷史和特色一、歷史1.1960年出現(xiàn)了60。2.1963年和1967年,在60的基礎(chǔ)上推出了和語言更接近于硬件。3.1970年美國貝爾實驗室對語言做了進一步簡化,設(shè)計了B語言,并用B語言編寫了第一個操作系統(tǒng)。4.在1972年至1973年間,貝爾實驗室的在B語言的基礎(chǔ)上設(shè)計出C語言。二、特色1.簡潔緊湊,使用方便靈活C語言一共只有32個關(guān)鍵字、9種控制語句,程序書寫自由,壓縮了一切不必要的成分,語言簡練。2.運算符豐富C語言有34種運算符和15個等級的運算優(yōu)先順序,使表達式類型多樣化,可以實現(xiàn)在其它語言中難以實現(xiàn)的運算。3.數(shù)據(jù)類型豐富C語言的數(shù)據(jù)類型有整型、實型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、聯(lián)合體類型及枚舉類型等,能用來實現(xiàn)各種復雜的數(shù)據(jù)結(jié)構(gòu)的運算。4.模塊化結(jié)構(gòu)C語言用函數(shù)作為程序的模塊單位,便于實現(xiàn)程序的模塊化,而且便于模塊間相互調(diào)用及傳遞數(shù)據(jù)。5.語法限制少和程序設(shè)計自由度大C語言允許程序編寫者有較大的自由度,放寬了以往高級語言嚴格的語法檢查,較好地處理了“限制”與“靈活”這一對矛盾。6.比較接近硬件C語言允許直接訪問物理地址,能進行位操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。7.生成目標代碼質(zhì)量高、程序執(zhí)行效率高一般只比匯編程序生成的目標代碼效率低10%―20%。8.可移植性好基本上不做修改就能用于各種型號的計算機和各種操作系統(tǒng)。1.2C程序結(jié)構(gòu)下面列出幾個簡單的C程序來說明C程序的結(jié)構(gòu)特征。例1.1輸出一行信息。(){("C!\n");}該程序的作用是輸出一行信息:C表示“主函數(shù)”;函數(shù)體用大括號{}括起來。本例題中主函數(shù)僅包含一個語句,該語句由()輸出函數(shù)構(gòu)成。括號內(nèi)雙引號中的字符串按原樣輸出;′\n′是換行符,即在輸出"C!"后回車換行;語句后面有一個分號,表示該語句結(jié)束,這個分號必不可少。例1.2計算兩個數(shù)之和。()/*求兩個數(shù)之和*/{a;/*定義3個整型變量*/123;/*以下3行為C語句*/321;;("\n");}該程序的作用是求兩個整數(shù)a和b之和,并在屏幕上輸出。程序中,/*……*/表示注釋部分,對編譯和運行不起作用。第3行是變量說明,使用的a、b和為整型()變量。第4行是兩個賦值語句,使a的值為123,b為321。第5行使的值為,第6行的是輸入輸出的“格式說明”,表示“十進制整數(shù)類型”,函數(shù)中括號內(nèi)最右端的是要輸出的變量,當然它的值為444。例1.3比較兩個數(shù)的大小。()/*主函數(shù),功能輸入兩個整數(shù),判斷后輸出較大的數(shù)*/{a;/*定義3個整型變量*/("");/*輸入變量a和b的值*/();("\n");/*輸出c的值*/}(y)/*定義()函數(shù),函數(shù)值為整型,為形式參數(shù)、整形變量*/{z;/*定義()函數(shù)內(nèi)部用到的變量z為整數(shù)*/(x>y);/*將中較大的值賦給z*/;(z);/*將z值返回。通過()函數(shù)帶回調(diào)用處*/}該程序的作用是從鍵盤輸入兩個整數(shù),然后在屏幕上輸出它們中較大值的數(shù)。程序的第5行是調(diào)用()函數(shù),在調(diào)用過程中將實際參數(shù)a和b的值,分別傳遞給()函數(shù)中的形式參數(shù)x和y,然后得到一個返回值(z的值),并把這個值賦給變量c。運行情況如下:2,8↙8從以上幾個例題,可以看到C程序的結(jié)構(gòu)特征。1.C程序是由函數(shù)構(gòu)成的。一個C程序至少有一個()函數(shù),也可以包含一個()函數(shù)和若干個其它函數(shù)。2.一個函數(shù)有兩部分構(gòu)成。函數(shù)說明部分,即函數(shù)的第一行,包括函數(shù)類型、函數(shù)名、形參類型、形參名。函數(shù)體,由一對大括號{}括起來的語句集合。函數(shù)體一般包括有聲明部分和執(zhí)行部分,聲明部分用于定義所用到的變量,執(zhí)行部分由若干語句組成。3.一個C程序總是從()函數(shù)開始執(zhí)行,而不管()在源程序中的位置,執(zhí)行完主函數(shù)中的所有語句后,程序就結(jié)束。4.每個語句和變量定義的最后必須要有一個分號,分號是C語句的必要組成部分。5.C語言本身沒有提供輸入和輸出語句,輸入輸出操作是通過庫函數(shù)()、()等函數(shù)來實現(xiàn)的。6.C語言用/*……*/對程序進行注釋,/和*之間不允許留有空格,/*和*/應當一一對應匹配,注釋部分允許出現(xiàn)在程序中的任何位置上。程序中加一些注釋,可以增加程序的可讀性。1.3C程序的開發(fā)過程用C語句編寫的程序稱為“源程序”。1.C程序開發(fā)的4個基本步驟一般C程序開發(fā)要經(jīng)歷4個基本步驟:編輯——編譯——連接——運行(1)編輯使用字處理軟件或編輯工具將源程序以文本文件形式保存到磁盤,源程序文件名由用戶自己選定,但擴展名必須為""。(2)編譯編譯的功能就是調(diào)用“編譯程序”,將已編輯好的源程序翻譯成二進制的目標代碼。如果源程序沒有語法錯誤將產(chǎn)生一個與源程序同名,以""為擴展名的目標程序。(3)連接編譯后產(chǎn)生的目標程序往往形成多個模塊,還要和庫函數(shù)進行連接才能運行,連接過程是使用系統(tǒng)提供的“連接程序”運行的。連接后,產(chǎn)生以""為擴展名的可執(zhí)行程序。(4)運行可執(zhí)行程序生成后,就可以在操作系統(tǒng)的支持下運行,若執(zhí)行結(jié)果達到預期的目的,則開發(fā)工作到此完成,否則,要進一步地經(jīng)過以上過程以取得最終的正確結(jié)果。2.使用C開發(fā)程序的方法現(xiàn)在,多數(shù)的C程序開發(fā)使用一個集成C開發(fā)工具來完成。下面簡單介紹使用C開發(fā)程序的方法。(1)C的目錄及文件C應裝入磁盤的某一目錄下,例如,放在c盤的根目錄下一級子目錄下,C安裝完成后,磁盤上將增加以下目錄及文件:子目錄(c:\):其中包括、、等執(zhí)行文件。子目錄(c:\\):其中包括、、等頭文件。子目錄(c:\\):其中包括、、1等庫函數(shù)文件。子目錄(c:\):其中包括運行時所需的信息。通過執(zhí)行命令就可以進入C環(huán)境,如果用戶的當前目錄是C所在的子目錄,則只需從鍵盤輸入“”命令即可。C:\>↙(2)C集成環(huán)境作簡單介紹,它包括以下幾個方面的內(nèi)容:主菜單窗口編輯窗口信息窗口功能鍵提示行3.用C運行第一個C程序下面介紹使用C編輯和運行一個簡單的C程序的操作步驟:(1)編輯或修改源程序。在編輯窗口鍵入一下源程序:(){("C");}然后執(zhí)行“”命令;或按“F2”鍵存盤。(2)編譯與連接源程序。執(zhí)行“”命令或直接按下F9鍵,即可一次完成編譯與連接。(3)運行程序。按“F10”鍵返回主菜單,用光標移動鍵將亮條移到“”菜單選項回車或按下“9”鍵,即可運行剛生成的可執(zhí)行文件。此時C工作窗口消失,屏幕上顯示程序運行結(jié)果:C若發(fā)現(xiàn)運行結(jié)果不對,可再按“F10”鍵回工作窗口,重復上述步驟。(4)運行程序后查看程序的運行結(jié)果。(5)退出C,按“”鍵,系統(tǒng)即退出環(huán)境。本章小結(jié)本章對C語言進行了總體介紹,對學生的要求是掌握基本概念,學習的過程要緊密結(jié)合本章的知識要點:1.程序的構(gòu)成,()函數(shù)和其他函數(shù)。2.頭文件、數(shù)據(jù)說明、函數(shù)的開始和結(jié)束標志。3.源程序的書寫格式。4.C語言的風格。授課日期:第3周周三1—2第4周周一5—8周三1—2第5周周一5—8周三1—2授課類型:演示、講解、練習、輔導課時:14教學內(nèi)容:1、常量和變量2、整型數(shù)據(jù)3、實型數(shù)據(jù)4、字符型數(shù)據(jù)5、變量的初始化6、運算符和表達式教學目標:1、掌握常量與變量的書寫和定義2、掌握三種基本數(shù)據(jù)類型3、掌握運算符和表達式的使用4、掌握順序結(jié)構(gòu)程序設(shè)計的方法教學重點:1、三種基本數(shù)據(jù)類型的定義和使用2、各種運算符的使用教學難點:1、運算符的使用2、使用順序結(jié)構(gòu)編程教學過程:內(nèi)容講授學生實踐作業(yè)布置新課內(nèi)容預告教學手段:多媒體教學軟件+個別輔導作業(yè):1、編程序,用函數(shù)讀入兩個字符給c1、c2,然后分別用函數(shù)和函數(shù)輸出這兩個字符。上機運行此程序,比較和函數(shù)輸出字符的特點。2、試編寫程序,從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。第2章順序結(jié)構(gòu)程序設(shè)計順序結(jié)構(gòu)是一組按書寫順序執(zhí)行的語句。本章將主要介紹程序中用到的一些基本要素(常量、變量、運算符、表達式和輸入輸出語句等),以及基本的數(shù)據(jù)類型(整型、實型和字符型)。2.1常量和變量一、常量1.常量:在程序運行的過程中,其值不能被改變的量。如2、4、-1.6等。2.分類:普通常量和符號常量。3.符號常量:用一個標識符代表一個常量,這樣的標識符稱為符號常量。如用代表3.1415926。4.注意:符號常量的值在其作用域內(nèi)不能改變,也不能再被賦值。如在程序中,對重新賦值:=2;這樣是不允許的。二、變量1.變量C語言規(guī)定在程序運行的過程中,其值可以改變的量,稱為變量。2.標識符:用來標識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名和文件名的有效字符序列。3.C語言規(guī)定:標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。一般變量名的長度不能超過8個字符。如下面是合法的標識符,也是合法的變量名:,,,,,,1_2_3,;下面是不合法的標識符和變量名:,$123,#33,3D64,a>,。在C語言中,要求對所有用到的變量作強制定義,也就是″先定義,后使用″。2.2整型數(shù)據(jù)一、整型常量C語言整型常數(shù)可用以下三種形式表示:1.十進制整數(shù):數(shù)碼直接開頭的十進制數(shù)。2.八進制整數(shù):以0開頭的常量是八進制數(shù)。3.十六進制整數(shù):以0x開頭的數(shù)是16進制數(shù)。二、整型變量1.整型變量的分類整型變量可分為:基本型、短整型、長整型和無符號型四種,其定義的關(guān)鍵字如下:(1)基本型,以表示。范圍為-32768~32767,即-215~(215-1)。(2)短整型,以或表示。范圍與基本型相同。(3)長整型,以或表示。若一個整型常量后面加上一個字母l或L,則認為是型常量。范圍為-2147483648~214783647即-231~(231-1)(4)無符號型,在實際應用中變量的值常常是正的,如年齡、工資、成績等,因此可以將變量定義為″無符號″類型。無符號型又分為:①無符號整型,以或表示。范圍:0~65535,即0~(216-1)。②無符號短整型,以表示。范圍:0~65535即0~(216-1)。③無符號長整型,以表示。范圍:0~4294967295即0~(232-1)。2.整型變量的定義變量的定義格式為:數(shù)據(jù)類型變量表列;其中若定義多個同類型的變量,則用逗號分開。例:;(指定變量為整型);(指定變量為無符號短整型);(指定變量為長整型)3.整型數(shù)據(jù)的輸入整型變量鍵盤輸入,是通過函數(shù)實現(xiàn)的,函數(shù)是數(shù)據(jù)輸入函數(shù),格式為:(格式控制,地址表列);例如:(″%d%d″);(1)格式控制是用雙引號括起來的字符串,由″%″和格式字符組成,作用是將輸入數(shù)據(jù)轉(zhuǎn)換為指定的格式輸入。(2)格式字符,對于不同的數(shù)據(jù)用不同的格式字符。d格式符是用來輸入十進制整數(shù)的。因為本節(jié)問題中變量a,b是整型變量,所以輸入時,用了d格式符。(3)中的″&″是″地址運算符″,是指a在內(nèi)存中的地址。上面函數(shù)的作用是:將a、b的值放到a,b在內(nèi)存的地址單元中去。所以,在該問題中,若輸入:35↙則輸出結(jié)果為a+b=84.整型數(shù)據(jù)的輸出整型數(shù)據(jù)的輸出用函數(shù)來實現(xiàn)。如(″a+b=%d″,c);函數(shù)的格式為:(格式控制,輸出表列);(1)格式控制和輸入函數(shù)的格式控制基本一致。(2)輸出表列是需要輸出的數(shù)據(jù)或表達式。(3)在輸出整型數(shù)據(jù)時,格式字符如下:①%d,按整型數(shù)據(jù)的實際長度輸出。②%,m為輸出字段的寬度,如果輸出數(shù)據(jù)的位數(shù)小于m則左端補以空格,若大于m,則按實際位數(shù)輸出。例如:(″%44d″);若a=123,d=12345,則輸出結(jié)果為:V123,12345(注:V表示空格字符,下同)③,輸出長整型數(shù)據(jù)。如:a=135790;(″%8″);輸出結(jié)果為:135790一個型數(shù)據(jù)可以用或格式輸出。④,輸出型數(shù)據(jù),即無符號類型,如u;則u在輸出的時候,應該用u格式控制符,則輸出時應使用語句:(″″);例2.1從鍵盤輸入任意一個整數(shù),輸出這個數(shù)的平方的值。(){a;s;(″″);s=a*a;(″s=%\n″);}2.3實型數(shù)據(jù)一、實型常量實數(shù)在C語言中,又稱浮點數(shù)。實數(shù)有兩種表示形式:1.十進制數(shù)形式。由數(shù)字和小數(shù)點組成(注意必須有小數(shù)點)。2.指數(shù)形式。但注意字母e(或E)之前必須有數(shù)字,且e后面指數(shù)必須為整數(shù),如e3、2.1e3.5、3、e都不是合法的指數(shù)形式。二、實型變量在本節(jié)問題中,已知兩個數(shù)是實數(shù),則兩數(shù)之和與積也必定為實數(shù),所以需要設(shè)四個實型變量,分別為。定義語句為:;C實型變量分為:1.單精度型(型)一個型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位),在C中,單精度實數(shù)的范圍約為-1038~1038之間并提供7位有效位;小于10-38的數(shù)被處理成零值。2.雙精度型(型)一個型數(shù)據(jù)在內(nèi)存中占8個字節(jié),雙精度實數(shù)的數(shù)值范圍約為-10308~10308。并提供15~16位有效位,具體精確多少位與機器有關(guān);小于10-308的數(shù)被處理成零值。三、實型數(shù)據(jù)的輸入和輸出1.實型數(shù)據(jù)的輸入實型數(shù)據(jù)的輸入也用函數(shù)實現(xiàn)的,格式符使用的是f字符,以小數(shù)的形式輸入數(shù)據(jù),也可以使用e字符,以指數(shù)的形式輸入數(shù)據(jù)。如本節(jié)問題中的(″″);2.實型數(shù)據(jù)的輸出實型數(shù)據(jù)的輸出用函數(shù)實現(xiàn),格式符使用f字符,以小數(shù)的形式輸出數(shù)據(jù)。輸出時應注意:(1):不指定字段寬度,整數(shù)部分會全部輸出,并輸出6位小數(shù)。(2):指定輸出數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,則左端補空格。(3)%-:指定輸出數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,則右端補空格。(4)若是雙精度型變量輸出時應用格式控制,如f;輸出時應使用語句:(″″);2.4字符型數(shù)據(jù)一、字符常量1.字符常量C語言的字符常量是用一對單引號括起來的單個字符。如:′a′、′b′、′x′、′D′、′′、′$′等都是字符常量。2.轉(zhuǎn)義字符除了這樣的字符常量外,C語言還允許用一種特殊形式的字符常量,就是以一個′\′開頭的字符序列.例如,前面已經(jīng)用到,在函數(shù)中的′\n′,它表示一個″換行″符。例2.2字符常量的輸出。(){(″c\n\″);}運行結(jié)果:c二、字符變量在本節(jié)問題中,設(shè)了兩個字符型變量c1和c2。定義形式如下:c12;它表示c1和c2為字符型變量,各可以放一個字符。可以用下面語句對c12賦值:c1=′a′;;c2=′b′;因此在內(nèi)存中一個字符變量只占一個字節(jié)。三、字符數(shù)據(jù)的存儲形式字符在內(nèi)存中存儲的不是字符本身,而是它的碼,例如字符′a′的碼為97,′b′的碼為98。則字符的存儲形式與整數(shù)的存儲形式是類似的。C語言使字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的。例2.3(){a12;a1=97;a2=98;(″\n″12);(″\n″12);}程序運行時輸出如下:ab9798字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的,但應該注意字符數(shù)據(jù)只占一個字節(jié),它只能存放0~255范圍內(nèi)的整數(shù)。例2.4大小寫字母的轉(zhuǎn)換(){a12;a1=′a′;a2=′b′;a1=a1-32;a2=a2-32;(″\n″12);}運行結(jié)果為:AB程序的作用是將兩個小寫字母a和b轉(zhuǎn)換成大寫字母A和B。′a′的碼為97,而′A′為65,′b′為98,′B′為66。從碼表中可以看到每一個小寫字母比它相應的大寫字母的碼大32。四、字符型數(shù)據(jù)的輸入和輸出1.函數(shù)和函數(shù)例2.5″″(){c;c=();(c);}在運行時,如果從鍵盤輸入字符′a′a↙(輸入′a′后,按回車鍵)a(輸出變量c的值′a′)注意:()只能接收一個字符。()也只能向終端輸出一個字符。在使用函數(shù)和函數(shù)時,程序的首部需使用預編譯命令″″″。2.函數(shù)和函數(shù)例2.6(){c12;(″″12);(″″12);}若輸入為↙則輸出為在使用函數(shù)和函數(shù)輸入輸出字符型數(shù)據(jù)時,使用″″格式控制,用來輸入輸出單個字符。注意,在用″″格式輸入字符時,空格將以有效字符輸入:(″″123);若輸入↙則將字符′a′送給c1,字符空格′V′送給c2,因為空格也是一個有效字符,字符′b′送給c3。只需要讀入一個字符,用了空格做間隔,所以會出現(xiàn)這樣的問題。五、字符串常量字符串常量是用雙引號括住的字符序列。如:″″,″″,″a″等都是字符串常量??梢暂敵鲆粋€字符串,如(″.″);注意:不要將字符常量與字符串常量混淆?!鋋′是字符常量,″a″是字符串常量,二者不同。C規(guī)定:在每個字符串的結(jié)尾加一個“字符串結(jié)束標志”以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。以′\0′作為字符串結(jié)束標志?!鋅0′是碼為0的字符,從碼表中可以看到碼為0的字符是“空操作字符”不引起任何操作。2.5變量的初始化變量的初始化,就是在定義變量的同時給變量賦予初值??梢圆捎谜f明變量的類型,然后再賦值的方法,也可以對變量類型說明的同時,給變量賦初值。1.先定義后賦值;a=2;b=5;c=10;2.定義和賦值同時進行a=5;b=10;c=′a′;d=7.8;3.對幾個變量同時賦一個初值a1=10,a2=10,a3=10;不可以寫成:a1=a2=a3=10;但是也可以寫成:a1,a2,a3;a1=a2=a3=10;初始化不是在編譯階段完成的,而是在程序運行時執(zhí)行本函數(shù)時賦以初值的。相當于一個賦值語句。例如:a=10;相當于:a;a=10;又如:=20;相當于:;c=20;2.6運算符和表達式一、算術(shù)運算符和表達式例2.7已知正方形的長和寬,求正方形的周長。[分析]正方形的周長公式為:l=2*(),已知正方形的長和寬可以計算周長。(){;a=3;b=4;l=2*();(″l=\n″);}1.基本的算術(shù)運算符+(加法運算符,或正值運算符)-(減法運算符,或負值運算符)*(乘法運算符)/(除法運算符)%(模運算符,或求余運算符)注意:(1)兩個整數(shù)相除結(jié)果為整數(shù)。但是如果相除的兩個數(shù)中,至少有一個為實數(shù),則結(jié)果為帶小數(shù)的商。(2)%模運算符,要求操作數(shù)均為整型數(shù)據(jù),如7%4的值為3。2.算術(shù)表達式用算術(shù)運算符和括號將操作數(shù)連接起來的,符合C語法規(guī)則的式子,稱C算術(shù)表達式。在表達式求值時,按運算符的優(yōu)先級別高低次序執(zhí)行。例如:10+′a′+1.5-8765.12*′b′在進行運算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進行運算。3.強制類型轉(zhuǎn)換可以用強制類型轉(zhuǎn)換運算符將一個表達式轉(zhuǎn)換成所需類型。例如:()a(將a轉(zhuǎn)換成類型)()()(將的值轉(zhuǎn)換成整型)()(5%3)(將5%3的值轉(zhuǎn)換成型)一般形式為:(類型名)(表達式)注意:(1)類型名應用括號括起來。如()()(2)已知x;對于()x,x仍然是類型,而整個表達式()x為整型。二、賦值運算符和賦值表達式1.賦值符號賦值符號″=″就是賦值運算符,將一個數(shù)據(jù)賦給一個變量。如″a=3″。2.類型轉(zhuǎn)換如果賦值運算符兩側(cè)的類型不一致,要進行類型轉(zhuǎn)換。(1)將實型數(shù)據(jù)賦給整型變量時,舍棄實數(shù)的小數(shù)部分。如i為整型變量,執(zhí)行″i=3.56″的結(jié)果是使i的值為3。(2)將整型數(shù)據(jù)賦給實型變量時,數(shù)值不變,但以浮點數(shù)形式存儲到變量中。3.復合的賦值運算符常用的賦值運算符有以下幾種:+=,-=,*=,/=,%=例如:a+=3等價于a=a+3x*=y(tǒng)+8等價于x=x*(y+8)x%=3等價于x=34.賦值表達式由賦值運算符將一個變量和一個表達式連接起來的式子稱為″賦值表達式″。例如:a=b=c=5(賦值表達式值為5,a、b、c值均為5)a=5+(c=6)(表達式值為11,a值為11,c的值為6)a=(b=4)+(c=6)(表達式值為10,a值為10,b等于4,c等于6)三、逗號運算符和逗號表達式逗號運算符將兩個表達式連接起來。如:3+5,6+8稱為逗號表達式。逗號表達式的格式為:表達式1,表達式2逗號表達式的求解過程是:先求解表達式1,再求解表達式2,整個逗號表達式的值是表達式2的值。例如逗號表達式a=3*5,a*4,先求解a=3*5,得a的值為15,然后求解a*4,得60。整個逗號表達式的值為60。課堂練習綜合實例例1輸入三角形的三條邊長,求三角形面積。(為了簡單起見,設(shè)輸入的三邊長能構(gòu)成三角形)″″(){;(″″);s=1.0/2*();=(s*()*()*());(″a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n″);(″=%7.2f\n″);}運行情況如下:3,4,6a=3.00,b=4.00,c=6.00,s=6.50=5.33例2從鍵盤輸入一個大寫字母,要求改用小寫字母輸出?!濉?){c12;c1=();(″\n″11);c2=c1+32;(″\n″22);}運行情況如下:A↙A,65a,97本章小結(jié)本章在講解順序結(jié)構(gòu)程序設(shè)計方法的同時,介紹了三種數(shù)據(jù)類型。1.整型數(shù)據(jù)。主要了解整型數(shù)據(jù)的定義方法,根據(jù)使用整數(shù)的范圍選用定義整數(shù)變量的類型。掌握整型數(shù)據(jù)的輸入輸出方法,主要使用d格式控制符。2.實型數(shù)據(jù)。主要掌握實型變量的不同定義方法,單精度數(shù)和雙精度數(shù)的表示范圍,實型數(shù)據(jù)的輸入輸出方法,主要使用f格式控制符。3.字符型數(shù)據(jù)。是由一對單引號括起來的單個字符,要注意,字符與字符串的區(qū)別。還講解了各種運算符和表達式,主要掌握算術(shù)運算符,在混合運算中,要按照運算符的優(yōu)先級,結(jié)合方向運算。作業(yè):1.編程序,用函數(shù)讀入兩個字符給c1、c2,然后分別用函數(shù)和函數(shù)輸出這兩個字符。上機運行此程序,比較和函數(shù)輸出字符的特點。2.試編寫程序,從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。授課日期:第7周周一5—8周三1—2第8周周一5—8周三1—2第9周周一5—8周三1—2授課類型:演示、講解、練習、輔導課時:18教學內(nèi)容:1、關(guān)系運算符和關(guān)系表達式2、邏輯運算符和邏輯表達式3、語句4、語句教學目標:1、掌握關(guān)系運算表達式2、掌握邏輯運算表達式3、熟練掌握語句的使用4、掌握語句教學重點:1、關(guān)系運算符和關(guān)系表達式2、邏輯運算符和邏輯表達式3、語句的使用教學難點:1、掌握語句的使用2、語句的嵌套使用教學過程:內(nèi)容講授學生實踐作業(yè)布置新課內(nèi)容預告教學手段:多媒體教學軟件+個別輔導作業(yè):給學生寫評語,若學生成績在60~69分,則打印“及格”,70~89分打印“良好”,90~100分打印“優(yōu)秀”,60分以下打印“不及格”,請分別用語句和語句編程。第3章選擇結(jié)構(gòu)程序設(shè)計選擇結(jié)構(gòu),或稱分支結(jié)構(gòu),是指對所給定的條件進行判斷,然后決定選擇執(zhí)行不同的操作。本章主要介紹如何用C語言實現(xiàn)選擇結(jié)構(gòu)。C語言的選擇語句有兩類,一類是語句,另一類是語句,本章將分別進行介紹。在介紹選擇結(jié)構(gòu)程序設(shè)計的同時,還要介紹關(guān)系運算符和關(guān)系表達式,邏輯運算符和邏輯表達式等內(nèi)容。3.1關(guān)系運算符和關(guān)系表達式一、關(guān)系運算符及其優(yōu)先次序1.關(guān)系運算符C語言提供6種關(guān)系運算符:<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)⑥(不等于)優(yōu)先級相同(高)優(yōu)先級相同(低)2.關(guān)于優(yōu)先次序:(1)前4種關(guān)系運算符(′<′,′<=′,′>′,′>=′)的優(yōu)先級別相同,后兩種也相同。前4種高于后2種。例如,′>′優(yōu)先于′==′。而′>′與′<′優(yōu)先級相同。(2)關(guān)系運算符與算術(shù)運算符、賦值運算符的優(yōu)先級關(guān)系如下:算術(shù)運算符(高)→關(guān)系運算符(中)→賦值運算符(低)例如:a>等效于a>()<c等效于=(b<c)>等效于(b>)(3)關(guān)系運算符的結(jié)合方向是“自左向右”。注意:“等于”關(guān)系的運算符“==”和“不等于”關(guān)系的運算符“”與數(shù)學中的表示方法不同。例如,欲判斷x是否等于0,若寫成:0則表示把0賦值給變量x,正確的寫法為:=0。二、關(guān)系表達式1.關(guān)系表達式用關(guān)系運算符將兩個表達式(算術(shù)表達式、關(guān)系表達式、邏輯表達式、賦值表達式、字符表達式等)連接起來的式子,稱關(guān)系表達式。例:x>y,<18,′a′<′b′都為合法的關(guān)系表達式。2.關(guān)系表達式的值關(guān)系表達式的值是一個邏輯值,即“真”或“假”。在C語言中:常用1表示“真”,用0表示“假”。例如,5,2,則:關(guān)系表達式a>b的值為“真”,表達式的值為1。關(guān)系表達式的值為“假”,表達式的值為0。可以將關(guān)系表達式的運算結(jié)果(0或1)賦給一個整型變量或字符型變量,如41,下面的賦值語句是將1賦給變量c:>bc的值為1例3.1試求5>3>1的值。[分析]5>3>1相當于(5>3)>1=1>1=0[說明]根據(jù)關(guān)系運算符的優(yōu)先級別高于賦值運算符。3.2邏輯運算符和邏輯表達式一、邏輯運算符及其優(yōu)先次序1.邏輯運算符C語言提供了3種邏輯運算符:①!邏輯非②邏輯與③║邏輯或其中“”和“║”為“雙目(元)運算符”,要求有兩個操作數(shù)(即運算量),如(a<b)(x<),(a<b)║(x<)?!?!”是“一目(元)運算符”,只需一個操作數(shù),如或!(a<b)。2.關(guān)于邏輯運算符的優(yōu)先次序:(1)邏輯運算符的優(yōu)先次序如下:?。ǚ牵ㄅc)→║(或),即“!”為三者中最高的。(2)邏輯運算符中的“”和“║”低于關(guān)系運算符,“!”高于算術(shù)運算符。例如:(a>)(x>y)可寫成:a>>y()║()可寫成:║(3)邏輯運算的結(jié)合方向是“自左向右”。二、邏輯表達式1.邏輯表達式用邏輯運算符將關(guān)系表達式或邏輯量連接起來的式子就是邏輯表達式。例如:*c,()║(c<0)均為邏輯表達式。2.邏輯表達式的值C語言編譯系統(tǒng)在給出邏輯運算時,以數(shù)值1代表“真”,以0代表“假”,但在判斷一個量是否為“真”時,以非0代表“真”,即將一個非0的數(shù)值認為是“真”,以0代表“假”。注意:(1)參與邏輯運算的量不但可以是0和1,或者是0和非0的整數(shù),也可以是任何類型的數(shù)據(jù),如字符型、實型或指針型。(2)如果在一個表達式中不同位置上出現(xiàn)數(shù)值,應區(qū)分哪些是作為數(shù)值運算或關(guān)系運算的對象,哪些作為邏輯運算的對象。(3)在邏輯表達式的求解中,并不是所有邏輯運算符都需要執(zhí)行,有時只需執(zhí)行一部分運算符就可以得到邏輯表達式的最后結(jié)果。例如:①只有x為真時,才需要判斷y的值。只要x為假,就立即得出整個表達式為假。②x║y║z只要x為真(非0),就不必判斷y和x;當x為假,才判斷y;x和y都為假才判斷z。3.3語句語句是選擇結(jié)構(gòu)的一種形式,又稱為條件分支語句。它是通過對給定條件的判斷,來決定所要執(zhí)行的操作。C語言中提供了3種形式的語句:語句、語句和語句。一、問題的提出[問題]比較兩個數(shù)的大小,將兩個數(shù)中較大者賦給m。[分析]要比較兩個數(shù)的大小就要用到關(guān)系表達式,定義兩個變量a,b,如果a>b則將a的值賦給m,若a<b則將b的值賦給m,這里我們將用到語句來實現(xiàn)該項功能。(){;5;10;(a>b);;("\n");}程序運行結(jié)果:10[說明]在該問題中我們借用了語句,通過條件來判斷應該執(zhí)行哪條語句,充分體現(xiàn)出選擇結(jié)構(gòu)程序設(shè)計的思想。二、語句的三種形式1.語句語句是條件分支語句最基本的形式。格式:(表達式)語句功能:首先計算表達式的值,若表達式的值為“真”(非0),則執(zhí)行語句,若表達式的值為“假”(0),不執(zhí)行語句。其流程圖3.1(a)所示。例如:(x>y)("");2.語句語句是條件分支語句的標準使用形式。格式:(表達式)語句1語句2功能:首先計算表達式的值,若表達式的值為“真”(非0),則執(zhí)行語句1,若表達式的值為“假”(0),則執(zhí)行語句2。例如:(x>y)("");("");3.語句前面兩種語句一般都用于兩個分支的選擇結(jié)構(gòu)。對于多個分支選擇時,可采用語句。格式:(表達式1)語句1(表達式2)語句2(表達式3)語句3┇(表達式1)語句1語句n功能:首先計算表達式1的值,若為“真”(非0),執(zhí)行語句1,否則進行下一步判斷;若表達式2為真,執(zhí)行語句2,否則進行下一步判斷……最后所有表達式都為假時,執(zhí)行語句n。例如:(>89)′A′;(>79)′B′;(>69)′C′;(>59)′D′;′E′;關(guān)于語句的說明:(1)后面圓括號中的表達式一般是關(guān)系表達式或邏輯表達式,用于描述選擇結(jié)構(gòu)的條件,但也可以是任意的數(shù)值類型表達式(包括整型、實型、字符型、指針型數(shù)據(jù)表達式)。例如:(2)("!");是合法的,因為表達式的值為2,非0,按“真”處理,執(zhí)行結(jié)果輸出“!”(2)第二種、第三種格式的語句中,在每個前面有一個分號,整個語句結(jié)束處也有一個分號。這是由于分號是C語句中不可缺少的部分,這個分號是語句中的內(nèi)嵌語句所需要的。(3)在和后面可以只含有一個內(nèi)嵌的操作語句,也可以含有多個操作語句,此時應用大括號“{}”將幾個語句括起來,構(gòu)成一個復合語句,注意:復合語句的“{”和“}”之后不能加分號。例3.2輸入兩個實數(shù),按代數(shù)值由小到大輸出這兩個數(shù)。(){;("");(a>b){;;;}("5.2f5.2f");}程序運行結(jié)果:2.25.7↙-5.70,2.20二、語句的嵌套在語句中有包含一個或多個語句稱為語句的嵌套。要處理多重分支選擇結(jié)構(gòu)問題,除了用語句外,還可以利用語句的嵌套來實現(xiàn)。說明:(1)和的配對規(guī)則為:總是與它上面的最近的未配對的配對。(2)與的個數(shù)最好相同,從內(nèi)層到外層一一對應,以避免出錯。(3)在嵌套內(nèi)的語句既可以是語句形式,也可以是語句形式,但最好使內(nèi)嵌語句也包含部分。如果與的個數(shù)不同,可以用花括號來確定配對關(guān)系。例如:(){()語句1}語句2這時“{}”限定了內(nèi)嵌語句的使用范圍,因此與第一個配對。例3.3有一函數(shù):-1(x<0)0(0)1(x>0)編一程序,輸入一個x值,輸出y值。(){;("");(x<0)1;(=0)0;1;("\n");}三、條件運算符條件運算符由兩個符號“?”和“:”組成,要求有3個操作對象,稱三目(元)運算符,它是C語言中唯一的三目運算符。條件表達式的格式為:表達式1?表達式2:表達式3(a<b);說明:(1)通常情況下,表達式1是關(guān)系表達式或邏輯表達式,用于描述條件表達式中的條件,表達式2和表達式3可以是常量、變量或表達式。例如:()′T′:′F′(a>b)("")("")等均為合法的條件表達式。(2)條件表達式的執(zhí)行順序:先求解表達式1,若為非0(真)則求解表達式2,此時表達式2的值就作為整個條件表達式的值。若表達式1的值為0(假),則求解表達式3,表達式3的值就是整個條件表達式的值。(a<b);執(zhí)行結(jié)果就是將a和b二者中較小的賦給。(3)條件表達式的優(yōu)先級別僅高于賦值運算符,而低于前面介紹過的所有運算符。因此,(a<b);可直接寫成:<;如果有a>1等效于a>:(1),而不等效于(a>)+1(4)條件運算符的結(jié)合方向為“自右至左”。例如:x>01<01:0等效于x>01:(x<01:0)(5)表達式1、表達式2和表達式3的類型可以不同,此時條件表達式的值的類型為它們中較高的類型。例3.4輸入一個字符,判別它是否大寫字母,如果是,將它轉(zhuǎn)換成小寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符。(){;("a:\n");("");(>=′A′<=′Z′)(32);("");}程序運行結(jié)果:a:A↙a[說明]條件表達式中的(32),其中32是小寫字母和大寫字母Ⅱ碼的差值。3.4語句一、問題的提出要求按照考試成績的等級()輸出百分制分數(shù)段:鍵入′A′,輸出85~100;鍵入′B′,輸出70~84;鍵入′C′,輸出60~69;鍵入′D′,輸出<60;鍵入其他任意字符,輸出。(){;("");(){′A′:("85~100\n");′B′:("70~84\n");′C′:("60~69\n");′D′:("<60\n");:("\n");}}二、語句格式為:(表達式){常量表達式1:語句1常量表達式2:語句2┇常量表達式n:語句n:語句1}其中和語句1可以同時省略。說明:(1)的表達式通常是一個整型或字符型變量,也允許是枚舉型變量,其結(jié)果為相應的整數(shù)、字符或枚舉常量。后的常量表達式必須是與表達式對應一致的整數(shù)、字符或枚舉常量。(2)語句中所有后面的常量表達式的值都必須互不相同。(3)語句中的和的出現(xiàn)次序是任意的。(4)由于語句中的“常量表達式”只是起語句標號的作用,而不起條件判斷作用,即“只是開始執(zhí)行處的入口標號”??梢杂靡粋€語句來終止。將上面的結(jié)構(gòu)改寫如下:(){′A′:("85~100\n");;′B′:("70~84\n");;′C′:("60~69\n");;′D′:("<60\n");;:("\n");}最后一個分支()可以不加語句。如果的值為′B′,則只輸出"70~84"。(5)每個的后面既可以是一個語句,也可以是多個語句,當是多個語句的時候,也不需要用花括號括起來。(6)多個的后面可以共用一組執(zhí)行語句,如:(n){1:2:10;;┇}它表示當1或2時,都執(zhí)行下面兩個語句:10;;本章小結(jié)本章介紹了結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)之一選擇結(jié)構(gòu),另外還介紹了邏輯運算等內(nèi)容,現(xiàn)將本章中的知識要點作一概括性小結(jié)。1.關(guān)系運算。包括關(guān)系運算符及其優(yōu)先性、關(guān)系表達式及其求值方法。2.邏輯運算。包括邏輯運算符及其優(yōu)先性、邏輯表達式及其求值方法。3.用語句實現(xiàn)選擇結(jié)構(gòu)。包括的三種形式及其執(zhí)行流程、語句的嵌套。4.用語句實現(xiàn)多分支選擇結(jié)構(gòu)。5.條件運算符的使用。作業(yè):給學生寫評語,若學生成績在60~69分,則打印“及格”,70~89分打印“良好”,90~100分打印“優(yōu)秀”,60分以下打印“不及格”,請分別用語句和語句編程。授課日期:第10周周一5—8周三1—2第11周周一5—8周三1—2第12周周一5—8周三1—2第13周周一5—8周三1—2授課類型:演示、講解、練習、輔導課時:24教學內(nèi)容:1、三種循環(huán)語句2、循環(huán)的嵌套3、語句和語句4、幾種循環(huán)的比較教學目標:1、熟練掌握三種循環(huán)語句的使用2、學會使用循環(huán)的嵌套結(jié)構(gòu)3、使用語句和語句4、了解幾種循環(huán)的異同教學重點:1、三種循環(huán)語句的使用2、三種循環(huán)的比較教學難點:1、循環(huán)的嵌套使用2、使用循環(huán)結(jié)構(gòu)設(shè)計程序教學過程:內(nèi)容講授學生實踐作業(yè)布置新課內(nèi)容預告教學手段:多媒體教學軟件+個別輔導作業(yè):1、輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。2、有1020個西瓜,第一天賣一半多兩個,以后每天賣剩下的一半多兩個,問幾天以后能賣完?3、找出1~1000之間的所有水仙花數(shù)。所謂水仙花數(shù)是指一個3位數(shù)的立方和恰好等于該數(shù)本身。例如:153就是一個水仙花數(shù),因為153=1*1*1+3*3*3+5*5*5。4、按下面的近似公式計算:1+1/11/21/3……+1……,使誤差小于一個給定的值。第4章循環(huán)結(jié)構(gòu)程序設(shè)計循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)之一,它與順序結(jié)構(gòu)、選擇結(jié)構(gòu)共同作為各種復雜程序的基本構(gòu)造單元。C語言提供了3種循環(huán)語句:語句、語句和語句,本章將分別進行介紹。除此之外,還將介紹語句、語句的使用。4.1三種循環(huán)語句一、語句語句用來實現(xiàn)“當型”循環(huán)結(jié)構(gòu)。格式為:(表達式){語句}功能:當表達式的值為非0時,執(zhí)行語句中的循環(huán)語句。說明:(1)循環(huán)體如果包含一個以上的語句,應該用大括號括起來,以復合語句的形式出現(xiàn),否則語句范圍只到后面第一個分號處。(2)在循環(huán)中應有使循環(huán)趨向于結(jié)束的語句,即設(shè)置修改條件的語句。例如:1;如果無此語句,則i的值一直不變,循環(huán)永不結(jié)束,這就稱為“死循環(huán)”。(3)語句的特點是先判斷表達式的值,然后執(zhí)行循環(huán)體中的語句,如果表達式的值一開始為假(即值為0),則退出循環(huán),并轉(zhuǎn)入下一個語句執(zhí)行。例4.1求2+4+8+……+50的值。(){20;(i<=50){;2;}("");}程序運行結(jié)果:2+4+8+…+50=650二、語句循環(huán)語句,用來實現(xiàn)“直到型”循環(huán)結(jié)構(gòu)。格式:{語句}(表達式);功能:先執(zhí)行一次指定的循環(huán)體語句,然后判斷表達式的值,當表達式的值為非0時,返回重新執(zhí)行該語句,如此反復,直到表達式的值等于0為止,此時循環(huán)結(jié)束。說明:(1)語句的特點是:先執(zhí)行語句,后判斷表達式的值。(2)如果語句的循環(huán)體部分是多個語句組成,則必須用左右大括號括起來,使其形成復合語句。(3)圓括號后面有一個分號“;”,書寫時不要忘記。例4.2用循環(huán)結(jié)構(gòu)來計算1+3+5+…+99的值。(){10;{;2;}(i<=100);("1+3+5+…+99\n");}程序運行結(jié)果:2+3+5+…+99=2500例4.3求(1)+(2)+…+10(i<=10)的值,其中i由鍵盤輸入。(2)用語句編程(){0;("");{;1;}(i<=10);("");}[程序](1)用語句編程(){0;("");(i<=10){;1;}("");}程序運行情況如下:1↙55再運行一次結(jié)果為:11↙11程序運行情況如下:1↙55再運行一次結(jié)果為:11↙0顯然,當輸入i的值小于或等于10,兩個程序運行結(jié)果相同;當i大于10時,程序(1)一次也不執(zhí)行循環(huán)語句,程序(2)仍然執(zhí)行一次循環(huán)語句。語句和語句的區(qū)別:當后面的表達式第一次的值為“真”時,兩種循環(huán)得到的結(jié)果相同。否則,二者不相同(指二者具有相同的循環(huán)體的情況)。三、語句1.語句格式:(表達式1;表達式2;表達式3){語句}執(zhí)行過程:①先計算表達式1的值。②再計算表達式2的值,若其值為真,則執(zhí)行循環(huán)體一次;否則跳轉(zhuǎn)第⑤步。③然后計算表達式3的值。④回轉(zhuǎn)上面第②步。⑤結(jié)束循環(huán),執(zhí)行語句下面一個語句。說明:(1)表達式1一般為賦值表達式,用于進入循環(huán)之前給循環(huán)變量賦初值。(2)表達式2一般為關(guān)系表達式或邏輯表達式,用于執(zhí)行循環(huán)的條件判定,它與、循環(huán)中的表達式作用完全相同。(3)表達式3一般為賦值表達式或自增(1可表示成)、自減(1可表示成)表達式,用于修改循環(huán)變量的值。(4)如果循環(huán)體部分是多個語句組成的,則必須用大括號括起來,使其成為一個復合語句。例4.4用循環(huán)結(jié)構(gòu)來計算1+2+3+…+10的值。[程序](){0;(1;i<=10;)1;("1+2+3+…+10\n");}程序運行結(jié)果:1+2+3+…+10=55可以看出,此例的結(jié)果與用語句完全相同的。顯然,用語句簡單、方便。對于以上語句的一般形式也可以改寫為循環(huán)語句的形式:表達式1;(表達式2){循環(huán)語句;表達式3;}例如,以下語句程序段:(1;i<=5;){*i;("\n");}完全等價于下面的語句程序段:1;(i<=5){*i;("\n");;}2.語句表達式的進一步說明(1)語句的一般形式中的“表達式1”可以省略。但要注意省略表達式1時,其后的分號不能省略。此時,應在語句之前給循環(huán)變量賦初值。例如:1;(;i<=100;);相當于:(1;i<=100;);;(2)如果省略表達式2,即表示表達式2的值始終為真,循環(huán)將無終止地進行下去。例如:(1;;)("");相當于:1;(1){("");;}該循環(huán)無終止條件,將無限循環(huán)輸出1、2、3、4、5……。(3)如果省略表達式3,也將產(chǎn)生一個無窮循環(huán)。因此,程序設(shè)計者應另外設(shè)法保證循環(huán)能正常結(jié)束,可以將循環(huán)變量的修改部分(即表達式3)放在循環(huán)語句中控制。例如:(1;i<=100;){;;}上述語句中沒有表達式3,而是將表達式3(即)放在循環(huán)語句中,作用相同,都能使循環(huán)正常結(jié)束。(4)可以同時省略表達式1和表達式3,即省略了循環(huán)的初值和循環(huán)變量的修改部分,此時完全等價于語句。例如:(i<=10){("");;}相當于:(;i<=10;){("");;}(5)3個表達式都可省略,如:(;;)相當于:(1)即不設(shè)初值,不判斷條件(認為表達式2為真值),循環(huán)變量不增值。無終止地執(zhí)行循環(huán)體。(6)在語句中,表達式1和表達式3也可以使用逗號表達式,即包含一個以上的簡單表達式,中間用逗號間隔。在逗號表達式內(nèi)按從左至右求解,整個表達式的值為其中最右邊的表達式的值。例如:(1;i<=100;,;)相當于:(1;i<=100;);(7)在語句中,表達式一般為關(guān)系表達式(如i<=10)或邏輯表達式(如x>0‖y<-4),但也可以是其他表達式(如字符表達式、數(shù)值表達式)。(8)語句的循環(huán)語句可以是空語句??照Z句用來實現(xiàn)延時,即在程序執(zhí)行中等待一定的時間。需要注意的是,延時程序會因為計算機速度的不同而使執(zhí)行的時間不同。如下面語句為延時程序的例子:(1;i<=1000;);注意以上語句最后的逗號不能省略,它代表一個空語句。4.2循環(huán)的嵌套一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。三種循環(huán):循環(huán)、循環(huán)和循環(huán)可以互相嵌套。例如下面幾種形式都是合法的。(;;){……(;;){……}}{……{……}();}();(){……(){……}}(){……{……}();}(;;){……(){……}}{……(;;){}……}();例4.5利用雙重循環(huán)結(jié)構(gòu)打印出9*9乘法表。(){i,j;(1;i<10;){(1;j<10;)("",i*j);("\n");}}4.3語句和語句一、語句格式:;功能:該語句可以使程序運行時中途跳出循環(huán)體,即強制結(jié)束循環(huán),接著執(zhí)行循環(huán)下面的語句。例4.6求圓的面積。[分析]計算1到10的圓面積,直到s>100為止,當s>100時,執(zhí)行語句,提前終止循環(huán),即不再繼續(xù)執(zhí)行其余的幾次循環(huán)。3.1415926(){r;s;(1;r<=10;){*r*r;(s>100);}("");}[說明](1)語句不能用于循環(huán)語句和語句之外的任何語句。(2)在多重循環(huán)的情況下,語句只能跳出一層循環(huán),即從當前循環(huán)中跳出。二、語句格式:;功能:結(jié)束本次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,接著進行下一次是否執(zhí)行循環(huán)的判定。語句和語句的區(qū)別是:語句只是結(jié)束本次循環(huán),而不終止整個循環(huán)的執(zhí)行;而語句則是強制終止整個循環(huán)過程。例4.7打印出數(shù)字0~10,但跳過(即不輸出)數(shù)字7。(){i;(0;i<=10;){(=7);("%5d");}}程序運行結(jié)果為:01234568910[說明](1)當i等于7時執(zhí)行語句,它的作用是終止本次循環(huán),即跳過語句,故不輸出7。(2)如果程序中不用語句,循環(huán)體也可以改用一個語句處理:(7)("%5d");(3)如果在本例中將第7行“;”語句,改為“;”語句,則輸出結(jié)果為:0123456可以清楚地看出語句是終止整個循環(huán)過程,它與語句作用是截然不同的。4.4幾種循環(huán)的比較1.三種循環(huán)都可以用來出來處理同一問題,一般情況下它們可以互相代替。2.和循環(huán),只在后面指定循環(huán)條件,在循環(huán)體中應包含使循環(huán)趨于結(jié)束的語句(如,或1等)。循環(huán)可以在表達式3中包含使循環(huán)趨于結(jié)束的操作,甚至可以將循環(huán)體中的操作全部放到表達式3中。因此語句的功能更強,凡用循環(huán)能完成,用循環(huán)都能實現(xiàn)。3.對于循環(huán)變量賦初值,語句和語句一般是在進入循環(huán)結(jié)構(gòu)之前完成,而語句一般是在循環(huán)語句表達式1中現(xiàn)實變量的賦值。4.語句和語句都是先測試循環(huán)控制表達式,后執(zhí)行循環(huán)語句,語句則是先執(zhí)行循環(huán)語句,后測試循環(huán)控制表達式。5.循環(huán)、循環(huán)和循環(huán),可以用語句跳出循環(huán),用語句結(jié)束本次循環(huán)。本章小結(jié)本章重點介紹了結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)之一——循環(huán)結(jié)構(gòu),主要介紹了以下幾個方面:1.循環(huán)結(jié)構(gòu)的構(gòu)成形式、運行流程與使用過程中的注意事項。2.循環(huán)結(jié)構(gòu)的構(gòu)成形式、運行流程與使用過程中的注意事項。3.循環(huán)結(jié)構(gòu)的構(gòu)成形式、運行流程與使用過程中的注意事項。4.3種循環(huán)結(jié)構(gòu)的比較,以及在結(jié)構(gòu)化程序設(shè)計中的靈活運用和循環(huán)結(jié)構(gòu)的嵌套。5.其他流程控制語句的使用,包括語句、語句。作業(yè):1.輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。2.有1020個西瓜,第一天賣一半多兩個,以后每天賣剩下的一半多兩個,問幾天以后能賣完?3.找出1~1000之間的所有水仙花數(shù)。所謂水仙花數(shù)是指一個3位數(shù)的立方和恰好等于該數(shù)本身。例如:153就是一個水仙花數(shù),因為153=1*1*1+3*3*3+5*5*5。4.按下面的近似公式計算:1+1/11/21/3……+1……,使誤差小于一個給定的值。授課日期:第14周周一5—8周三1—2第15周周一5—8周三1—2授課類型:演示、講解、練習、輔導課時:12教學內(nèi)容:1、一維數(shù)組的定義和引用2、二維數(shù)組的定義和引用3、字符數(shù)組的定義和引用教學目標:1、掌握一維數(shù)組的定義和引用2、學會二維數(shù)組的定義和引用3、掌握字符數(shù)組的定義和引用教學重點:1、一維數(shù)組的定義和引用2、字符數(shù)組的定義和引用教學難點:二維數(shù)組的定義和引用教學過程:內(nèi)容講授學生實踐作業(yè)布置新課內(nèi)容預告教學手段:多媒體教學軟件+個別輔導作業(yè):1、將一個數(shù)組中的值按逆序重新存放,例如,原來順序為8,6,5,4,1。要求改為1,4,5,6,8。2、用數(shù)組來處理求數(shù)列問題。3、有一個3×4的矩陣,輸入數(shù)據(jù)后,求其主對角線之和。4、編一程序,將兩個字符串連接起來,不要用函數(shù)。第5章數(shù)組本書前幾章介紹了C語言中幾種簡單數(shù)據(jù)類型。在本章中將介紹一種新的構(gòu)造類型:數(shù)組。數(shù)組是一種最簡單的構(gòu)造類型,它包含著一組具有同一類型的變量,這些變量在內(nèi)存中的存儲位置是連續(xù)的。在解決實際問題時數(shù)組有著廣泛的應用。本章介紹了C語言中一維數(shù)組、二維數(shù)組及字符數(shù)組的定義、初始化及使用方法等。5.1一維數(shù)組的定義和引用一、一維數(shù)組的定義C語言規(guī)定:數(shù)組必須先定義,后使用。一維數(shù)組的格式為:類型說明符數(shù)組名[常量表達式];例如:[10];它表示定義了一個名為的數(shù)組,該數(shù)組有10個元素,其存放的數(shù)據(jù)類型應為實型。說明:(1)類型說明符用來說明數(shù)組元素的類型:,,或。(2)數(shù)組名的命名應遵守標識符的命名規(guī)則。(3)數(shù)組名后是用方括號括起來的常量表達式。常量表達式表示的是組元素的個數(shù),即數(shù)組的長度。在上例中定義了數(shù)組[10],該數(shù)組有10個元素,其下標從0開始。注意:不要使用[10],因為它不是該數(shù)組的元素。(4)常量表達式中可以包括常量和符號常量,不能包含變量,因為C語言規(guī)定數(shù)組不能動態(tài)定義。二、一維數(shù)組的初始化數(shù)組的初始化是指在定義數(shù)組時給數(shù)組元素賦初值。一維數(shù)組初始化的格式為:類型說明符數(shù)組名[常量表達式]={常量列表};例如a[5]={2,4,6,8,10};其作用是在定義數(shù)組的同時將常量2、4、6、8、10分別置于數(shù)組元素a[0]、a[1]、a[2]、a[3]、a[4]中。說明:(1)常量列表可以是數(shù)值型、字符常量或字符串。(2)數(shù)組元素的初值必須依次放在一對大括號內(nèi),各值之間用逗號隔開。(3)可以只給部分數(shù)組元素賦初值。例如:a[10]={1,2,3,4,5};(4)在進行數(shù)組的初始化時,{}中值的個數(shù)不能超過數(shù)組元素的個數(shù)。例如:a[5]={1,2,3,4,5,6,7,8};是一種錯誤的數(shù)組初始化方式。(5)在給數(shù)組所有元素賦初值時,可以不指定數(shù)組長度。例如:a[]={1,2,3,4,5};則系統(tǒng)會自動定義數(shù)組a的長度為5。(6)定義數(shù)組時不進行初始化,則該數(shù)組元素的值是不確定的。如果欲將數(shù)組所有元素的初值置為0,可以采用如下方式:a[10];三、一維數(shù)組元素的引用C語言規(guī)定數(shù)組不能以整體形式參與數(shù)據(jù)處理,只能逐個引用數(shù)組元素。一維數(shù)組的引用方式為:數(shù)組名[下標];其中下標可以是整型常量、整型變量或整型表達式。例如有定義:a[10],2;則以下是正確的表達式:a[0][1][i][3];例5.1找出10個整數(shù)中的最大值及其序號。[分析]將10個整數(shù)放于一維數(shù)組中,找出其中的最大值及其下標即可。(){i,,k,a[11];(1;i<=10;)("",[i]);[1];1;(2;i<=10;){(<a[i]){[i];;}}(",:\n",,k);}例5.2用數(shù)組處理數(shù)列問題(){i,f[20]={1,1};(2;i<20;)f[i][2][1];(0;i<20;){(5==0)("\n");("%10d",f[i]);}}程序的運行結(jié)果如下:11235813213455891442333776109871597258441816765例5.3有17個人圍成一圈,從第1號的人開始從1到3循環(huán)報數(shù),凡報到3的人離開圈子,直到最后只剩下一個人為止,打印出此過程。(){i,d,,a[18];(1;i<=17;)a[i]=i;0;17;(d>0)(1;i<=17;)(a[i]0){;(=3){("%4d",a[i]);a[i]=0;0;;}}}程序的運行結(jié)果是:3691215151014281671713411例5.4用冒泡法對10個整數(shù)由小到大進行排序(){i,j,t,a[11];("10:\n");(1;i<=10;)("",[i]);("\n");(1<=9;)/*控制比較的趟數(shù)*/(1;i<=10;)/*控制每趟比較的次數(shù)*/(a[i]>a[1])/*相鄰元素相比較*/{[i];a[i][1];a[1];}/*交換數(shù)組元素的值*/(":\n");(1;i<=10;)("",a[i]);}程序運行情況如下:10:583210-4143-126742↙:-12-40358214267143此程序用a[0]至a[10]存儲10個數(shù)據(jù),排序時采用雙層循環(huán),外層循環(huán)控制比較的“趟”數(shù)(共9趟),內(nèi)層循環(huán)控制每趟比較的“次”數(shù)。第一趟比較9次,將最大數(shù)置于a[10]中;第二趟比較8次,將次大數(shù)置于a[9]中;……;第九趟比較1次,將次小數(shù)置于a[2]中;余下的最小數(shù)置于a[1]中。5.2二維數(shù)組的定義和引用一、二維數(shù)組的定義與一維數(shù)組相同,二維數(shù)組也必須先定義,后使用。二維數(shù)組的格式為:類型說明符數(shù)組名[常量表達式1][常量表達式2];例如:a[3][4];定義a為3×4(3行4列)的整型數(shù)組。該數(shù)組有12個元素,分別為:a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]說明:(1)類型說明符、數(shù)組名、常量表達式的意義與一維數(shù)組相同。(2)二維數(shù)組中元素的排列順序是按行存放,即在內(nèi)存中先順序存放第一行的元素,再存放第二行的元素。(3)可以把二維數(shù)組看成是特殊的一維數(shù)組,它的每個元素又是一個一維數(shù)組。二、二維數(shù)組的初始化二維數(shù)組也可以在定義時對指定元素賦初值,可以用以下方法對二維數(shù)組進行初始化:(1)按行分段賦值。例如:a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};(2)將所有的初值寫在一個大括號內(nèi),按數(shù)組元素的排列順序?qū)Ω鱾€元素賦初值。例如:a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};(3)可以對數(shù)組部分元素賦初值。例如:a[3][4]={{1},{5,6},{9}};又如:a[3][4]={{1,2},{},{0,10}};其作用是使a[0][0]=1,a[0][1]=2,a[2][1]=10,數(shù)組的其它元素都為0。(4)如果對數(shù)組的全部元素都賦初值,則定義數(shù)組時可以不指定數(shù)組的第一維長度,但第二維長度不能省略。例如:若有定義:a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};此定義也可以寫成:a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};三、二維數(shù)組元素的引用二維數(shù)組的引用方式為:數(shù)組名[下標1][下標2]其中下標可以是整型常量、整型變量或整型表達式。例5.5將數(shù)組a(2×3矩陣)行列轉(zhuǎn)置后保存到另一數(shù)組b中。123142545636(){a[2][3]={{1,2,3},{4,5,6}};i,j,b[3][2];("a:\n");(0;i<=1;){(0;j<=2;){("%5d"[i][j]);/*輸出a數(shù)組*/b[j][i][i][j];/*數(shù)組轉(zhuǎn)置*/}("\n");}("b:\n");(0;i<=2;){(0;j<=1;)("%5d"[i][j]);("\n");}}運行結(jié)果如下:a:123456b:142536例5.6有一個3×4的矩陣,求出其中最大值以及它所在位置。(){i,j,,0,0;a[3][4]={{2,146,8},{3,7,9,21},{-9,16,0,5}};[0][0];(0;i<=2;)(0;j<=3;)(a[i][j]>){[i][j];;;}(",,\n",,,);}程序的輸出結(jié)果為:21,1,3例5.7某班有20名學生,每名學生有5門課的成績,分別求出每門課的平均成績和每個學生的平均成績。(){i,j;[21][6]={0};(1;i<=20;)(1;j<=5;){("",[i][j]);[i][0][i][j];[0][j][i][j];}(":\n");(1;i<=20;)(":%6.2f\n",i,[i][0]/5);(":\n");(1;i<=5;)(":%6.2f\n",i,[0][i]/20);}5.3字符數(shù)組的定義和引用一、字符數(shù)組的定義1.一維字符數(shù)組的格式為:類型說明符數(shù)組名[常量表達式];例如:[10];定義為一維字符數(shù)組,該數(shù)組包含10個元素,最多可以存放10個字符型數(shù)據(jù)。2.二維字符數(shù)組的格式為:類型說明符數(shù)組名[常量表達式1][常量表達式2];例如:a[3][20];定義a為二維字符數(shù)組,該數(shù)組有3行,每行20列,該數(shù)組最多可以存放60個字符型數(shù)據(jù)。在C語言中,很多情況下字符型與整型是通用的,因此字符型數(shù)組也可以這樣定義:[10];a[3][20];注意:字符型數(shù)據(jù)在內(nèi)存中是以碼方式存儲的,在字符數(shù)組中也是如此。二、字符數(shù)組的初始化字符數(shù)組的初始化方式與其它類型數(shù)組的初始化方式類似。1.逐個元素賦初值s[5]={′C′,′h′,′i′,′n′,′a′};2.如果初值的個數(shù)多于數(shù)組元素的個數(shù),則按語法錯誤處理。3.如果初值的個數(shù)少于數(shù)組元素的個數(shù),則C編譯系統(tǒng)自動將未賦初值的元素定為空字符(即碼為0的字符:′\0′)。4.如果省略數(shù)組的長度,則系統(tǒng)會自動根據(jù)初值的個數(shù)來確定數(shù)組的長度。例如:c[]={′H′,′o′,′w′,′′,′a′,′r′,′e′,′′,′y′,′o′,′u′,′′};數(shù)組c的長度自動設(shè)定為12。5.二維數(shù)組也可以進行初始化。三、字符數(shù)組的引用例5.8輸出一個字符串。(){c[10]={′I′,′′,′a′,′m′,′′,′h′,′a′,′p′,′p′,′y′};i;(0;i<10;)("",c[i]);("\n");}程序運行結(jié)果:I例5.9輸出鉆石圖形(){c[5][5]={{′′,′′,′*′},{′′,′*′,′′,′*′},{′*′,′′,′′,′′,′*′},{′′,′*′,′′,′*′},{′′,′′,′*′}};i,j;(0;i<5;){(0;j<5;)("",c[i][j]);("\n");}}程序的運行結(jié)果為:********四、字符串1.字符串和字符串結(jié)束標志字符串常量是用雙引號括起來的一串字符。C語言系統(tǒng)在處理字符串時,一般會在其末尾自動添加一個′\0′作為結(jié)束符。2.用字符串常量給數(shù)組賦初值可以用字符串常量來使字符數(shù)組初始化。例如:c[]={""};也可以省略大括號而直接寫成c[]="";五、字符數(shù)組的輸入與輸出1.將數(shù)組元素逐個輸入與輸出,即用格式符""輸入或輸出一個字符。例5.10從鍵盤讀入一串字符,將其中的大寫字母轉(zhuǎn)換成小寫字母后輸出該字符串。(){s[80];0;(0;i<80;){("",[i]);(s[i]==′\n′);(s[i]>=′A′[i]<=′Z′)s[i]32;}s[i]=′\0′;(0;s[i]′\0′;)("",s[i]);("\n");}運行該程序兩次。第一次輸入:↙程序運行結(jié)果為:第二次輸入:↙程序運行結(jié)果為:2.將字符數(shù)組整體輸入或輸出,即用格式符""控制字符串的輸入與輸出。例5.11將上例改寫成整體輸入輸出形式。(){s[80];i;("",s);(0;s[i]′\0′;)(s[i]>=′A′[i]<=′Z′)s[i]32;("",s);}注意:(1)用""格式符讀入字符串時,函數(shù)中的地址項是數(shù)組名,不要在數(shù)組名前加取地址符號′&′,因為數(shù)組名本身就是地址(在后面的內(nèi)容中將介紹到)。(2)用""格式符輸出字符串時,函數(shù)中的輸出項是字符數(shù)組名,而不是數(shù)組元素。如果寫成下面的形式是錯誤的:("",s[0]);(3)以("",數(shù)組名);形式讀入字符串時,遇空格或回車都表示字符串結(jié)束,系統(tǒng)只是將第一個空格或回車前的字符置于數(shù)組中,例如有如下語句:s[13];("",a);若輸入為:↙六、字符串處理函數(shù)在C的庫函數(shù)中提供了一些字符串處理函數(shù),使用它們可以很方便地處理字符串,如輸入、輸出、拷貝、連接、比較、測試長度等。1.字符串輸出函數(shù):格式:(字符數(shù)組名)功能:將一個字符串輸出到終端,字符串中可以包含轉(zhuǎn)義字符。例如:s[]="\";(s);輸出結(jié)果是:ChinaBeijing注意:函數(shù)會將字符串結(jié)束標志’\0’轉(zhuǎn)換成’\n’,即在輸出完字符串后換行。2.字符串讀入函數(shù):格式:(字符數(shù)組名)功能:從終端讀入一個字符串到字符數(shù)組。該函數(shù)可以讀入空格,遇回車結(jié)束輸入。例如有下面程序段:s[20];(s);(s);運行時輸入:↙輸出結(jié)果為:3.字符串連接函數(shù):格式:(字符數(shù)組1,字符數(shù)組2)功能:將字符數(shù)組2中的字符串連接到字符數(shù)組1中的字符串的后面,結(jié)果放在字符數(shù)組1中。例如有如下程序段:s1[14]="",s2[]="";(s1,s2);("",s1);輸出結(jié)果為:ChinaBeijing說明:使用函數(shù)時,字符數(shù)組1應作夠大,以便能容納連接后的新字符串。4.字符串拷貝(復制)函數(shù):格式:(字符數(shù)組1,字符數(shù)組2)功能:將字符數(shù)組2中的字符串拷貝到字符數(shù)組1中。例如有下面程序段:s1[8],s2[]="";(s1,s2);(s1);程序段的輸出結(jié)果是:China說明:(1)字符數(shù)組1的長度應大于或等于字符數(shù)組2的長度,以便容納被復制的字符串。(2)字符數(shù)組1必須寫成數(shù)組名的形式(如上例中的s1),字符數(shù)組2也可以是一個字符串常量。例如:s1[8];(s1,"");其結(jié)果與上例相同。(3)執(zhí)行函數(shù)后,字符數(shù)組1中原來的內(nèi)容將被字符數(shù)組2的內(nèi)容(或字符串)所代替。(4)不能用賦值語句將一個字符串常量或字符數(shù)組直接賦給另一個字符數(shù)組。下面的用法是錯誤的:s1[8],s2[]="";s12;在進行字符串的整體賦值時,必須使用函數(shù)。5.字符串比較函數(shù):格式:(字符串1,字符串2)功能:比較兩個字符串的大小,例如:(s1,s2);("","");(s1,"");比較的結(jié)果由函數(shù)值帶回。(1)如果字符串1等于字符串2,函數(shù)值為0。(2)如果字符串1大于字符串2,函數(shù)值為一個正整數(shù)(第一個不相同字符的碼值之差)。(3)如果字符串1小于字符串2,函數(shù)值為一個負整數(shù)。請注意:比較兩個字符串是否相等時,不能采用以下形式:(s1=2)("");而只能用((s1,s2)==0)("");6.測試字符串長度函數(shù):格式:(字符數(shù)組名)功能:測試字符數(shù)組的長度,函數(shù)值為字符數(shù)組中第一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 垂體危象與垂體卒中講課課件
- 21、《槐鄉(xiāng)五月》第二課時
- 初二年級期中考試家長會教學案例
- 二零二五年網(wǎng)絡(luò)零售商合作協(xié)議樣本2篇
- 新教材高考地理一輪復習課時作業(yè)二十四城鎮(zhèn)化課件新人教版
- 水利工程合同管理制度
- 黃金投資入門教學教案
- 九年級物理全冊192家庭電路中電流過大的原因課件新版新人教版
- 《科幻小說賞析與寫作》 課件 -第四章 “生命奇跡”的重述與復魅-《弗蘭肯斯坦》
- 二零二五年礦產(chǎn)品資源整合開發(fā)合作協(xié)議書3篇
- 工程管理中心管理制度
- 下套管危害識別和風險評估
- 翼狀胬肉病人的護理
- GB/T 12914-2008紙和紙板抗張強度的測定
- GB/T 1185-2006光學零件表面疵病
- ps6000自動化系統(tǒng)用戶操作及問題處理培訓
- 家庭教養(yǎng)方式問卷(含評分標準)
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設(shè)計和原理
- TSG ZF001-2006 安全閥安全技術(shù)監(jiān)察規(guī)程
- 部編版二年級語文下冊《蜘蛛開店》
評論
0/150
提交評論