版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第三章第三章 數(shù)據(jù)描述與基本操作數(shù)據(jù)描述與基本操作3.1 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 3.2 3.2 常用的運算符和表達式常用的運算符和表達式3.3 3.3 表達式及賦值語句表達式及賦值語句3.4 3.4 基本輸入輸出操作的實現(xiàn)基本輸入輸出操作的實現(xiàn)3.5 3.5 順序結(jié)構(gòu)程序設(shè)計實例順序結(jié)構(gòu)程序設(shè)計實例概 述 使用高級語言編寫程序,必須在程序中做好兩件事:一是描述數(shù)據(jù),二是描述數(shù)據(jù)的加工方法。前者是通過數(shù)據(jù)定義語句實現(xiàn)的,后者是通過若干執(zhí)行語句,包括用各種運算符構(gòu)成的表達式來實現(xiàn)的。本單元主要介紹C語言的基本數(shù)據(jù)類型和存儲屬性的說明方法,為后續(xù)單元的學(xué)習(xí)奠定一個基礎(chǔ)。關(guān)于復(fù)雜的數(shù)據(jù)類型(如數(shù)組
2、、指針、結(jié)構(gòu)型、共用型等)將在以后單元中介紹。3.1 C語言的數(shù)據(jù)類型 C語言具有十分豐富的數(shù)據(jù)類型。所謂數(shù)據(jù)類型是指數(shù)據(jù)的內(nèi)在表現(xiàn)形式。具體的數(shù)據(jù)類型有以下若干種: 1.基本數(shù)據(jù)類型:整型、實型和字符型。 2.構(gòu)造類型: 由若干個相關(guān)的基本數(shù)據(jù)類型數(shù)據(jù)組合在一起形 成的一種復(fù)雜的數(shù)據(jù)類型,如數(shù)組型、結(jié)構(gòu)型和共用型。 3.指針型:一種簡單的數(shù)據(jù)類型,它是用來表示內(nèi)存地址的。 指針類型的數(shù)據(jù)可以表示基本類型數(shù)據(jù)的地址,它可以表 示結(jié)構(gòu)類型數(shù)據(jù)的首地址和其中某個具體數(shù)據(jù)的地址。 4.枚舉型:某數(shù)據(jù)在程序運行中,只取固定的幾個值。我們可 以把這幾個值列出來,以后這個數(shù)據(jù)只能取這幾個值中的 某一個。
3、5. 空類型:沒有任何具體值的數(shù)據(jù)類型。 C語言中的數(shù)據(jù)類型如下圖所示: 數(shù)據(jù)類型基本類型整型字符型實型(浮點型)單精度型 雙精度型 構(gòu)造類型 數(shù)組類型 結(jié)構(gòu)體類型 共用體類型 指針類型 枚舉型 空類型 2022-3-236常量和變量常量和變量2.常量的分類 (1)整型常量 (2)實型常量 (3)字符常量。 (4)符號常量。 常量的類型,可通過書寫形式來判別。常量常量 1.常量的概念 在程序運行過程中,其值不能被改變的量稱為常量。2022-3-237變量變量1.變量的概念在程序運行過程中,其值可以被改變的量稱為變量。2.變量的兩個要素(1)變量名。每個變量都必須有一個名字變量名,變量命名遵循標
4、識符命名規(guī)則。(2)變量值。在程序運行過程中,變量值存儲在內(nèi)存中。在程序中,通過變量名來引用變量的值。2022-3-238變量有以下幾個特征:變量名、變量值、變量的數(shù)據(jù)類型、變量的地址、變量的存儲類別、變量的作用域及變量的生存期等。變量必須先定義后使用。定義變量格式如下:數(shù)據(jù)類型關(guān)鍵字 ;如int x,y,z;變量的初始化:變量賦初值的過程就是變量初始化過程。 整型數(shù)據(jù)整型數(shù)據(jù)整型常量:整型常量就是整常數(shù),包括正整數(shù)和負整數(shù)及 0。其書寫形式如下:(1)十進制整數(shù)。如十進制整數(shù)。如123,456,0。(2)八進制整數(shù)。以八進制整數(shù)。以0開頭的是八進制數(shù)。如開頭的是八進制數(shù)。如0123表示八進制
5、表示八進制數(shù)數(shù)123,即,即(123)8。(3)十六進制整數(shù)。以十六進制整數(shù)。以0 x開頭的數(shù)是十六進制數(shù)。如開頭的數(shù)是十六進制數(shù)。如0 x123,代表十六進制數(shù),代表十六進制數(shù),(123)16116216316256323291。 整型常量在一般微型機中占用2個字節(jié),不管是 十進制、八進制或十六進制整數(shù),它們的數(shù)值范 圍都是十進制的3276832767。注意:注意: C語言還提供一種“長整型常量”。它們的數(shù)值范圍 是十進制的21474836482147483647,在計算 機中占用四個字節(jié),它們的書寫方法是在數(shù)據(jù)的末 尾加一個大寫字母“L”或小寫字母“l(fā)”,如OL,038L,ox15L。20
6、22-3-2311 整型變量整型變量1.分類 根據(jù)占用內(nèi)存字節(jié)數(shù)的不同,整型變量又分為類:(1)基本整型(類型關(guān)鍵字為int)。(2)短整型(類型關(guān)鍵字為short int)。(3)長整型(類型關(guān)鍵字為long int)。(4)無符號整型。無符號型又分為無符號基本整型(unsigned int)、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來存儲無符號整數(shù)。2.占用內(nèi)存字節(jié)數(shù)與值域 上述各類型整型變量占用的內(nèi)存字節(jié)數(shù),隨系統(tǒng)而異。在16位操作系統(tǒng)中,一般用字節(jié)表示一個int型變量,且long型(字節(jié))int型(字節(jié))short型(字節(jié))。
7、3.3.變量的作用范圍變量的作用范圍 變量可以在程序內(nèi)的三個地方定義:在函數(shù)的內(nèi)部,在函數(shù)的參數(shù)定義中或者在所有的函數(shù)外部。這樣定義的變量分別稱為局部變量,形式參數(shù)和全局變量。在不同地方定義的變量,其作用范圍是不一樣的。局部變量和形式參數(shù)只能在函數(shù)內(nèi)使用,全局變量的作用范圍是整個程序。在同一層次的某一類型的變量,不能與其它類型的變量或者函數(shù)同名。 2022-3-2313 實型數(shù)據(jù)實型數(shù)據(jù) 實型常量實型常量 .表示形式實型常量即實數(shù),在語言中又稱浮點數(shù),其值有兩種表達形式: (1)一般形式的實數(shù),它是由整數(shù)、小數(shù)點、小數(shù)三部分組 成。 其中數(shù)據(jù)部分或小數(shù)部分可以省略。數(shù)的正負用前 面的“”(可以
8、省略)號或“”號來區(qū)分。例如,12.345, 1.2345,47.0,.234,47等都是實型常量。(2)指數(shù)形式的實數(shù),它是由尾數(shù)、小寫字母e或大寫字母E、 指數(shù)三部分組成,尾數(shù)部分可以是十進制整型常量或一般 形式的實數(shù),指數(shù)部分是十進制的短整型常量(可以帶E負 號)例如, 12.3e2,1.2e-3,47.0e2,.234e-3等都是實 型常量。. .關(guān)于類型關(guān)于類型 實型常量不分float型和double型。一個實型常量,可以賦給一個實型變量(float型或double型)。注意: 實型常量在一般的微機中是占用4個字節(jié)的,不管是一般形式還是指數(shù)形式,它們的數(shù)值范圍都是10 10 有效數(shù)字
9、7位。例如,1.23456789和1.234567是相同的,因為實型常量的有效數(shù)字是7位,所以1.23456789中的后兩位是無效的。38382022-3-2316實型變量實型變量語言的實型變量,分為兩種: (1)單精度型。類型關(guān)鍵字為float,一般占字節(jié) (位)、提供位有效數(shù)字。 (2)雙精度型。類型關(guān)鍵字為double,一般占個字節(jié)、提供1516位有效數(shù)字。字符型數(shù)據(jù)字符型數(shù)據(jù)A、把單個字符用一對單引號括起來表示字符常量。 如a,d,w,?等都是字符常量。B、用該字符的ASCII碼值表示字符常量。C、轉(zhuǎn)義字符:反斜杠開頭后跟規(guī)定的單個字符或數(shù)字,并用一對單引號括起來表示字符常量。如下:一
10、一字符常量字符常量1.字符常量是ASCII碼字符集里的一個字符,包括字母(大、小寫有區(qū)別)、數(shù)字和標點符號以及特殊字符等,均為半角字符。2.字符常量表示形式: 字符形式 含 義 ASC n換行,將當前位置移到下一行開頭 10 t水平制表(跳到下一個tab位置) 9 b退格,將當前位置移到前一列 8 r回車,將當前位置移到本行開頭 13 f換頁, 將當前位置移到下頁開頭 12 反斜杠字符“” 92 單引號(撇號)字符 39 “雙引號字符 34 ddd1到3位8進制數(shù)所代表的字符 xhh1到2位16進制數(shù)所代表的字符 2022-3-2319例1:字符與整數(shù)的轉(zhuǎn)化#include stdio.hvo
11、id main() int i; char n; n=97; i=b; printf(n=%cn,n); printf(i=%dn,i); printf(i=%cn,i);程序的輸出為: n=a i=98 i=b2022-3-2320例2 字符參與整數(shù)運算 #include stdio.hvoid main() char n; n=a; n=n-65; printf(n=%dn,n);程序的輸出結(jié)果為: n=322022-3-2321例例3 3 字母的大小寫轉(zhuǎn)換#include stdio.hvoid main() char n,i; n=a; i=B; n=n-32; i=i+32; pri
12、ntf(n=%cn,n); printf(i=%cn,i); 程序的輸出為 n=A i=b 二 字符串常量 字符串就是用兩個雙引號(“)號后括住的若干個字符, 例如,“abc”,“123456”,“aBbB”都是字符串。 轉(zhuǎn)義符可以出現(xiàn)在字符串中,例如,“ABC”, “101102x43x44”等都是字符串,分別表示“ABCD”、 “ABCD”兩個字符串。 一個字符串中所有的字符的個數(shù)稱為該字符串的長度, 其中每個轉(zhuǎn)義字符只當做一個字符。例如,“ABC”的長 度為5。注意注意!a與“a”的區(qū)別。 C語言規(guī)定:每個字符串在內(nèi)存中占用的字符數(shù)等于字符 串的長度1。其中最后一個字符存放的字符稱為“空
13、字符” 其值為0,書寫時常用轉(zhuǎn)義字符“0”來表示。在C語言中稱 為字符串結(jié)束標志。關(guān)于變量的補充內(nèi)容 1. 變量: 變量是指在程序運行過程中其值可以發(fā)生變化的量。 2. 變量的取名規(guī)則為:以字母、下劃線“_”開頭,后跟若干 個字母、下劃線、數(shù)字。一般約定,用戶使用的變量名采用 以字母開頭,C語言內(nèi)部使用的變量名以下劃線開頭。例如, abc,a_1,age_1等都是合法的變量名,而3a,age則是非 法的變量名。 當程序運行時,每個變量都要占用若干個連續(xù)的字節(jié),所占用的字節(jié)數(shù)由變量的數(shù)據(jù)類型確定。其中第1個字節(jié)的地址稱為變量的地址。C語言規(guī)定,程序中變量的地址是用 “&變量名”來表示的。
14、 3.變量的數(shù)據(jù)類型及其定義 (1) 變量可以是任何一種數(shù)據(jù)類型,具有某種數(shù)據(jù)類型的 變量就叫做該類型變量。(2) 每個變量在使用前必須定義,說明其數(shù)據(jù)類型。(3) 定義變量數(shù)據(jù)類型的語句格式如下:數(shù)據(jù)類型符數(shù)據(jù)類型符變量變量1,變量,變量2.; 數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)據(jù)類型符數(shù)據(jù)類型符占用字節(jié)數(shù)占用字節(jié)數(shù) 數(shù)據(jù)范圍數(shù)據(jù)范圍 整型整型 int 2(或或4)同短整型同短整型(或長整型或長整型) 短整型短整型 short 23276832767 長整型長整型 long 4-21474836482147483647無符號整型無符號整型unsigned int 2(或或4)同無符號短整型同無符號短整型(
15、或長整型或長整型)無符號短整型無符號短整型unsigned short 2 065535無符號長整型無符號長整型unsigned long 4 04294967295單精度實型單精度實型 float 4 10 10雙精度實型雙精度實型 double 8 10 10 字符型字符型 char 1 128127基本數(shù)據(jù)類型符及含義如下表所示:基本數(shù)據(jù)類型符及含義如下表所示:38383083084.變量的存儲類型及定義 我們把變量存放在何處稱為變量的存儲類型。用戶可以通我們把變量存放在何處稱為變量的存儲類型。用戶可以通過說明變量的存儲類型來選擇變量的具體存儲地點。過說明變量的存儲類型來選擇變量的具體存
16、儲地點。定義變量的存儲類型的語句格式如下: 存儲類型符存儲類型符數(shù)據(jù)類型符數(shù)據(jù)類型符變量變量1,變量,變量2; 存儲類型 存儲類型符 存儲地點 自動型 auto 內(nèi)存堆棧區(qū) 寄存器型 register Cpu的通用寄存器 靜態(tài)型 static 內(nèi)存數(shù)據(jù)區(qū) 外部參照型 extern 存儲類型符及其含義如下表所示: 存儲類型符表 (1)自動型 自動型又稱堆棧型,自動型變量是分配在內(nèi)存的堆棧區(qū), 堆棧區(qū)內(nèi)存在程序運行中是重復(fù)使用的。當某個函數(shù)中定義 了自動型變量,C語言就在堆棧區(qū)給該變量分配字節(jié)用于存 放變量的值;當退出該函數(shù)時,C語言要求釋放該變量,即 從堆棧區(qū)中收回分配給該變量的字節(jié),以便重新分
17、配給其它 自動型變量。 當定義某個或某些變量時,省略了存儲類型符,系統(tǒng)將 默認為自動型變量 。 寄存器型變量是分配在CPU的通用寄存器中。C程 序中允許定義的寄存器型變量一般以2個左右為宜。若 定義的數(shù)量超過所提供的寄存器數(shù)目,編譯系統(tǒng)自動 將超出的變量設(shè)為自動型變量。 寄存器型變量只能定義為int,char和指針型變量。 (2)寄存器型 (3)靜態(tài)型 靜態(tài)型變量是分配在內(nèi)存的數(shù)據(jù)區(qū)中,它們在程序開始運行時就分配了固定的字節(jié),在程序運行過程中不釋放,只有程序運行結(jié)束后,才釋放所占用的內(nèi)存。 (4)外部參照型 外部參照型變量是專用于多個編輯單位之間傳遞數(shù)據(jù)用的,當編譯單位甲中要使用在編譯單位乙中
18、定義的變量,則編譯單位甲就要說明該變量是外部參照型,以便C語言編譯系統(tǒng)在編譯單位甲之外的其它編譯單位中尋找該變量的定義。將某個變量說明為其它編譯單位定義的變量的方法就是將它說明為“外部參照型”,被說明成外部參照型的變量的存儲類型和數(shù)據(jù)類型都由定義該變量的那個編譯單位來說明。 5.變量的初始化變量的初始化(1)在定義變量的同時給變量賦予初始值就稱為變量的初始化。(2)變量賦初值的語句格式如下: 存儲類型符 數(shù)據(jù)類型符 變量名1初值1,變量名2初值2,(3)變量的初始化和變量的存儲類型有很大關(guān)系,進行初始化 時要注意以下幾點: 外部參照型變量不允許初始化,其它存儲類型的變量可以 進行初始化。 自動
19、型變量和寄存器變量如果進行初始化,則每次進入所 定義的函數(shù)或復(fù)合語句都隨著重新定義而重新初始化,自 動型變量和寄存器型變量如果不進行初始化,變量值將不 確定。 靜態(tài)型變量如果進行初始化,只有第一次執(zhí)行定義 語句時隨著分配內(nèi)存賦予初值,當退出所定義的函 數(shù)或復(fù)合語句時,將保留其當時值。再次進入所定 義的函數(shù)或復(fù)合語句時,將不重新定義,也不進行 初始化。此時,該變量值是上次離開時的值。靜態(tài) 型變量如果不進行初始化,C語言編譯系統(tǒng)將自動 為其賦予“零值”,對數(shù)值型變量賦0,對字符型變 量賦空字符。6.變量的生存期和作用域 (1) 內(nèi)部變量:在函數(shù)(或某個復(fù)合語句)內(nèi)定義的變量。 (2) 外部變量:在
20、函數(shù)外定義的變量。 (3) 變量生存期:變量從開始分配內(nèi)存單元(或寄存器) 到分配的內(nèi)存單元(或寄存器)被收回的期間稱為 “變量的生存期”。 (4) 全局變量:生存期覆蓋了定義點到整個程序結(jié)束的變量。 (5) 局部變量:生存期只覆蓋某個函數(shù)(或某個復(fù)合語句) 的變量。 (6) 作用域:在變量的生存期中,我們把變量可以使用的程 序區(qū)域稱為變量的作用域。 變量的生存期和作用域之間的關(guān)系如下表所示: 變量允許的存儲類型生成期作用域外部變量省略(無存儲類型)靜態(tài)型(static)全局變量定義點到程序結(jié)束內(nèi)部變量省略自動型(auto)寄存器型(register)靜態(tài)型(static)局部變量全局變量定義
21、該變量的函數(shù)或復(fù)合語句內(nèi)部注意!注意! 外部變量是不能重名的。 被說明為auto或register存儲型的內(nèi)部變量在不同 的函數(shù)或復(fù)合語句中是可以重名的。 被說明為static存儲型的內(nèi)部變量在不同的函數(shù)或 復(fù)合語句中是可以重名的。3.2運算符運算符 1概述概述2算術(shù)運算符算術(shù)運算符3賦值運算符賦值運算符4逗號運算符逗號運算符5條件運算符條件運算符6長度運算符長度運算符7位運算符位運算符8關(guān)系運算符關(guān)系運算符-下章介紹下章介紹9邏輯運算符邏輯運算符下章介紹下章介紹一一.概述概述用來表示各種運算的符號稱為運算符。 運算符必須有運算對象,運算對象是一個的,則稱為 單目運算;運算對象是兩個的,則稱為
22、雙目運算雙目運算;運算對 象是三個的,則稱為三目運算三目運算。例如,數(shù)值運算中經(jīng)常用到的、*、/等。 每個運算符都代表對運算對象的某種運算,都有自己 特定的運算規(guī)則。每個運算符運算的對象都規(guī)定了數(shù)據(jù)類型, 同時運算結(jié)果也有確定的數(shù)據(jù)類型。 當表達式中出現(xiàn)多個運算符,計算表達式值時,就有誰 先算,誰后算的問題,我們把這個問題稱為運算符的優(yōu)先級。 計算表達式值時,優(yōu)先級高的運算要先進行運算。 同級別的運算符有左結(jié)合和右結(jié)合之分。C的運算符十分豐富,有13類,30多種,其分類如下: C語言運算符基本運算符算術(shù)運算符基本算術(shù)運算符(、*、/、)增1減1運算符 (、)關(guān)系運算符(、=、!)邏輯運算符(!
23、、&、?。┵x值運算符基本賦值運算符()算術(shù)自反賦值運算符(、*、/、)逗號運算符(,)條件運算符(?:)數(shù)據(jù)長度運算符(sige of)位運算符位邏輯運算符(、&、|、)位位移運算符(、,.)指針運算符(&,*,)注意!少數(shù)運算符號有雙重意義,主要有以下幾種: (1)“”號,在算術(shù)運算中即表示單目的取正運算, 又可表示雙目的加法運算。(2)“”號,在算術(shù)運算中即表示單目的取負運算, 又可表示雙目的減法運算(3)“*”號,在算術(shù)運算中即表示雙目的乘法運算, 在指針運算中表示指針變量指向的變量。(4)“&”號,在位邏輯運算中表示雙目“與”運算, 在指針運算中表示取地
24、址的運算。二二.算術(shù)運算符算術(shù)運算符1.基本算術(shù)運算符 基本算術(shù)運算符的運算對象、運算規(guī)則與結(jié)果、結(jié)合性如表所示 :對象數(shù) 運算符 名稱運算對象運算結(jié)果結(jié)合性單 目雙 目正負整 型 或?qū)?型整 型 或?qū)?型自右向左自左向右 * /加減乘除整除取余整型整數(shù)算術(shù)運算符的優(yōu)先級規(guī)定如下: 單目基本算術(shù)運算符 優(yōu)先于 雙目基本算術(shù)運算符 *、/、 優(yōu)先于 、 同級單目基本算術(shù)運算符的結(jié)合性是自右向左 同級雙目基本算術(shù)運算符的結(jié)合性是自左向右 例1.基本算術(shù)運算符的使用 設(shè)變量定義如下: int n=10, m=3; float f=5.0,g=10.0; double d=5.0,e=10.0;則 n
25、的結(jié)果是10 nm,nm,n*m,n/m,n%m的結(jié)果 分別為13、7、30、3、1 de,de,d*e,d/e的結(jié)果 分別為15.0,5.0,50.0,0.5 nmf*g/d的運算順序相當于 (nm(f*g)/d),結(jié)果是3.0 nm*f*d的運算順序相當于 (nm)*f)*d,結(jié)果是25.0 2 增1減1運算符(1)1減1運算符的運算對象、運算規(guī)則與結(jié)果、 結(jié)合性如下表所示: 對象數(shù)單目名稱運算符 運算規(guī)則 運算對象運算結(jié)果 結(jié)合性增1(前綴)先加1后使用增1(后綴)減1(前綴)減1(后綴)先使用后加1先減1后使用先使用后減1整型、字符型、指針型變量或數(shù)組元素同運算對象的類型自右向左(2)
26、減1運算符的優(yōu)先級: 增1減1運算符 優(yōu)先于 雙目基本算術(shù)運算符 增1減1運算符和單目運算符、同級別,結(jié)合性 是自右向左 注意:注意: 若出現(xiàn)難以區(qū)分的若干個或組成運算符串時,若出現(xiàn)難以區(qū)分的若干個或組成運算符串時,C語言規(guī)定,自左向右取盡可能多的符號組成運算符。語言規(guī)定,自左向右取盡可能多的符號組成運算符。例1:ab 應(yīng)理解為(a)b ab應(yīng)理解為 (a)b 例2:增1減1運算符的使用 設(shè)變量定義如下:charc1b,c2B; (c1,c2可看成整型,其值分別為98,66) 則: c1 的值是99,運算后c1的值是c c1 的值是98,運算后c1的值是a c1c2的值是164,運算后c1的值
27、是c,c2的值是B c1c2的值是32,運算后c1的值是a,c2的值是B 三三.賦值運算符賦值運算符1.賦值運算符 賦值運算符是雙目運算符,賦值運算符的左邊必須是變量,右邊是表達式。 (1) 賦值運算符的運算對象及有關(guān)規(guī)則如下表: 對象數(shù) 名稱 運算符 運算規(guī)則 運算結(jié)果 結(jié)合性 雙目賦值 將表達式的值賦予變量 表達式的 類型自右向左(2) 賦值運算符的優(yōu)先級 算術(shù)運算符 優(yōu)先于 關(guān)系運算符 優(yōu)先于 雙目邏輯運算符 優(yōu)先于 賦值運算符 賦值運算符的結(jié)合性是自右向左 (3) 賦值運算符的使用 設(shè)變量定義如下: char c1a,c2; int n165,n2,n3,n4,n5,n6; float
28、 f13.0,f2; 則: c2n1運算后,c2的值是65,n1的值不變。 n2!c1運算后,n2的值是0,c1的值不變。 f2f10.001運算后,f2的值是3.001,f1的值不變。 n3c1n1|c1!n1運算后,n3的值是1,c1和n1 的值不變。注:運算順序相當于 n3(c1n1)|(c1!n1) n4n5n6(n1)運算后,n4,n5,n6的值 均是64,n1的值是64。 注意注意:上述表達式的值就等于賦值表達式中的最左邊的變量值。 2 .算術(shù)自反賦值運算符 (1) 運算規(guī)則 對象數(shù) 名稱 運算符運算規(guī)則運算對象 運算結(jié)果結(jié)合性雙目加賦值減賦值乘賦值除賦值模賦值*/ =%=a+=b
29、相當于a=a+(b)a=b相當于a=a(b)a*=b相當于a=a*(b)a/=b相當于a=a/(b)a%=b相當于a=a%(b)數(shù)值型數(shù)值型自右向左整型整型(2)算術(shù)自反賦值運算符的優(yōu)先級 算術(shù)運算符 優(yōu)先于 關(guān)系運算符 優(yōu)先于 雙目邏輯運算符 優(yōu)先于 算術(shù)自反賦值運算符 算術(shù)自反賦值運算符和賦值運算符是同級別的,結(jié)合性是 自右向左 (3)算術(shù)自反賦值運算符的使用 設(shè)變量定義如下 intn1=10,n2=10,m1=10,m2=10,m3=10,m4=10;則: n1n2,n1的值為20,n2的值不變 n1n2,n1的值為0,n2的值不變 n1*n2,n1的值為100,n2的值不變 n1/n2
30、, n1的值為1,n2de值不變 m1m2m3*m4/2 運算后, m1,m2,m3,m4的值依次是30,40,50,5。 運算順序相當于m1(m2(m3*(m4/2) 四四.逗號運算符逗號運算符逗號運算符是雙目運算符,其運算對象是表達式。逗號運算符是雙目運算符,其運算對象是表達式。 1.逗號運算符 對象數(shù) 名稱 運算符 運算規(guī)則運算對象 結(jié)合性 雙目逗號 ,依次計算前、后表達式 表達式自左向右注意:由逗號運算符組成的式子也是表達式,其值等于最右邊 的表達式的值 2.逗號運算符的優(yōu)先級 任何運算符 優(yōu)先于 逗號運算符 逗號運算符的結(jié)合性是自右向左 3. 例題。設(shè)整型變量a,b為2, 則: ba
31、3,cb4 運算結(jié)果:a不變,b為5,c為9,表達式的值為9 da,ed,fe 運算結(jié)果:a為1,d為1,e為1,f為1,表達式的值為1 五五.條件運算符條件運算符1.條件運算符 對象數(shù) 名稱 運算符 運算規(guī)則運算對象 運算結(jié)果 結(jié)合性 三目條件 ?:對e1?e2:e3e1為真,獲得e2e1為假,獲得e3 表達式 e2(e3)的類型 自右 向左 2.條件運算符的優(yōu)先級 其它運算符 優(yōu)先于 條件運算符 優(yōu)先于 賦值、算術(shù)自反賦值運算符 條件運算符的結(jié)合性是自右向左 3.例子 (1) 設(shè)整型變量a,b,c,d均為2 則ab?(c1):(d0); 結(jié)果a,b,d不變,c為1,表達式的值為1 (2)
32、a13?(ba2):(ca3); 結(jié)果a,c不變,b為4,表達式值為4 (3) ab?(c0):(ab?(c1):(c1)); 結(jié)果a,b不變,c為0,表達式的值為0 注:運算順序相當于(ab)?(c0):(ab)?(c1):(c=1) 1.長度運算符 六六.長度運算符長度運算符對象數(shù) 名稱 運算符 運算規(guī)則運算對象 運算結(jié)果 結(jié)合性 單目長度sizeof測試數(shù)據(jù)類型所占用的字節(jié)數(shù)類型說明符或變量 整型 無2.長度運算符優(yōu)先級 和單目算術(shù)運算符、單目邏輯運算符、增1減1運算符同級別 同級運算符的結(jié)合性是自右向左的 3.例子 設(shè)變量定義如下: int n; short s; unsigned l
33、ong u3; float f; char c; 則 sizeof(n)的值是2 sizeof(s)的值是2 sizeof(long)的值是4 sizeof(unsigned int)的值是2 sizeof(u3)的值是4 sizeof(f)的值是4 sizeof(double)的值是8 sizeof(c)的值是1 注意注意:上述結(jié)果是:上述結(jié)果是TurboC2.0在微機上運行的結(jié)果。在微機上運行的結(jié)果。 2022-3-2360七七 位運算位運算C語言中提供的位運算符: 、 、 & 、 、1.1.按位取反運算符按位取反運算符形式: A功能:把A的各位都取反,(即0變1,1變0)例如:i
34、nt A=179A0 0 000 0 0 010110011A1 1 111 1 1 1010011002022-3-23612.按位與運算符按位與運算符&形式:A&B功能:對A的各位與B的對應(yīng)位進行比較,如果兩者都為1, A&B對應(yīng)位上的值為1,否則為0。例如:int A=179(二進制0000000010110011) int B=169(二進制0000000010101001)A0 0 0 0 00 0 0 10 11 0 0 1 1B0 0 0 0 00 0 0 10 10 1 0 0 1A&B 0 0 0 0 00 0 0 10 10 0 0 0 12
35、022-3-23623.按位或運算符按位或運算符|形式:A|B功能:對A的各位與B的對應(yīng)位進行比較,如果兩者中有一個 為1,A|B對應(yīng)位上的值為1,否則為0。例如:int A=179(二進制0000000010110011) int B=169(二進制0000000010101001)A00 00 0 00 0 1 0 11 00 1 1B00 00 0 00 0 1 0 10 10 0 1A|B 00 00 0 00 0 1 0 11 10 1 12022-3-23634.按位異或運算符按位異或運算符形式:AB功能:對A的各位與B的對應(yīng)位進行比較,如果兩者不同, AB對應(yīng)位上的值為1,否則為
36、0。例如:int A=179(二進制0000000010110011) int B=169(二進制0000000010101001)A0 0 0 000 0 0 1 0 1 10011B0 0 0 000 0 0 1 0 101001AB 0 0 0 000 0 0 0 0 0110102022-3-23645.左移運算符左移運算符形式:An(其中其中n為一個大于為一個大于0的整型表達式)的整型表達式)功能:把A的值向左移動n位,右邊空出的n位用0填補。 當左移時移走的高位中全都是0時,相當于對A作n 次乘 以2的運算。例如:int A=27(二進制0000000000011011)A0 0
37、0 0 0 0 0 0 0 0011011A形式:Ann(其中其中n為一個大于為一個大于0的整型表達式)的整型表達式)功能:把A的值向右移動n位,左邊空出的n位用0填補。 相當于對A作n 次除以2的運算。例如:int A=179(二進制0000000010110011)A0 0 0 0 0 0 0 0 1 0110011A3 0 0 0 0 0 0 0 0 0 00101103.3 表達式 用運算符將運算對象連接形成的式子就是表達式。 1.表達式的定義2.C2.C語言的表達式非常豐富,也有人稱語言的表達式非常豐富,也有人稱C C語言語言為表達式語言。為表達式語言。C語言使用的基本表達式有:語言
38、使用的基本表達式有:賦值表達式,如:賦值表達式,如:a=3算數(shù)表達式,如:算數(shù)表達式,如:3+4*2關(guān)系表達式,如:關(guān)系表達式,如:32邏輯表達式,如:邏輯表達式,如:35&a=b條件表達式,如:條件表達式,如:ab?a:b逗號表達式,如:逗號表達式,如:a=3,b=4,c=53.4 賦值語句賦值語句 1.構(gòu)成規(guī)則: (1) 變量表達式; (2) 變量 賦值運算符 表達式 分號2022-3-23692.注意區(qū)分賦值語句和賦值表達式的區(qū)別: 例如 a=b+2 (這是賦值表達式) a=b+2; (這是賦值語句) a+ (這是表達式) a+; (這是賦值語句,等價 與 a=a+1;)2022
39、-3-23703.5 輸入輸出在輸入輸出在C語言中的實現(xiàn)語言中的實現(xiàn) 1.輸入輸出的概念 從計算機向外部輸出設(shè)備(如顯示屏、打印機、磁盤等)輸出數(shù)據(jù)稱為“輸出輸出”,從外部向輸入設(shè)備(如鍵盤、磁盤、光盤、掃描儀等)輸入數(shù)據(jù)稱為“輸入”。2.C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數(shù)來實現(xiàn)的。在C標準函數(shù)庫中提供了一些輸入輸出函數(shù),例如,printf函數(shù)和scanf函數(shù)。2022-3-23713.在使用C語言庫函數(shù)時,要用預(yù)編譯命令“include”將有關(guān)的“頭文件頭文件”包括到用戶源文件中。在調(diào)用標準輸入輸出庫函數(shù)時,文件開頭應(yīng)有以下預(yù)編譯命令: #include 或#include
40、“stdio.h” 4.允許在使用printf和scanf兩個函數(shù)時可不加#include命令。2022-3-2372一、字符數(shù)據(jù)的輸入輸出1.putchar函數(shù)(字符輸出函數(shù)) 函數(shù)格式:putchar( C ) ; C可以是字符型變量或整型變量或常量 函數(shù)的功能:向終端輸出一個字符2022-3-23732.程序?qū)嵗?#includemain()chara,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c); 注意:該程序可以輸出控制字符,如putchar(n) 輸出一個換行符,也可以輸出其他轉(zhuǎn)義字符 如 putchar(101) (輸出字符A)
41、 putchar() (輸出單引號字符)運行結(jié)果: BOY2022-3-23743.getchar 函數(shù)(字符輸入函數(shù)) 函數(shù)格式,getchar ( ) 函數(shù)的功能:從終端輸入一個字符,函數(shù)的值就是從輸入設(shè)備得到的字符。4.程序?qū)嵗?#includemain()charc;c=getchar();putchar(c);在運行時,如果從鍵盤輸入字符a并按回車鍵,就會在屏幕上看到輸出的字符a。a (輸入a后,按“回車”鍵,字符才送到內(nèi)存)a (輸出變量 c 的值a)2022-3-2375注意: (1)getchar( )只能接收一個字符,getchar函數(shù)收到的字符可以賦給一個字符變量或整型變量
42、。 (2)若在程序中調(diào)用getchar、putchar函數(shù),則必須在程序的開頭部分加上“包含命令” #include或或#include“stdio.h”2022-3-2376二、格式輸入與輸出二、格式輸入與輸出(一)、printf函數(shù)(格式輸出函數(shù))1.printf函數(shù)的一般格式為 printf(格式控制,輸出表列) 括弧內(nèi)包括兩部分: (1) “格式控制”是用雙引號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息: 格式說明,由“”和格式字符組成,如%d, %f等。它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。格式說明總是由“”字符開始的。 普通字符,即需要原樣輸出的字符。 (2)“輸
43、出表列”是需要輸出的一些數(shù)據(jù),可以是表達式。2022-3-2377下面是一個例子: printf(“%d %d ”, a,b ); 格式說明 輸出表列 printf(“a%d b=%d”,a,b); 格式說明 輸出表列2022-3-23782.格式字符 常用的有以下幾種格式字符:(1)d格式字符。用來輸出十進制整數(shù)。有以下幾種格式字符: d,按整型數(shù)據(jù)的實際長度輸出。 md,m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補以空格,若大于m,則按實際位數(shù)輸出。如 printf(“%4d,%4d”,a,b); 若a123,b12345,則輸出結(jié)果為 |_| 123,12345 ld,輸出長
44、整型數(shù)據(jù)。如 long a=135790; printf(“%ld”,a);2022-3-2379對long型數(shù)據(jù)應(yīng)當用ld格式輸出。對長整型數(shù)據(jù)也可以指定字段寬度,如將上面printf函數(shù)中的“l(fā)d”改為“8ld”則輸出為: |_| |_| 135790 (8列)一個int型數(shù)據(jù)可以用d或ld格式輸出。(2)O格式符,以八進制數(shù)形式輸出整數(shù)。由于是將內(nèi)存單元中的各位的值(0或1)按八進制形式輸出,因此輸出的數(shù)值不帶符號,即將符號位也一起作為八進制數(shù)的一部分輸出。例如: int a= -1; printf(“%d,%o”,a,a);2022-3-2380 1 1 1 1 1 1 1 1 1 1
45、 1 1 1 1 1 1輸出為 1,177777對長整型數(shù)(long型)可以用“l(fā)o”格式輸出。同樣可以指定字段寬度,如printf(“8o ” ,a)輸出為|_| |_| 1777771在內(nèi)存單元中的存放形式(以補碼形式存放)如下:2022-3-2381(3)x格式符,以十六進制數(shù)形式輸出整數(shù)。同樣不會出現(xiàn)負的十六進制數(shù)。例如int a=1;Printf(“%x,%o,%d”,a,a,a);輸出結(jié)果為: ffff,177777,12022-3-2382(4)u格式符,用來輸出unsigned型數(shù)據(jù),即無符號數(shù),以十進制形式輸出。(5)C格式符,用來輸出一個字符。 如: charc=a;pri
46、ntf(“%c”,c); 輸出字符a,請注意:“c”中的 c是格式符,引號右邊的c是變量名,不要搞混。一個整數(shù),只要它的值在0255范圍內(nèi),也可以用字符形式輸出,在輸出前,系統(tǒng)會將該整數(shù)作為ASCII碼轉(zhuǎn)換成相應(yīng)的字符;反之,一個字符數(shù)據(jù)也可以用整數(shù)形式輸出。 2022-3-2383(6)S格式符,用來輸出一個字符串。有幾種用法: s,例如:printf(“%s”,“CHINA”);輸出“CHINA”字符串(不包括雙引號)。 ms,輸出的字符率占m列,如字符串本身長度大于m,則突破m的限制,將字符串全部輸出。若串 長小于m,則左補空格。 2022-3-2384ms,如果串長小于m,則在m列范圍
47、內(nèi), 字符率向左靠,右補空格。 mns,輸出占m列,但只取字符串中左端n個字 符。這n個字符輸出在m列的右側(cè),左補空格。 mns,其中m、n含義同上,n個字符輸出在m 列范圍的左側(cè),右補空格。如果nm,則m自動取n值,即保證n個字符正常輸出。2022-3-2385(7)f格式符,用來輸出實數(shù)(包括單、雙精度),以小數(shù)形式輸出。有以下幾種用法: m.nf指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,則左端補空格。 -mnf與m.nf基本相同,只是使輸出的數(shù)值向左端靠,右端補空格。 f,不指定字段寬度,由系統(tǒng)自動指定,使整數(shù)部分全部如數(shù)輸出。并輸出6位小數(shù)。應(yīng)當注意,并非全部數(shù)字都是
48、有效數(shù)字。單精度實數(shù)的有效位數(shù)一般為7位。2022-3-23863.例子(1)無符號數(shù)據(jù)的輸出 main( )unsigned int a=65535; int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b);運行結(jié)果為:a=-1,177777,ffff,65535b=-2,177776,fffe,655342022-3-2387(2)字符數(shù)據(jù)的輸出:main ( ) char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i);運行
49、結(jié)果為:a,97a,972022-3-2388(3) 字符串的輸出main( ) printf(“%5s,%7.2s,%.4s,%-5.3sn”,”CHINA”, ”CHINA”,“CHINA”,”CHINA”);輸出如下: CHINA,|_|_|_|_|_|CH,CHIN,CHI|_|_|其中第3個輸出項,格式說明為“%.4s”,即只指定n,沒指定m,自動使 m=n=4,故占4列。2022-3-2389(4)輸出實數(shù)時的有效位數(shù): main( ) float x,y; x=111111.111;y=222222.222; printf(“%f”,x+y); 運行結(jié)果為: 333333.328
50、1252022-3-2390(5)輸出實數(shù)時指定小數(shù)位數(shù): main()floatf=123.456;printf(“%f|_|_|%10f|_|_|%10.2f|_|_|%.2f|_|_|%-10.2fn”,f,f,f,f,f);運行結(jié)果為:運行結(jié)果為:123.456001|_|_|123.456001|_|_|_|_|_|_|123.46|_|_|123.46|_|_|123.46|_|_|_|_|2022-3-23914.格式符小結(jié)格式符小結(jié)格式字符 說 明 d以帶符號的十進制形式輸出整數(shù)(正數(shù)不輸出符號) o以八進制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0) x,X以十六進制無符號形式輸出整
51、數(shù)(不輸出前導(dǎo)0 x),用x則輸出十六進制數(shù)的af時以小寫形式輸出。用X時,則以大寫字母輸出。 u以無符號十進制形式輸出整數(shù) c以字符形式輸出,只輸出一個字符printf格式字符格式字符2022-3-2392格式字符說明 s輸出字符串 f以小數(shù)形式輸出單、雙精度數(shù),隱含輸出6位小數(shù)。用e時指數(shù)以“e”表示(如.2e+02),用E時指數(shù)以“E”表示(如1.2E+02) e,E以指數(shù)形式輸出實數(shù),數(shù)字部分小數(shù)位數(shù)為6位,如用“E”,則輸出時,指數(shù)以大寫表示 g,G選用f或e格式中輸出寬度較短的一種格式,不輸出無意義的0。用G時,若以指數(shù)形式輸出,則指數(shù)以大寫表示2022-3-2393字符說明字母l
52、用長整型整數(shù),可加在格式符d、o、x、u前面m(代表一個正整數(shù))數(shù)據(jù)最小寬度n (代表一個正整數(shù))對實數(shù),表示輸出n位小數(shù);對字符串,表示截取的字符個數(shù)輸出的數(shù)字或字符在域內(nèi)向左靠printf的附加格式說明字符的附加格式說明字符2022-3-23945.使用printf函數(shù)時,還需注意以下幾點(1)除了X,E,G外,其他格式字符必須用小寫字母, 如d不能寫成D。(2)可以在printf函數(shù)中的“格式控制”字符串內(nèi)包含“轉(zhuǎn) 義字符”,如“n”,“t”,“b”,“r”,“f”,“377”等。(3)上面介紹的d、o、x、u、c、s、I、e、g等字符, 如用在“”后面就作為格式符號。一個格式說明以 “
53、”開頭,以上述9個格式字符之一為結(jié)束,中間可 以插入附加格式字符(也稱修飾符)。例如:2022-3-2395printf(“ c=%cf=%fs=%s”,c,f,s);格式說明第一個格式說明為“c”而不包括其后的f,第二個格式說明為“f”,不包括其后的S,第三個格式說明為“s”。其他的字符為原樣輸出的普通字符。(4)如果想輸出字符“”,則應(yīng)該在“格式控制格式控制”字符串中用連續(xù)兩個表示,如 printf (“%f%”,1.0/3); 輸出:0.333333%2022-3-2396(二)、Scanf 函數(shù)(格式輸入函數(shù))1.一般形式scanf(格式控制,地址表列) “格式控制”的含義同 prin
54、tf函數(shù); “地址表列”是由若干個地址組成的表列, 可以是變量的地址,或字符串的首地址。2022-3-23972.例子 用scanf函數(shù)輸入數(shù)據(jù) main( ) int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d,%dn”,a,b,c); 運行時按以下方法輸入a、b、c的值:3|_|4|_|5 3,4,5&a,&b,&c中的“&”是“地址運算符地址運算符”,&a指a在內(nèi)存中的地址。2022-3-2398說明: “ ddd”表示按十進制整數(shù)形式輸入數(shù)據(jù)。輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一
55、個或多個空格間隔,也可以用回車鍵、跳格健tab。 用“ddd”,格式輸入數(shù)據(jù)時,不能用逗號作兩個數(shù)據(jù)間的分隔符。 3.格式說明 與printf函數(shù)中的格式說明類似,以開始,以一個格式字符結(jié)束,中間可以插入附加字符。2022-3-2399格式字符 說 明 d,i用來輸入有符號的十進制整數(shù) u用來輸入無符號的十進制整數(shù) o用來輸入無符號的八進制整數(shù) x,X用來輸入無符號的十六進制整數(shù)(大小 寫作用相同) c用來輸入單個字符 s用來輸入字符串,將字符串送到一個字符數(shù)組中,在輸入時以非空白字符開始,以第一個空白字符結(jié)束。字符串以串結(jié)束符0作為其最后一個字符 f用來輸入實數(shù),可以用小數(shù)形式和指數(shù)形式輸入
56、 e,E,g,G與f作用相同,e與f,g可以互相替換(大小寫作用相同)Scanf格式字符格式字符2022-3-23100字符 說 明 l用于輸入長整型數(shù)據(jù)(可用%ld,%lo,%lx)以及double型數(shù)據(jù)(用%lf或le) h用于輸入短整型數(shù)據(jù)(可用%hd,%ho,%hx)域?qū)捰驅(qū)捴付ㄝ斎霐?shù)據(jù)所占寬度(列數(shù)),域?qū)拺?yīng)為正整數(shù) *表示本輸入項在讀入后不賦值給相應(yīng)的變量Scanf的附加格式說明字符2022-3-23101說明:(1)對unsigned型變量所需的數(shù)據(jù), 可以用u,d或o,x格式輸入。 (2)可以指定植入數(shù)據(jù)所占列數(shù), 系統(tǒng)自動按它截取所需數(shù)據(jù)。 scanf(“%3d%3d”,&a,&b); 輸入123456 系統(tǒng)自動將123賦組a,456 賦給b。 此方法也可用于字符型: scanf(“%3c”,&ch); (3)如果在后有一個“.”附加說明符, 表示跳過它指定的列數(shù)。2022-3-231025.使用scanf函數(shù)時應(yīng)注意的問題(1) scanf函數(shù)中的“格式控制”后面應(yīng)當是變量地址,而不應(yīng)是變量名。(2)如果在“格式控制”字符率中除了格式說明以外還有其他字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。例如 scanf(”d,d”,&a,&am
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)教育平臺培訓(xùn)制度
- 派出所消防工作培訓(xùn)制度
- 農(nóng)機培訓(xùn)規(guī)章制度
- 網(wǎng)絡(luò)咨詢學(xué)習(xí)培訓(xùn)制度
- 籃球培訓(xùn)班封閉管理制度
- 駕校校區(qū)安全培訓(xùn)制度
- 人事規(guī)章制度培訓(xùn)
- 商戶員工培訓(xùn)制度
- 培訓(xùn)學(xué)校督導(dǎo)員管理制度
- 農(nóng)民工學(xué)校培訓(xùn)制度
- YY/T 1778.1-2021醫(yī)療應(yīng)用中呼吸氣體通路生物相容性評價第1部分:風(fēng)險管理過程中的評價與試驗
- GB/T 17213.4-2015工業(yè)過程控制閥第4部分:檢驗和例行試驗
- FZ/T 73009-2021山羊絨針織品
- JJF 1069-2012 法定計量檢定機構(gòu)考核規(guī)范(培訓(xùn)講稿)
- GB∕T 5900.2-2022 機床 主軸端部與卡盤連接尺寸 第2部分:凸輪鎖緊型
- 2011-2015廣汽豐田凱美瑞維修手冊wdl
- DFMEA編制作業(yè)指導(dǎo)書新版
- DB35∕T 1844-2019 高速公路邊坡工程監(jiān)測技術(shù)規(guī)程
- 城市管理綜合執(zhí)法局城管執(zhí)法與執(zhí)法程序PPT模板
- 閥門基礎(chǔ)知識上
- 第二章注射成型工藝與模具結(jié)構(gòu)
評論
0/150
提交評論