版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、21世紀(jì)高職高專規(guī)劃教材 C語言程序設(shè)計(jì)C語言程序設(shè)計(jì)語言程序設(shè)計(jì)教材配套電子教案2007.6第一章 C語言概述C語言出現(xiàn)的歷史背景C語言的特點(diǎn)簡單的C程序介紹C程序的上機(jī)步驟1.2 C語言的特點(diǎn)C 語言簡潔、緊湊,32個(gè)關(guān)鍵字C 有豐富的運(yùn)算符和數(shù)據(jù)結(jié)構(gòu)C 具有結(jié)構(gòu)化的控制語句C 是 C+和Java基礎(chǔ)C 語言能進(jìn)行位操作,可以直接對(duì)硬件進(jìn)行操作C程序可移植性好32 個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double elseenum extern float for gotoif int lon
2、g register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while選擇語句: if (條件) 語句 if (條件)語句else語句 switch (條件)語句循環(huán)語句: while (條件)語句 do while (條件) for (exp1;exp2;exp3)語句轉(zhuǎn)移語句: continue; break; return (表達(dá)式);34 個(gè)運(yùn)算符:算術(shù)運(yùn)算符:+ - * / % + -關(guān)系運(yùn)算符: = !=邏輯運(yùn)算符:! & |位運(yùn)算符: | &賦值運(yùn)算符:
3、= += -= 條件運(yùn)算符: ? :逗號(hào)運(yùn)算符: ,地址運(yùn)算符:* &求字節(jié)數(shù)運(yùn)算符: sizeof強(qiáng)制類型轉(zhuǎn)換:(type-name)分量運(yùn)算符: . -下標(biāo)運(yùn)算符: 其他 :( ) -數(shù)據(jù)類型構(gòu)造類型指針類型空類型定義類型字符類型枚舉整型浮點(diǎn)型單精度雙精度短整型長整型整型數(shù)組結(jié)構(gòu)體共同體基本 類型數(shù)值類型1.3 簡單的 C 程序介紹Exampl 1.1 the first c program Hello,World!/* example1.1 The first C Program*/#include main() printf(“Hello,World!”);備注Include的標(biāo)準(zhǔn)Li
4、brary信息定義 main主函數(shù) 語句output:Hello,World!exp1.2/* example1.1 calculate the sum of a and b*/#include /* 主函數(shù) */main() int a,b,sum; a=123; b=456; sum=add(a,b); printf(”sum= %dn,sum);/* 定義X+y的函數(shù) */int add(int x,int y) int z; z=x+y; return(z);運(yùn)行結(jié)果:sum=579函數(shù)語句預(yù)處理命令注釋1.3 簡單的 C 程序介紹exp1.3輸入兩個(gè)整數(shù),計(jì)算兩者較大者的數(shù),并輸出。
5、 main() /* 主函數(shù) */ /* main函數(shù)體開始 */ int a,b,c; /*定義變量a,b,c*/ int max(int x,int y); /*定義max()函數(shù)*/ scanf(%d,%d,&a,&b); /*調(diào)用庫函數(shù)scanf()給a,b賦值*/ c=max(a,b); /* 調(diào)用max,將調(diào)用結(jié)果賦給c */ printf(max=%d,c); /* main函數(shù)體結(jié)束 */int max(int x,int y) /*定義函數(shù)max*/ /* max函數(shù)體開始 */ int z; /*定義變量z */ if(xy) z=x; else z=y; return z
6、; /* 將z值返回,通過max帶回調(diào)用處 */ /* max函數(shù)體結(jié)束*/格式特點(diǎn)習(xí)慣用小寫字母,大小寫敏感不使用行號(hào),無程序行概念可使用空行和空格常用鋸齒形書寫格式main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進(jìn) 對(duì)齊有足夠的注釋有合適的空行結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成必須有且只能有一個(gè)主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌
7、套調(diào)用得以執(zhí)行。程序語句C程序由語句組成用“;”作為語句終止符注釋/* */為注釋,不能嵌套不產(chǎn)生編譯代碼例: /*This is the main /* of example1.1*/ */ 非法編譯預(yù)處理命令編輯鏈接編譯執(zhí)行1.4 C程序的上機(jī)步驟C程序開發(fā)步驟file.exe程序代碼的錄入,生成源程序*.c語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exeTurbo C集成開發(fā)環(huán)境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系統(tǒng)硬盤容量約2M,448K RAM運(yùn)行空間安裝Turbo C創(chuàng)建子目錄Install若不是可安裝盤,將文件
8、拷貝到對(duì)應(yīng)的目錄下TC*.*INCLUDELIB*.*SYS*.*進(jìn)入Turbo CD:TCTC.exe主控菜單文件操作FILE :New Load Save Write to編輯操作EDIT:插入/修改 塊 查找/替換編譯鏈接COMPILE LINK MAKE執(zhí)行RUN退出Turbo CAlt +xAlt+F ,Q幫助HelpF1Ctrl+F1基本操作:F10-調(diào)用主菜單F2-存盤F3-打開Alt+F9-CompileCtrl+F9-RunAlt+F5-User Screen常用熱鍵文本編輯:-移動(dòng)光標(biāo)PgUp,PgDn-上下翻頁Ctrl+PgUp,Ctrl+PgDn-文件首尾Home En
9、d Ddelete Insert Bkspace塊操作:Ctrl+KB-塊開始標(biāo)記 Ctrl+KK-塊結(jié)束標(biāo)記Ctrl+KC-塊拷貝 Ctrl+KV-塊移動(dòng)Ctrl+KY-塊刪除 Ctrl+KH-塊隱藏窗口操作:F5-窗口縮放F6-窗口切換18常量和變量標(biāo)識(shí)符與關(guān)鍵字整型數(shù)在計(jì)算機(jī)中的存儲(chǔ)方式有符號(hào)的數(shù)據(jù)類型和無符號(hào)的數(shù)據(jù)類型運(yùn)算符及表達(dá)式不同類型數(shù)據(jù)間的轉(zhuǎn)換第二章 C語言數(shù)據(jù)類型與基本操作19數(shù)據(jù)類型 數(shù)據(jù)類型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作數(shù)據(jù)類型構(gòu)造類型指針類型空類型字符類型 char枚舉整型實(shí)型單精度雙精度短整型長整型整型數(shù)組結(jié)構(gòu)體共同體基本類型數(shù)值
10、類型20基本類型類型關(guān)鍵字取值范圍 位數(shù)(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535float321e-371e38double641e-3071e308char8說明:數(shù)據(jù)類型所占位數(shù)隨機(jī)器硬件不同而不同,上表以微機(jī)為例: long double 80 1e-49311e4932字符型浮點(diǎn)型整 型21整型常量 十進(jìn)制:例 15,19,
11、123,-345,0 八進(jìn)制:以 0(零) 開頭的整數(shù) ,例 0123,011 十六進(jìn)制:以 0 x 或 0X 開頭的整數(shù),例 0 x123,0Xff注: 用 l或 L表示一個(gè)數(shù)是長整型,例 123L; 無符號(hào)數(shù)用 u 或 U表示,無符號(hào)長整型用 ul 或 UL 表示,例: 123u,0 xful問題:0123 = ( )100 x123 = ( )100Xff = ( )1083291255問題:0123 = ( )100 x123 = ( )100Xff = ( )10例 12 與 12L例 30000 為int型 65536 為long int 型2.1 常量與變量22實(shí)型常量 格式:(
12、必須有小數(shù)點(diǎn)) 例 0.123, .123, 123.0, 0.0, 123. 指數(shù)格式:(必須有 數(shù)字 在 e 或 E的前面; 指數(shù) 必須是 整型) 例: 12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 注: 用 f 或 F 注明是單精度,用l 或 L 注明是長雙精度,沒有注明則是 雙精度 . 23字符常量和轉(zhuǎn)義字符用單撇號(hào)括起來的一個(gè)字符;一個(gè)字符的值可用ASC數(shù)值表示;如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101特殊形式的字
13、符常量就是以一個(gè)“” 開頭的字符序列,稱為轉(zhuǎn)轉(zhuǎn)義字符。例: n(換行);例 轉(zhuǎn)義字符舉例(ch2_001.c,ch2_004.c) main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);運(yùn)行結(jié)果:(屏幕顯示)A B CI say:”How are you?”C ProgramTurbo C例 main() printf(Yb=n); 運(yùn)行結(jié)果:屏幕顯示:¥ 轉(zhuǎn)義字符及含義:垂直制表 tab位v16進(jìn)制代表的字符xhh水平制表Tab位t8進(jìn)制代表的字符ddd回車r雙撇
14、換行 n單撇換頁f輸出結(jié)果加?號(hào)標(biāo)記?退格b反斜杠響鈴 a24例 符號(hào)常量舉例(ch2_1.c)#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);運(yùn)行結(jié)果:total=30026編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元.addressint a=1, b=-3,c;abc2 bytes2 bytes2 bytesaddressaddress.內(nèi)存1-3隨機(jī)數(shù)變量 變量 及 賦值 定義變量 : 數(shù)據(jù)類型 var1 ,var2,var n ;一個(gè)變量可以邊定義邊賦值; 例
15、: int a,b,c; float data;變量類型決定變量所占存儲(chǔ)空間大小變量名例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;所有變量必須先定義后使用。. 例1 int student; stadent=19; /Undefined symbol statent in function main 例2 float a,b,c; c=a%b; / illegal use of floating point in function main 一般在函數(shù)開始部分定義.main() int a
16、,b=2; float data; a=1; data=(a+b)*1.2; printf(data=%fn,data);變量定義可執(zhí)行語句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(data=%fn,data);3a變量名值存儲(chǔ)單元27整型變量占 2 字節(jié)bytes;shortintlongsizeof( type )求字節(jié)數(shù)實(shí)型變量單精度: 占 4 bytes,7 位有效數(shù)值雙精度: 占 8 bytes,1516位有效數(shù)值字符變量 以 ASC 字符集中的數(shù)值保存在內(nèi)存中;字符可以當(dāng)作一般整型數(shù)來處理.例 float a
17、;a=111111.111; /* a=111111.1*/double b;b=111111.111; /* b=111111.111*/例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=! +G /* s=33+71; */C程序 中沒有 字符串變量28例 #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2- A+a; printf(total=%f,ch1=%cn,total,ch1); 定義符號(hào)常量 定義變量輸出運(yùn)行結(jié)果:t
18、otal=37.500000, ch1=d292.2 標(biāo)識(shí)符和關(guān)鍵字-標(biāo)識(shí)符一個(gè)標(biāo)識(shí)符可由字母、數(shù)字和下劃線組成 ;必須用字母或下劃線開頭;大小寫要區(qū)分 ;不能用保留關(guān)鍵字作變量名 ;避免混淆的字母 ;例如 : l 與 I, o 與 0.例:判斷下列標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $1233032 個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double elseenum
19、extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while-關(guān)鍵字312.3 整型數(shù)在計(jì)算機(jī)中的存儲(chǔ)方式1.二進(jìn)制位與字節(jié) 計(jì)算機(jī)系統(tǒng)的內(nèi)存儲(chǔ)器,是由許多稱為字節(jié)的單元組成的,1個(gè)字節(jié)由8個(gè)二進(jìn)制位(bit)構(gòu)成,每位的取值為0/1。最右端的那1位稱為“最低位”,編號(hào)為0;最左端的那1位稱為“最高位”,而且從最低位到最高位順序,依次編號(hào)。圖11-1是1個(gè)字節(jié)各二進(jìn)制位的編號(hào)。 圖11-1 1個(gè)字節(jié)
20、各二進(jìn)制位的編號(hào)2.數(shù)值的原碼表示數(shù)值的原碼表示是指,將最高位用作符號(hào)位(0表示正數(shù),1表示負(fù)數(shù)),其余各位代表數(shù)值本身的絕對(duì)值(以二進(jìn)制形式表示)的表示形式。為簡化描述起見,本節(jié)約定用1個(gè)字節(jié)表示1個(gè)整數(shù)。 76543210322.3 整型數(shù)在計(jì)算機(jī)中的存儲(chǔ)方式例如,+9的原碼是00001001 符號(hào)位上的0表示正數(shù) -9的原碼是10001001。 符號(hào)位上的1表示負(fù)數(shù) 3.數(shù)值的反碼表示數(shù)值的反碼表示分兩種情況:(1)正數(shù)的反碼:與原碼相同。例如,+9的反碼是00001001。(2)負(fù)數(shù)的反碼:符號(hào)位為1,其余各位為該數(shù)絕對(duì)值的原碼按位取反(1變0、0變1)。例如,-9的反碼:因?yàn)槭秦?fù)數(shù),
21、則符號(hào)位為“1”;其余7位為-9的絕對(duì)值+9的原碼0001001按位取反為1110110,所以-9的反碼是11110110。332.3 整型數(shù)在計(jì)算機(jī)中的存儲(chǔ)方式4.數(shù)值的補(bǔ)碼表示數(shù)值的補(bǔ)碼表示也分兩種情況:(1)正數(shù)的補(bǔ)碼:與原碼相同。例如,+9的補(bǔ)碼是00001001。(2)負(fù)數(shù)的補(bǔ)碼:符號(hào)位為1,其余位為該數(shù)絕對(duì)值的原碼按位取反;然后整個(gè)數(shù)加1。例如,-9的補(bǔ)碼:因?yàn)槭秦?fù)數(shù),則符號(hào)位為“1”;其余7位為-9的絕對(duì)值+9的原碼0001001按位取反為1110110;再加1,所以-9的補(bǔ)碼是11110111。已知一個(gè)數(shù)的補(bǔ)碼,求原碼的操作分兩種情況:(1)如果補(bǔ)碼的符號(hào)位為“0”,表示是一個(gè)
22、正數(shù),所以補(bǔ)碼就是該數(shù)的原碼。(2)如果補(bǔ)碼的符號(hào)位為“1”,表示是一個(gè)負(fù)數(shù),求原碼的操作可以是:符號(hào)位不變,其余各位取反,然后再整個(gè)數(shù)加1。342.3 整型數(shù)在計(jì)算機(jī)中的存儲(chǔ)方式例如,已知一個(gè)補(bǔ)碼為11111001,則原碼是10000111(-7):因?yàn)榉?hào)位為“1”,表示是一個(gè)負(fù)數(shù),所以該位不變,仍為“1”;其余7位1111001取反后為0000110;再加1,所以是10000111。5.數(shù)值在計(jì)算機(jī)中的表示補(bǔ)碼在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼表示(存儲(chǔ)),原因在于:使用補(bǔ)碼,可以將符號(hào)位和其它位統(tǒng)一處理;同時(shí),減法也可按加法來處理。另外,兩個(gè)用補(bǔ)碼表示的數(shù)相加時(shí),如果最高位(符號(hào)位)有進(jìn)位
23、,則進(jìn)位被舍棄。原碼反碼補(bǔ)碼+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000(用一字節(jié)表示數(shù))352.4 有符號(hào)的數(shù)據(jù)類型和無符號(hào)的數(shù)據(jù)類型類型類型標(biāo)識(shí)符長度取值范圍及精度字符型signed char8-128+127unsigned char80255整形signed short int16-32768+32767unsigned short int16065535signed long int32-2 147 483+2 147 6
24、47unsigned long int3204 294 967 295實(shí)型Float32約(3.410-383.41038),6位精度Double64約(1.710-3081.710308),16位精度表2.3基本數(shù)據(jù)歸納362.5 運(yùn)算符及表達(dá)式 算術(shù)運(yùn)算符:+ - * / % + -關(guān)系運(yùn)算符: = !=邏輯運(yùn)算符:! & |位運(yùn)算符: | &賦值運(yùn)算符: = += -= 條件運(yùn)算符: ? :逗號(hào)運(yùn)算符: ,地址運(yùn)算符:* &求字節(jié)數(shù)運(yùn)算符: sizeof強(qiáng)制類型轉(zhuǎn)換:(type-name)分量運(yùn)算符: . -下標(biāo)運(yùn)算符: 其他 :( ) -37賦值運(yùn)算符和復(fù)合賦值運(yùn)算符及表達(dá)式簡單的賦值
25、運(yùn)算 = 變量 = 表達(dá)式復(fù)合的賦值運(yùn)算符 += -= *= /= %= = = &= = |= 變量1 操作符= 表達(dá)式2 變量1 = 變量1 操作符 表達(dá)式2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3; d=func(); c=d+2;38算術(shù)運(yùn)算符及表達(dá)式運(yùn)算符 :+ - * / %(取余)+(自增)-(自減)運(yùn)算規(guī)律 :從左至右優(yōu)先級(jí) : % -* / - + - (1) (2) (3)注:兩個(gè)整數(shù) / 是 整型;兩個(gè)整數(shù) %是 整型.例 5/2 = -5/2 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5/2 = 2 -5
26、/2 = -2 (向零取整)例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 ()39自增、自減運(yùn)算符 + -自增、自減在變量前面: +i, -i (在表達(dá)式中,先自加(自減)后用其值)在變量后面: i+, i- (在表達(dá)式中,先用其值再自加(自減))例 j=3; k=+j; j=3; k=j+; j=3; printf(%d,+j); j=3; printf(%d,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=440 注意 : 只針對(duì)變量,而不針對(duì)
27、常量和表達(dá)式;不要產(chǎn)生二義性;運(yùn)算規(guī)律是自右至左。 如 8+ (x*y)+j= -(+k); k=4 j= -4 j= -(k+); k=4 j= -3 例 k=3; j= -+k; j= -k+; 解決辦法避免在同一表達(dá)式中的同一變量的自加自減.例: i=3; y=(i+)+(i+) y=6 i=5 y=3+3; i+; i+; y=7 i=5 y=3+4; i+;412.不使用連續(xù)運(yùn)算符,用括弧分隔。 例1:i=3;j=1;x=i+j; 例3: i=3; printf(%d,%d, i , i+); x=i+(+j); x=5 i=3 j=2 x=(i+)+j; x=4 i=4 j=1 例
28、2: i=3;j=1;x=i-+j ;等價(jià)于 x=i-(+j); x=1 i=3 j=2可能輸出: 3,3 4,33.在函數(shù)調(diào)用時(shí),實(shí)參的求值順序C無統(tǒng)一規(guī)定.42注:運(yùn)算順序: 右-to-左操作符左邊只能是 變量,不能是常量和 表達(dá)式高到低轉(zhuǎn)換數(shù)據(jù)有可能丟失例 3=x-2*y; a+b=3;例 float f; int i; i=10; f=i;則 f=10.0例 int i; i=2.56; /結(jié)果i=2;例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/表達(dá)式值為5,a,b,c值為5/ b=5;a=5/表達(dá)式值11,c=6
29、,a=11/表達(dá)式值10,a=10,b=4,c=6/表達(dá)式值5,a=5,b=10,c=2類型不一致,數(shù)值型和字符型會(huì)自動(dòng)轉(zhuǎn)換。例: a=12; a+=a-=a*a例: int a=2; a%=4-1; a+=a*=a-=a*=3; /a=-264 等價(jià)于a=a+(a=a-(a*a)/a=0 等價(jià)于a=a+(a=a*(a=a-(a=a*3)43長度測(cè)試運(yùn)算符sizeof長度測(cè)試運(yùn)算符sizeof可用來測(cè)試某個(gè)類型的變量所占用計(jì)算機(jī)內(nèi)存空間的字節(jié)長度。格式為:sizeof(類型名)例:main( )printf(char:%d bytesn,sizeof(char);printf(short:%d
30、 bytesn,sizeof(short);printf(int:%d bytesn,sizeof(int);printf(long:%d bytesn,sizeof(long);printf(float:%d bytesn,sizeof(float);printf(double:%d bytesn,sizeof(double);44關(guān)系運(yùn)算及關(guān)系表達(dá)式 = != 運(yùn)算順序: 左-to-右 優(yōu)先級(jí):=!=優(yōu)先級(jí)別相同(高)優(yōu)先級(jí)別相同(低)例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)關(guān)系表達(dá)式的值為一個(gè)邏輯值,用 1 代表“真”,用 0 代
31、表“假”。非零數(shù)也表示“真”。例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc/表達(dá)式值1/表達(dá)式值1/表達(dá)式值0/d=1/f=045注意:例 若 a=0; b=0.5; x=0.3; 則 a=x278在C中是允許的, 值為0例 int i=1, j=7,a; a=i+(j%4!=0); 則a=2例 a0 結(jié)果為 A100 結(jié)果為1046注意:例 注意區(qū)分“=”與“=” int a=0,b=1; if(a=b) printf(a equal to b); else printf(a not equal to b);例 應(yīng)避免對(duì)實(shí)數(shù)作相等或不等的判斷如 1.
32、0/3.0*3.0=1.0 結(jié)果為可改寫為:fabs(1.0/3.0*3.0-1.0)1e-6047ab!a!ba&ba|bTFTFFFTT邏輯運(yùn)算符和邏輯表達(dá)式 ! & |運(yùn)用邏輯值 : 0 表示 “假” 非0 表示 “真”求邏輯值時(shí) : “假” 則為0 “真” 則為1 TFFFFFTTFFTTTFTT48! &|高低例 a=x & xb&xy a=b|x=y !a|ab優(yōu)先級(jí)別:運(yùn)算順序: ! :right-to-left& :left-to-right| : left-to-right/ (a=x) & (xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)例 a=4;b=5;
33、!a a&b a|b !a|b 4&0|2 53&2|83)&2|(8(4-(!0) 值為1例:已知year 為整型變量,不能使表達(dá)式(year%4=0&year%100!=0)|(year%400=0)的值為“真”的數(shù)據(jù)是() (A)1990 (B)1992 (C)1996 (D)200049! &|高低優(yōu)先級(jí)別: 運(yùn)算順序:! :right-to-left& :left-to-right| :left-to-right短路特性:結(jié)果能確定后,后面的就不再運(yùn)算。例 a&b&c /只在a為真時(shí),才判別b的值; (1假為假) 只在a、b都為真時(shí),才判別 c的值例 a|b|c /只在a為假時(shí),才判
34、別b的值; (1真為真) 只在a、b都為假時(shí),才判別 c的值例 a=1;b=2;c=3;d=4;m=1;n=1; (m=ab)&(n=cd)/結(jié)果m=0,n=150例 if (ab) printf(%d,a); else printf(%d,b);printf(%d,ab?a:b);例 求 a+|b| printf(a+|b|=%dn,b0?a+b:a-b);expr1取expr2值取expr3值非0=0例 (a=b)? Y : N (x%2=1)?1:0 (x=0)?x:-x (c= a & c0?1:(xb?a:cd?c:d ab?a:(cd?c:d)expr1、expr2、expr3 值
35、的類型如果不一樣,則值轉(zhuǎn)換成較高的類型.例 x? a : b /x=0,表達(dá)式值為b ; x0,表達(dá)式值為a xy?1:1.5 /xy ,值為1.0; xy ,值為1.5條件運(yùn)算符及條件表達(dá)式 表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3 像 if 語句的簡化51條件運(yùn)算符及條件表達(dá)式例:從鍵盤讀入一個(gè)整數(shù)賦給x, 如果x大于等于0,把x的平方賦給y,否 則把x的2倍賦給y。 # include stdio.h void main() int x,y; scanf(%d,&x); y=x=0?x*x:2*x; printf(y=%dn,y); 分析下列程序的輸出結(jié)果。#include stdio.hv
36、oid main()int i,j,k,a=3,b=2;i=(-a=b+)?-a:+b;j=a+;k=+b;printf(i=%d,j=%d,k=%dn,i,j,k);請(qǐng)編制程序,任意輸入兩個(gè)整數(shù),輸出其中較小者。 main() int n1,n2,main;clrscr();printf(input two number(n1,n2): );scanf(%d,%d,&n1,&n2);min=(n1n2)?n2:n1;printf(min=%d,min);編制程序,輸入大寫字母,則輸出小寫字母;輸入小寫字母,則輸出大寫字母。 main() char ch; printf(input any l
37、etter: ); scanf(%c,&ch); ch=(ch=A)&(ch=z)?ch+32:ch-32;printf(output:%cn,ch);52逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式表達(dá)式1, 表達(dá)式2, 表達(dá)式n運(yùn)算順序: 左-to-右逗號(hào)表達(dá)式的值是 表達(dá)式 n 的值不是所有的逗號(hào)都是逗號(hào)表達(dá)式例 a=3*5,a*4 a=3*5,a*4,a+5例 x=(a=3,6*3) x=a=3,6*a例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); /a=15,表達(dá)式值60/a=15,表達(dá)式值20/賦值表達(dá)式,
38、表達(dá)式值18,x=18/逗號(hào)表達(dá)式,表達(dá)式值18,x=3/1,2,3/3,2,3例:/*ch2_6.c*/#include main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x);運(yùn)行結(jié)果:x=353位運(yùn)算位運(yùn)算符1按位與 &(1)格式:x&y(2)規(guī)則:對(duì)應(yīng)位均為1時(shí)才為1,否則為0:3&9=1。(3)主要用途:取(或保留)1個(gè)數(shù)的某(些)位,其余各位置0。例如,3&9=1: 0011 & 1001 0001=1 2按位或 |(1)格式:x|y(2)規(guī)則:對(duì)應(yīng)位均為0時(shí)才為0,否則為1:3|9=11。例如,3|9=11: 001
39、1 | 1001 1011=11(3)主要用途:將1個(gè)數(shù)的某(些)位置1,其余各位不變。54位運(yùn)算3按位異或(1)格式:xy(2)規(guī)則:對(duì)應(yīng)位相同時(shí)為0,不同時(shí)為1:39=10。(3)主要用途:使1個(gè)數(shù)的某(些)位翻轉(zhuǎn)(即原來為1的位變?yōu)?,為0的變?yōu)?),其余各位不變。4按位取反(1)格式:x(2)規(guī)則:各位翻轉(zhuǎn),即原來為1的位變成0,原來為0的位變成1:在IBM-PC機(jī)中,00 xffff,9=0 xfff6。(3)主要用途:間接地構(gòu)造一個(gè)數(shù),以增強(qiáng)程序的可移植性。5按位左移(1)格式:x 位數(shù)(2)規(guī)則:使操作數(shù)的各位左移,低位補(bǔ)0,高位溢出:5(1)格式:x位數(shù)(2)規(guī)則:使操作數(shù)的各
40、位右移,移出的低位舍棄;高位:1)對(duì)無符號(hào)數(shù)和有符號(hào)中的正數(shù),補(bǔ)0;2)有符號(hào)數(shù)中的負(fù)數(shù),取決于所使用的系統(tǒng):補(bǔ)0的稱為“邏輯右移”,補(bǔ)1的稱為“算術(shù)右移”。例如,20 2=5。說明:(1)x、y和“位數(shù)”等操作數(shù),都只能是整型或字符型數(shù)據(jù)。除按位取反為單目運(yùn)算符外,其余均為雙目運(yùn)算符。(2)參與運(yùn)算時(shí),操作數(shù)x和y,都必須首先轉(zhuǎn)換成二進(jìn)制形式,然后再執(zhí)行相應(yīng)的按位運(yùn)算。例如,5 2=5:10100 00101。 56位運(yùn)算(3)實(shí)現(xiàn)&、|、運(yùn)算主要用途的方法 1)構(gòu)造1個(gè)整數(shù):該數(shù)在要取(或保留)的位、或要置1的位、或要翻轉(zhuǎn)的位上為1,其余均為0。 2)進(jìn)行按位與、或按位或、或按位異或操作。
41、(4)實(shí)現(xiàn)按位取反主要用途的方法 1)求0,間接地構(gòu)造一個(gè)全1的數(shù); 2)按需要進(jìn)行左移或右移操作,構(gòu)造出所需要的數(shù)。例如,直接構(gòu)造一個(gè)全1的數(shù),在IBM-PC機(jī)中為0 xffff(2字節(jié)),而在VAX-11/780上,卻是0 xffffffff(4字節(jié))。如果用0來構(gòu)造,系統(tǒng)可以自動(dòng)適應(yīng)。572.6 不同類型數(shù)據(jù)間轉(zhuǎn)換 自動(dòng)轉(zhuǎn)換 (automatic)轉(zhuǎn)換規(guī)律如下圖58doublefloatlongunsignedintchar,short低高說明:必須轉(zhuǎn)換運(yùn)算之前例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoub
42、ledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f; double d; long l;59強(qiáng)制轉(zhuǎn)換(類型)(表達(dá)式)例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 注意 值的類型轉(zhuǎn)換了,但變量的類型沒變. 例 main() float x; int i; x=3.6; i=(int)x; printf(x=%f,i=%d,x,i); 結(jié)果:x=3.600000,i=3思考高類型向低類型轉(zhuǎn)換會(huì)怎
43、樣60本章小結(jié)1、基本數(shù)據(jù)類型的種類、取值范圍、在內(nèi)存中占用字節(jié)數(shù);2、常量的表示方法;3、標(biāo)示符的命名規(guī)則,變量的賦值、存放數(shù)據(jù)的實(shí)質(zhì);4、數(shù)據(jù)類型的轉(zhuǎn)換規(guī)律;5、字符與字符串的區(qū)別;6、運(yùn)算符及表達(dá)式:符號(hào)、結(jié)合規(guī)律、優(yōu)先級(jí)、取值;7、邏輯運(yùn)算符及邏輯值的表示;8、逗號(hào)表達(dá)式及取值。 61練習(xí)題1、設(shè)int x=1,y=1;表達(dá)式(!x|y-)的值是() A. 0 B. 1 C. 2 D. -12、以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是() A. long B. _2test C. 3dmax D. a.dat3、若x=3.5,y=2.5,a=2,b=3,則 (float)(a+b)/2+(int)
44、x%(int)y=( ) A. 3.5 B. 2.6 C. 3 D. 2.14、假設(shè)x和y為double型,則表達(dá)式x=2,y=x+3/2的值是() A. 3.500000 B. 3 C. 2.000000 D. 3.0000005、已知a大于b及a小于等于c,則可以表示為() A. baa=c B. ba&ac C. ba|a=c D. b=a6、c語言中合法的常量為() A. e-3 B. 1.2e+02 C. 039 D. xab7、int I=0;執(zhí)行語句while(I+5);后,I的值是() A. 5 B. 6 C.7 D. 48、表達(dá)式:10!9的值是() A. true B. 0
45、 C. 1 D. 非零值9、判斷題:a和“a”在內(nèi)存中所占字節(jié)相同。() c語言沒有邏輯值。 () 62練習(xí)題參考答案1、設(shè)int x=1,y=1;表達(dá)式(!x|y-)的值是(B) A. 0 B. 1 C. 2 D. -12、以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是(B) A. long B. _2test C. 3dmax D. a.dat3、若x=3.5,y=2.5,a=2,b=3,則 (float)(a+b)/2+(int)x%(int)y=( a ) A. 3.5 B. 2.6 C. 3 D. 2.14、假設(shè)x和y為double型,則表達(dá)式x=2,y=x+3/2的值是(D) A. 3.500000
46、 B. 3 C. 2.000000 D. 3.0000005、已知大于b及a小于等于c,則可以表示為(D) A. baa=c B. ba&ac C. ba|a=c D. b=a6、c語言中合法的常量為(b) A. e-3 B. 1.2e+02 C. 039 D. xab7、int I=0;執(zhí)行語句while(I+5);后,I的值是(B) A. 5 B. 6 C.7 D. 48、表達(dá)式:10!9的值是(C) A. true B. 0 C. 1 D. 非零值9、判斷題:a和“a”在內(nèi)存中所占字節(jié)相同。() c語言沒有邏輯值。 () 第三章 順序結(jié)構(gòu)程序設(shè)計(jì)算法C語言概述 標(biāo)準(zhǔn)的輸入與輸出函數(shù)標(biāo)準(zhǔn)輸
47、出/輸入函數(shù)字符輸入/輸出函數(shù)3.1.1 算法的組成要素3.1 算法 程序=算法+數(shù)據(jù)結(jié)構(gòu) 程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語言工具和環(huán)境 1.算法的特性 有窮性 確定性 有0個(gè)或多個(gè)輸入 有1個(gè)或多個(gè)輸出 有效性2.算法的組成要素 (1)操作(2)結(jié)構(gòu)控制 順序結(jié)構(gòu)。 選擇結(jié)構(gòu)(分支結(jié)構(gòu)) 循環(huán)結(jié)構(gòu)(重復(fù)結(jié)構(gòu))。 注釋框 準(zhǔn)備框 待處理框 判斷框 連接點(diǎn) 流程線起止框 處理框 輸出輸入框3.1.2 算法的表示方法3.1 算法1. 用自然語言表示算法 2. 用流程圖表示算法3.1.2 算法的表示方法3.1 算法例如3.1.2 算法的表示方法3.1 算法3. 用N-S流程圖來表示算法 4.用
48、偽代碼表示算法 偽代碼是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號(hào)來描述算法。偽代碼不用圖形符號(hào),書寫方便,格式緊湊,便于向計(jì)算機(jī)語言算法過渡 5.用計(jì)算機(jī)語言表示算法用計(jì)算機(jī)語言表示算法實(shí)際上就是實(shí)際的程序。用計(jì)算機(jī)語言表示算法必須嚴(yán)格遵守所使用的語言的語法規(guī)則 3.1.3 算法設(shè)計(jì)舉例3.1 算法【例3.1】:計(jì)算1x2x3x4x5(即5!)。算法1:直接寫出算式S1: result=1x2x3x4x5 算法2:考慮到1x2x3x4x5可以改寫為:(1x2)x3)x4)x5),S1:p1=1x2S2:p2=p1x3S3:p3=p2x4S4:p4=p3x5 結(jié)果在p4里。算法3:S0: p=
49、1,i=2S1: p=pxi, i=i+1S2: p=pxi, i=i+1S3: p=pxi, i=i+1S4: p=pxi, i=i+1算法4:S0: p=1,i=2S1: p=pxi, i=i+1S2: 如果i小于或等于5,返回重新執(zhí)行步驟S1及S2;否則,算法結(jié)束,此時(shí)p中的值就是5!的值。3.1.3 算法設(shè)計(jì)舉例3.1 算法【例3.1】:計(jì)算1x2x3x4x5(即5!)。i=2P=1i5p=p*i傳統(tǒng)流程圖表示 N-S流程圖表示 【例3.2】: 對(duì)于一個(gè)大于或者等于3的正整數(shù),判斷它是不是一個(gè)素?cái)?shù)。 算法:S0: 輸入nS1: i=2S2: n被i除得到余數(shù)rS3: 如果余數(shù)r=0,表
50、示n能被i整除,則打印n“不是素?cái)?shù)”,算法結(jié)束;否則繼續(xù)執(zhí)行S4。S4: i=i+1S5: 如果in-1,返回執(zhí)行S2,否則打印n“是素?cái)?shù)”,算法結(jié)束 3.1.3 算法設(shè)計(jì)舉例例3、輸入三角形的三邊長,求三角形面積。 3.1 算法main() float a,b,c,s,area; scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c); /* sqrt()求平方根的函數(shù) */ printf(a=%7.2f,b=%7.2f,c=%7.2fn,a,b,c);printf(area=%8.3fn,area);輸入 3 4
51、6 a= 3.00,b= 4.00,c= 6.00area= 5.3333.1.3 算法設(shè)計(jì)舉例【例3.4】( 百錢百雞)公元前五世紀(jì),我國古代數(shù)學(xué)家張丘建在算經(jīng)一書中提出了(百錢百雞):雞翁一值錢五,雞母 一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?3.1 算法 解題思路的分析 這是一個(gè)有名的不定方程問題:cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100 式中: cocks: 雞翁數(shù) hens: 雞母數(shù) chicks: 雞雛數(shù)019中的整數(shù) 033中的整數(shù) 0100中的整數(shù) S1: cocks=0; /*賦初值*/S2: w
52、hile(cocks=19) S2.1: 找出滿足題意的 hens、chicks; S2.2 :cocks加1; /*cocks=cocks+1*/ 下面對(duì)S2.1細(xì)化 思路1:把已經(jīng)確定的cocks帶入(1)與(2)中,求解方程,看能否找到滿意的解。這種思路不太適合計(jì)算機(jī)求解。 思路2:在每個(gè)給定的cocks下,對(duì)hens的取值范圍內(nèi)的各個(gè)值依次測(cè)試,看能找到哪些hens及chicks滿足題意。于是把S2.1細(xì)化為:S2.1.1: hens =0; /*賦初值*/S2.1.2: while(hens =33) S2.1.2.1: 找出滿足題意的chicks; S2.1.2.2:hens加1;
53、 /* hens = hens +1*/ 對(duì)S2.1.2.1細(xì)化對(duì)S2.1.2.1來說,cocks 和hens都已確定,這時(shí)的chicks滿足:chicks=100 cocks-hens于是S2.1.2.1可細(xì)化為:S2.1.2.1:chicks=100 cocks-hens;if(5*cocks+3*hens+chicks/3.0=100)printf(%d%d%dn,cocks,hens,chicks);# include stdio.hvoid main()int cocks,hens,chicks;cocks=0;while(cocks=19)hens=0;while(hensm,正常
54、輸出 ; n,則在左側(cè)用空格補(bǔ)足(右對(duì)齊輸出);若mn,則在右側(cè)用空格補(bǔ)足(左對(duì)齊輸出);若mn,則輸出n個(gè)字符。若n大于字符串長度,則輸出整個(gè)字符串。 # include stdio.hmain()printf(%sn,happyman);printf(%10sn,happyman);printf(%-10sn,happyman);printf(%8.5sn,happyman);printf(%-8.5sn,happyman);運(yùn)行結(jié)果:happyman(一般格式輸出) happyman(輸出寬度10,在左端補(bǔ)2個(gè)空格)happyman (輸出寬度10,在右端補(bǔ)2個(gè)空格) happy (取左
55、端5個(gè)字符,輸出寬度8,在左端補(bǔ)3個(gè)空格)happy (取左端5個(gè)字符,輸出寬度8,在右端補(bǔ)3個(gè)空格) %f格式 %f,按系統(tǒng)默認(rèn)的寬度輸出,并輸出6位小數(shù),單精度數(shù)7位有效數(shù)字,雙精度數(shù)16位有效數(shù)字。 %m.nf,按給定寬度m輸出,包括n位小數(shù)。若數(shù)據(jù)長度m,則右對(duì)齊輸出。 %-m.nf,格式同上。但若數(shù)據(jù)長度m,則左對(duì)齊輸出。main()float x=123456.123;double y=1234567890.1234;printf(%fn,x);printf(%25fn,x);printf(%25.2fn,x);printf(%.2fn,x);printf(n);printf(%f
56、n,y);printf(%25fn,y);printf(%.2fn,y);printf(%-25.2fn,y);運(yùn)行結(jié)果:123456.125000 (一般輸出格式,左對(duì)齊) 123456.125000 (寬度25位,右對(duì)齊) 123456.12 (寬度25位,兩位小數(shù),右對(duì)齊)123456.12 (寬度不限.兩位小數(shù),左對(duì)齊)1234567890.123400 (一般輸出格式,左對(duì)齊) 1234567890123.123050 (寬度25 位,右對(duì)齊)1234567890123.12 (寬度不限,兩位小數(shù),左對(duì)齊)1234657980123.12 (寬度25位,兩位小數(shù),左對(duì)齊) %e格式
57、%e,按規(guī)范的指數(shù)形式輸出,即小數(shù)點(diǎn)前1位非零數(shù)字,小數(shù)點(diǎn)后6位小數(shù),指數(shù)部分占5位,再加上小數(shù)點(diǎn)共13位,如1.123456e+007. %m.ne,按給定的寬度m輸出,包括n位小數(shù)和5位指數(shù).若數(shù)據(jù)長度指定寬度m,則按實(shí)際長度.輸出. %-m.ne,按給定寬度m輸出,包括n位小數(shù)隔和5位指數(shù),若數(shù)據(jù)長度指定寬度m,則按實(shí)際長度輸出.main()float x;double y;x=123456.123;y=1234567890123.123;printf(%en,x);printf(%20en,x);printf(%20.2en,x);printf(%.2en,x);printf(%-20
58、.2en,x);printf(n);printf(%en,y);printf(%20en,y);printf(%20.2en,y);printf(%.2en,y);printf(%-20.2en,y);運(yùn)行結(jié)果:1.23456e+05 (一般輸出格式,左對(duì)齊) 1.23456e+05 (輸出寬度20位,右對(duì)齊) 1.2e+05 (輸出寬度20位,右對(duì)齊)1.2e+05 (輸出寬度不限,含兩位小數(shù),左對(duì)齊)1.2e+05 (輸出寬度20位,兩位小數(shù),左對(duì)齊)1.234567e+12 (一般輸出格式,左對(duì)齊) 1.234567e+12 (輸出寬度20位,右對(duì)齊) 1.2e+12 (輸出寬度20位,
59、右對(duì)齊)1.2e+12 (輸出寬度不限,含兩位小數(shù),左對(duì)齊)1.2e+12 (輸出寬度20位,兩位小數(shù),右對(duì)齊) %g格式 # include stdio.hmain()float x;double y;x=123456.123;y=1234567890123.132;printf(%f,%,e%gn,x,x,x,);printf(%f,%e,%gn,y,y,y);運(yùn)行結(jié)果:123456.125000 ,1.23456e+05,1324561234567890123.123050 ,1.23457e+12 ,1.23457e+12例 int a=1234; float f=123.456; s
60、tatic char c=Hello,world! ; printf(%8d,%-8dn,a,a); printf(%10.2f,%-10.1fn,f,f); printf(%10.5s,%-10.3sn,c,c);運(yùn)行結(jié)果: 1234,1234 123.46,123.5 Hello,Hel-例 int a=1234; float f=123.456; printf(%08dn,a); printf(%010.2fn,f); printf(%0+8dn,a); printf(0+10.2fn,f); 0 、+例 int a=123; printf(%o,%#o,%X,%#Xn,a,a,a,a)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024鋪面租賃合同模板:適用于商業(yè)地產(chǎn)租賃3篇
- 二零二五年度鏟車租賃及運(yùn)輸配送服務(wù)合同2篇
- 二零二四醫(yī)療期間勞動(dòng)合同履行與員工職業(yè)規(guī)劃指導(dǎo)協(xié)議3篇
- 2024美團(tuán)外賣平臺(tái)商家合作合同版B版
- 2025年度工業(yè)用地承包租賃合同書3篇
- 2025年度標(biāo)準(zhǔn)夫妻離婚財(cái)產(chǎn)分割協(xié)議書3篇
- 2025年度勞動(dòng)合同試用期員工培訓(xùn)與發(fā)展計(jì)劃合同3篇
- 《辦公用房租賃合同》范本
- 二零二五年度智能化工程合同執(zhí)行與風(fēng)險(xiǎn)評(píng)估策略3篇
- 年度飛機(jī)及配件競(jìng)爭策略分析報(bào)告
- 大學(xué)面試后感謝信
- 2022屆上海高考語文調(diào)研試測(cè)卷詳解(有《畏齋記》“《江表傳》曰…”譯文)
- SBT11229-2021互聯(lián)網(wǎng)舊貨交易平臺(tái)建設(shè)和管理規(guī)范
- 如何打造頂尖理財(cái)顧問團(tuán)隊(duì)
- 土壤農(nóng)化分析課件
- 小區(qū)大型團(tuán)購活動(dòng)策劃
- NEC(新生兒壞死性小腸結(jié)腸炎)92273
- 2023年租賃風(fēng)控主管年度總結(jié)及下一年展望
- 開關(guān)插座必看的七個(gè)安全隱患范文
- 高分子成型加工課件
- 消防救援-低溫雨雪冰凍惡劣天氣條件下災(zāi)害防范及救援行動(dòng)與安全
評(píng)論
0/150
提交評(píng)論