![C語(yǔ)言程序設(shè)計(jì)教案內(nèi)容_第1頁(yè)](http://file4.renrendoc.com/view/4d9266cb508bf04697d02439b0706292/4d9266cb508bf04697d02439b07062921.gif)
![C語(yǔ)言程序設(shè)計(jì)教案內(nèi)容_第2頁(yè)](http://file4.renrendoc.com/view/4d9266cb508bf04697d02439b0706292/4d9266cb508bf04697d02439b07062922.gif)
![C語(yǔ)言程序設(shè)計(jì)教案內(nèi)容_第3頁(yè)](http://file4.renrendoc.com/view/4d9266cb508bf04697d02439b0706292/4d9266cb508bf04697d02439b07062923.gif)
![C語(yǔ)言程序設(shè)計(jì)教案內(nèi)容_第4頁(yè)](http://file4.renrendoc.com/view/4d9266cb508bf04697d02439b0706292/4d9266cb508bf04697d02439b07062924.gif)
![C語(yǔ)言程序設(shè)計(jì)教案內(nèi)容_第5頁(yè)](http://file4.renrendoc.com/view/4d9266cb508bf04697d02439b0706292/4d9266cb508bf04697d02439b07062925.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言概述【教學(xué)目的】使學(xué)生對(duì)計(jì)算機(jī)語(yǔ)言有f的認(rèn)識(shí),激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣?!窘虒W(xué)重點(diǎn)】程序設(shè)計(jì)中的若干術(shù)語(yǔ)。【教學(xué)難點(diǎn)】理解程序設(shè)計(jì)中的若干術(shù)語(yǔ)。【教學(xué)方法】講授式、討論式、案例分析式?!拘抡n內(nèi)容】1、計(jì)算機(jī)語(yǔ)百2、計(jì)算機(jī)程序設(shè)計(jì)什么是程序?為了解決某一特定問(wèn)題用某一種計(jì)算機(jī)諦言編寫(xiě)的指令序列稱為程序。什么是程序設(shè)計(jì)?程序是程序設(shè)計(jì)的結(jié)果,在執(zhí)行程序前必須先排定程序,排定以時(shí)間為進(jìn)程必須完成的各種操作叫程序設(shè)計(jì)。用高級(jí)諦言進(jìn)行程序設(shè)計(jì)時(shí)要注意以下三個(gè)概念:語(yǔ)法,每種計(jì)算機(jī)語(yǔ)言都有自己的語(yǔ)法規(guī)則。語(yǔ)義,即某一語(yǔ)法成分的含義。語(yǔ)用,即正確使用語(yǔ)百。3、C語(yǔ)言的由來(lái)規(guī)模較大,難以實(shí)現(xiàn)無(wú)數(shù)據(jù)類型接近硬件,但過(guò)于簡(jiǎn)單,功能有限用其編寫(xiě)了UNIX操作系統(tǒng)功能更強(qiáng)大,面向?qū)ο蠊δ芨鼜?qiáng)大,面向?qū)ο?、C語(yǔ)言的特點(diǎn)語(yǔ)言簡(jiǎn)潔、緊湊,使用靈活運(yùn)算符*富豐富的數(shù)據(jù)類型結(jié)構(gòu)化的控制語(yǔ)句語(yǔ)法限制/、嚴(yán)格能進(jìn)行位操作語(yǔ)言生成的代碼質(zhì)量高可移植性好具有預(yù)處理功能5、簡(jiǎn)單C程序介紹main(){inta,b,sum;a=123;
b=456;sum=a+b;printf("Sumis%d\n",sum);)intmax(intx,inty){intz;if(x>=y)z=x;elsez=y;return(z);)main(){inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf("max=%\n",c);)6、作業(yè)說(shuō)明C語(yǔ)百的由來(lái)。算法【教學(xué)目的】使學(xué)生對(duì)計(jì)算機(jī)算法有f的認(rèn)識(shí),激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣?!窘虒W(xué)重點(diǎn)】NS圖的基本知識(shí)【教學(xué)難點(diǎn)】算法的特性與設(shè)計(jì)【教學(xué)方法】講授式、討論式、案例分析式?!拘抡n內(nèi)容】1、算法的概念廣義地說(shuō),為解決一個(gè)問(wèn)題采取的方法和步驟。計(jì)算機(jī)算法分類數(shù)值算法求方程的根求函數(shù)的定積分非數(shù)值算法圖書(shū)檢索人事管理2、簡(jiǎn)單算法舉例求閏年的算法求素?cái)?shù)的算法3、算法的特性有窮性算法要包含有限的步驟確定性每一步必須明確有零個(gè)或多個(gè)輸入需要從外界獲取必要的信息有一個(gè)或多個(gè)輸出需要把求得得解進(jìn)行輸出有效性每一步都能有效地執(zhí)行4、算法的表小方法設(shè)計(jì)算法自然語(yǔ)言傳統(tǒng)流程圖改進(jìn)的流程圖N-S圖(盒圖)偽代碼實(shí)現(xiàn)算法計(jì)算機(jī)語(yǔ)言傳統(tǒng)流程圖優(yōu)點(diǎn):描繪直觀,容易掌握缺點(diǎn):對(duì)流程線沒(méi)有嚴(yán)格控制三種基本結(jié)構(gòu)N-S圖(盒圖)I.Nassi和B.Shneiderman提出取消流程線,不能任意轉(zhuǎn)移控制使用N-S符號(hào)設(shè)計(jì)出來(lái)的程序必然是結(jié)構(gòu)化程序容易表示嵌套關(guān)系容易確定局部和全局?jǐn)?shù)據(jù)的作用域N-S的基本符號(hào)3.6PDL(過(guò)程設(shè)計(jì)語(yǔ)言一偽碼)用結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言的語(yǔ)法控制框架,在內(nèi)部卻可靈活使用自然語(yǔ)言來(lái)表示各種操作比流程圖更靈活,可以使用普通的正文編輯程序進(jìn)行修改可以作為注釋直接插在源程序中,提高文檔質(zhì)量有自動(dòng)處理程序存在,可以自動(dòng)生成程序代碼缺點(diǎn):不如圖形工具直觀BEGINinputm,nifm<nexchangemandnm%nrwhilerw0{nmrnm%nr}printnEND計(jì)算機(jī)語(yǔ)言BEGINinputm,nifm<nexchangemandnm%nrwhilerw0{nmrnm%nr}printnENDmain(){intm,n,r,t;scanf("%d,%d,&m,&n);if(m<n){t=m;m=n;n=t;}r=m%n;while(r!=0){m=n;n=r;r=m%n;}printf("n=%d,n);}4、結(jié)構(gòu)化程序設(shè)計(jì)方法原理:用三種基本控制結(jié)構(gòu),通過(guò)組合和嵌套可實(shí)現(xiàn)任何單入口、單出口的程序。方法:自頂向下逐步細(xì)化模塊化5、作業(yè)畫(huà)簡(jiǎn)單程序的NS圖和PDL代碼。數(shù)據(jù)類型【教學(xué)目的】使學(xué)生對(duì)程序設(shè)計(jì)數(shù)據(jù)類型的較全面而深入的掌握?!窘虒W(xué)重點(diǎn)】數(shù)據(jù)類型的存儲(chǔ)空間、長(zhǎng)度【教學(xué)難點(diǎn)】常量與變量的概念【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)案例分析式?!拘抡n內(nèi)容】1、基本類型整型實(shí)型(浮點(diǎn)型)單精度、雙精度構(gòu)造類型數(shù)組類型結(jié)構(gòu)體類型共用體類型指針類型空類型2、常量與變量符號(hào)常量用一個(gè)標(biāo)識(shí)符代表一個(gè)常量#definePI3.14159main(){floatr,s,area;scanf("%f',&r);s=2*PI*r;area=PI*r*r;printf("s=%7.2f,area=%7.2f',s,area);}變量的概念程序運(yùn)行過(guò)程中其值可以改變的量,系統(tǒng)為程序中的每一個(gè)變量開(kāi)辟一個(gè)存儲(chǔ)單元,如:main(){inta,b;a=2;printf("a=%d\n",a);b=4;printf("b=%dn",b);}變量名標(biāo)識(shí)符:用來(lái)標(biāo)識(shí)變量名、符號(hào)常量名、數(shù)組名、函數(shù)名、文件名的有效字符序列。關(guān)鍵字預(yù)定義標(biāo)識(shí)符用戶定義標(biāo)識(shí)符字母或下劃線開(kāi)頭,后跟字母、數(shù)字和下劃線組成。變量要先定義后使用3、整型常量三種形式表?。菏M(jìn)制:如123-600八進(jìn)制:以0開(kāi)始,如0123十六進(jìn)制:以0x開(kāi)始,如0x123main(){inta=0123;printf("a=%dn”,a);}整型變量分類int整型shortint(或short)短整型longint(或long)長(zhǎng)整型unsignedint無(wú)符號(hào)整型unsignedshort無(wú)符號(hào)短整型unsignedlong無(wú)符號(hào)長(zhǎng)整型各類型數(shù)據(jù)長(zhǎng)度、取值范圍所占位數(shù)取值范圍int16-32768?32767short16-32768?32767long32-21億?21億unsignedint160?65535unsignedshort160?65535unsignedlong320?42億4、整型變量的定義所有的變量需先定義類型inta,b,c;/*指定a,b,c為整型變量*/unsignedcount;/*指定lower為無(wú)符號(hào)整型變量*/longs;有些變量可以預(yù)先設(shè)置初值:inta=0,b,c;/*指定a,b,c為整型變量,a的初值為0*/inta=0,b=0,c=0;/*指定a,b,c為整型變量,a、b、c的初值為0*/5、整型數(shù)據(jù)的溢出main(){inta,b;a=32767;b=a+1;printf("%d,%dn”,a,b);}main(){inta=70000;printf("a=%dn”,a);}整型常量的類型main(){unsigneda;a=-1u;printf("a=%un”,a);}6、作業(yè)計(jì)算正方形面積浮點(diǎn)等數(shù)據(jù)類型
【教學(xué)目的】使學(xué)生對(duì)程序設(shè)計(jì)數(shù)據(jù)類型的較全面而深入的掌握?!窘虒W(xué)重點(diǎn)】數(shù)據(jù)類型的存儲(chǔ)空間、長(zhǎng)度【教學(xué)難點(diǎn)】常量與變量的概念【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)案例分析式。【新課內(nèi)容】1、實(shí)型常量小數(shù)形式:如123.0.123指數(shù)形式:如123e2123E2main(){floata;a=123e3;printf("a=%en”,a);}實(shí)型變量1、實(shí)型常量小數(shù)形式:如123.0.123指數(shù)形式:如123e2123E2main(){floata;a=123e3;printf("a=%en”,a);}實(shí)型變量1、分類float-3.4*10-38~3.4*10380.012.5所占位數(shù)單精度取值范圍32double~1.7*10308雙精度64-1.7*10-308longdouble長(zhǎng)雙精度~1.2*104932128-1.2*10-49322、變量的定義2、變量的定義floatx,y;doublez;3、字符型常量/*/*指定x,y為單精度實(shí)型變量*/
指定z為雙精度實(shí)型變量*/單引號(hào)括起來(lái)的一個(gè)字符。如:'a'字符常量可以象整數(shù)一樣參與運(yùn)算。字符常量還有另外一種形式轉(zhuǎn)義字符形式。轉(zhuǎn)義字符功能轉(zhuǎn)義字符功能\a響鈴\\反斜杠字符\b退一格\'單引號(hào)字符\f走紙換頁(yè)\"雙引號(hào)字符\n換行\(zhòng)?問(wèn)號(hào)\r代表的字符回車(chē)\ooo1?3位8進(jìn)制數(shù)\t橫向跳格\xhh1?2位16進(jìn)制數(shù)代表的字符4、字符變量變量的定義charc1,c2;/*指定c1,c2為字符型變量*/2、字符型數(shù)據(jù)的存儲(chǔ)以ASCII碼存儲(chǔ),存儲(chǔ)形式與整型一樣,可以和整數(shù)進(jìn)行運(yùn)算main(){charc1,c2;c1='a';c2='b';c1=c1-32;c2=c2-32;printf("%cn”,c1,c2);printf("%d,%dn",c1,c2);}字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及使用方法main(){charc1,c2;c1=97;c2=98;printf("%c,%cn",c1,c2);printf("%d,%dn",c1,c2);c2=c2+1;printf("%c,%dn",c2,c2);5、字符串常量雙引號(hào)括起來(lái)的字符序列。如"Howareyou","0"等字符串在存儲(chǔ)時(shí)末尾被自動(dòng)加上字符'\0'字符常量與只包含一個(gè)字符的字符串常量的區(qū)別例:不屬于字符常量的是'A'舊'n''x72,例:合法的字符常量是“abc”'x43''ab'“0”例:字符串“””的長(zhǎng)度是34612變量賦初值例:inta=3;floatb=2.5;charc='a';例:inta,b,c=5;7、作業(yè)計(jì)算圓的面積,PI=3.14159各類數(shù)據(jù)間的混合運(yùn)算【教學(xué)目的】掌握各種數(shù)據(jù)間混合計(jì)算類型轉(zhuǎn)換的方法?!窘虒W(xué)重點(diǎn)】強(qiáng)制類型轉(zhuǎn)換【教學(xué)難點(diǎn)】轉(zhuǎn)換優(yōu)先級(jí)次序【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)、案例分析式?!拘抡n內(nèi)容】1、C語(yǔ)言允許數(shù)據(jù)值從一種類型轉(zhuǎn)換成另一種類型。在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)則按圖所示。高doublefloatlongunsigned低intchar,short說(shuō)明:橫向向左的箭頭表示當(dāng)運(yùn)算對(duì)象為不同類橫向向左的箭頭表示必定的轉(zhuǎn)換,如字符型(char)數(shù)據(jù)和短整型(short)數(shù)據(jù)必定先轉(zhuǎn)換成整型(int),以提高運(yùn)算精度。縱向的箭頭表示當(dāng)運(yùn)算對(duì)象為不同類型時(shí)轉(zhuǎn)換的方向型時(shí)轉(zhuǎn)換的方向。數(shù)據(jù)總是由低級(jí)別向高級(jí)別轉(zhuǎn)換。算術(shù)運(yùn)算符和算術(shù)表達(dá)式基本算術(shù)運(yùn)算符運(yùn)算符的優(yōu)先級(jí)和結(jié)合性自增、自減運(yùn)算符算術(shù)運(yùn)算符十(加法運(yùn)算或正號(hào)運(yùn)算符)-(減法運(yùn)算或負(fù)號(hào)運(yùn)算符)*(乘法運(yùn)算符)/(除法運(yùn)算符)%(求余運(yùn)算符,或稱模運(yùn)算符)例:5%3結(jié)果:22、運(yùn)算符的優(yōu)先級(jí)和結(jié)合性算術(shù)表達(dá)式用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算量連接起來(lái)的式子稱為算術(shù)表達(dá)式。運(yùn)算符有優(yōu)先級(jí)和結(jié)合性在求表達(dá)式的值時(shí),要按照優(yōu)先級(jí)的高低依次計(jì)算
如果運(yùn)算符兩側(cè)優(yōu)先級(jí)相同,則按規(guī)定的結(jié)合方向進(jìn)行。結(jié)合性例:main(){intm=7,n=5;floata=49,b=10,x;x=m/2+n*a/b+1/2;printf("x=%fn”,x);3、C語(yǔ)言提供一種“強(qiáng)制類型轉(zhuǎn)換”運(yùn)算符,將一個(gè)類型的變量強(qiáng)制轉(zhuǎn)換為另一種類型。一般形式為:(類型標(biāo)識(shí)符)(表達(dá)式)例如:k=(int)((int)x+(float)i)(float)(x=85)/*
k=(int)((int)x+(float)i)(float)(x=85)/*
/*得到整型數(shù)*/得實(shí)型單精度數(shù)*/例:main(){floatx=3.6;inta;a=(int)x;printf("x=%f,a=%dn”,x,a);}例:main(){floatx=2.6,y=3.5,z;inta;z=(int)x+y;a=(int)(x+y);printf("z=%f,a=%dn”,a,z);}4、作業(yè)P663.93.10各運(yùn)算符【教學(xué)目的】掌握各種運(yùn)算符的使用方法。【教學(xué)重點(diǎn)】++與一一運(yùn)算符的使用復(fù)合賦值運(yùn)算符【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)、案例分析式【新課內(nèi)容】1、自增、自減運(yùn)算符++運(yùn)算符的作用是使變量的值增1。--運(yùn)算符的作用是使變量的值減1。常見(jiàn)的用法有:++i,--i在使用i前,使i的值加(減)1i++,i--在使用i后,使i的值加(減)1已知i=5(1)j=i++;例i=3;j=-i++;注意:1)、自增和自減運(yùn)算符只能用于變量,表達(dá)式(x+y)++是不合法的。2)、自增和自減運(yùn)算符的結(jié)合方向是“自右向左”。如表達(dá)式-i++等價(jià)于-(i++)。3)、(i++)+(i++)+(i++)結(jié)果?4)、(++i)+(++i)+(++i)結(jié)果?5)、i+++j是(i++)+j還是i+(++j)?6)、printf("%d,i,i++)結(jié)果例:i=3;j=4;k=5;m=(++i)+(--j)+(k--);2、賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符復(fù)合的賦值運(yùn)算符賦值表達(dá)式賦值運(yùn)算符簡(jiǎn)單的賦值就是把一個(gè)表達(dá)式的值賦給一個(gè)變量。例如:i=5j=i+1類型轉(zhuǎn)換舍去小數(shù)部分,也不進(jìn)行四舍五入。例:inti=3.56;則i的值為3。數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)。例:floatf=23;f的值為23.0000截取其前面7位有效數(shù)字,但應(yīng)該注意數(shù)值范圍不能溢出。floatdouble數(shù)值不變,在內(nèi)存中以64位存儲(chǔ)。有兩種情況:A:如果系統(tǒng)將字符處理為無(wú)符號(hào)數(shù),或?qū)nsignedchar型變量賦值,則將字符的8位放在int型的底8位,高8位為00例:main(){unsignedcharc;c='376';printf("%c,%d,%un“,c,c,c);}B.如果系統(tǒng)將字符處理為帶符號(hào)的量,若字符的最高位為0,則整型變量高8位補(bǔ)0;若字符最高位為1,則整型變量高8位補(bǔ)1。(即ASCII碼在0?127之間,值不變;128?254之間,值為負(fù)值。)例:main(){charc;c='376';printf("%c,%d,%un“,c,c,c);}只須將低8位原封不動(dòng)送到char型變量。main(){inti=289;charc='a';c=i;printf("%c,%dn”,c,c);}int為正數(shù)時(shí),longint的高16位補(bǔ)0;int為負(fù)數(shù)時(shí),longint的高16位補(bǔ)1;Iongintint則int只取長(zhǎng)整型的低16位。main(){inta;longintb=65536;a=b;printf("a=%dn”,a);}⑺只需將高位補(bǔ)0,數(shù)值不變。unsignedintintunsignedlong1ongunsignedshortshort因?yàn)樽止?jié)數(shù)相同,所以內(nèi)容原封不動(dòng)不變;但應(yīng)注意,當(dāng)unsignedxx型的最高位為1時(shí),賦給xx型時(shí),由于xx型的最高位為符號(hào)位,所以數(shù)據(jù)將變?yōu)樨?fù)值。main(){unsignedinta=32768;intb;b=a;printf("b=%dn",b);}(8)intunsignedintIongunsignedlongshortunsignedshort因?yàn)樽止?jié)數(shù)相同,所以內(nèi)容原封不動(dòng)不變;但非unsigned型的符號(hào)位將做為unsigned型的數(shù)值計(jì)算。main(){unsignedinta;intb=-1;a=b;printf("b=%dn”,a);}3、復(fù)合的賦值運(yùn)算符在賦值符“二”之前加上其它運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符。例如:i+=2等價(jià)于i=i+2a*=b+5等價(jià)于a=a*(b+5)x%=3等價(jià)于x=x%34、賦值表達(dá)式由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱為賦值表達(dá)式。形式:〈變量〉〈賦值運(yùn)算符〉〈表達(dá)式〉例如:x=3y=x+3對(duì)賦值表達(dá)式求解的過(guò)程是:將賦值運(yùn)算符右側(cè)的表達(dá)式的值賦給左側(cè)的變量。賦值表達(dá)式的值就是被賦值的變量的值。結(jié)合性注意:一般形式的賦值表達(dá)式中的“表達(dá)式”又可以是一個(gè)賦值表達(dá)式。如:a=b=8按照從右到左的結(jié)合性等價(jià)于a=(b=8)賦值表達(dá)式也可以包含復(fù)合的賦值運(yùn)算符。設(shè)a的值為6,計(jì)算a+=a-=a*a先進(jìn)行a*a的計(jì)算,結(jié)果為36再進(jìn)行a-=36的計(jì)算,相當(dāng)于a=a-36=-30最后進(jìn)行a+=-30的計(jì)算,相當(dāng)于a=a-30=-60例:main(){inta,b,c,d,e;a=b=c=d=e=5;b+=a+3*a;c%=a-3;e=d*=a+3;a-=a*=a;printf("a=%d,b=%d,c=%d,d=%d,e=%n”,a,b,c,d,e);5、逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式在逗號(hào)表達(dá)式中,逗號(hào)是一種運(yùn)算符。形式如下表達(dá)式1,表達(dá)式2由逗號(hào)隔開(kāi)的一對(duì)表達(dá)式從左向右進(jìn)行計(jì)算,其求解過(guò)程為:先求解表達(dá)式1,再求表達(dá)式2,整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式2的值。逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。例如a=4*6,a+5整個(gè)逗號(hào)表達(dá)式的值為29。注思一個(gè)逗號(hào)表達(dá)式又可以與另一個(gè)表達(dá)式組成一個(gè)新的逗號(hào)表達(dá)式,例如:(a=4*6,a+5),a+6整個(gè)表達(dá)式的值為30。例:intn=3,m=3;執(zhí)行語(yǔ)句m=n++,m++,++n;后n的值,m的值o34566、作業(yè)P673.113.12順序程序設(shè)計(jì)【教學(xué)目的】掌握順序程序設(shè)計(jì)的方法【教學(xué)重點(diǎn)】格式化輸入與輸出【教學(xué)難點(diǎn)】格式化輸入的使用方法【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)、案例分析式?!拘抡n內(nèi)容】1、賦值語(yǔ)句由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成,作用是將一個(gè)確定的值賦給一個(gè)變量。格式:變量名=表達(dá)式;說(shuō)明先計(jì)算,后賦值。賦值語(yǔ)句中的“二”是賦值號(hào)而不是數(shù)學(xué)意義上的等號(hào)。賦值號(hào)兩側(cè)的內(nèi)容不能任意調(diào)換。2、字符數(shù)據(jù)的輸入輸出字符輸出函數(shù)格式:putchar(c)功能:將c值所對(duì)應(yīng)的字符輸出到標(biāo)準(zhǔn)輸出設(shè)備上(一般為顯示器)c可以是整型或字符型。一次只能輸出一個(gè)字符,也可以輸出控制符,如putchar('\n')輸出一個(gè)換行符,即光標(biāo)移到下一行。例:putchar('a\n');錯(cuò)改為putchar('a');putchar('\n');putchar(a,b);錯(cuò)改為putchar(a);putchar(b);例:#include"stdio.h"main(){charch1,ch2;ch1='A';ch2='B';putchar(ch1);putchar(ch2);putchar('n');}運(yùn)行程序,運(yùn)行結(jié)果為ABputchar()函數(shù)也可以輸出轉(zhuǎn)義字符,如:putchar('\101')即輸出字符‘A'字符輸入函數(shù)格式:getchar()、功能:從標(biāo)準(zhǔn)設(shè)備(一般是鍵盤(pán))輸入一個(gè)字符。字符輸入函數(shù)沒(méi)有參數(shù),函數(shù)值就是從設(shè)備輸入的字符。應(yīng)注意空格和回車(chē)符也是字符,也可以被接受例:#include<stdio.h>main(){chara,b,c,d;a=getchar();b=getchar();c=getchar();d=getchar();putchar(a);putchar(b);putchar(c);putchar(d);}例3從鍵盤(pán)輸入三個(gè)大寫(xiě)字母,將其轉(zhuǎn)換成小寫(xiě)字母輸出。#include"stdio.h"main(){charc1,c2,c3;c1=getchar();c2=getchar();c3=getchar();c1=c1+32;c2=c2+32;c3=c3+32;putchar(c1);putchar(c2);putchar(c3);}3、格式輸入輸出1、格式輸出函數(shù)格式:printf(格式控制,輸出表列)功能:printf函數(shù)可以將任意類型的多個(gè)數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備上(一般為顯示器)。格式字符含義d十進(jìn)制形式輸出帶符號(hào)整數(shù)(正數(shù)輸出不帶符號(hào))o八進(jìn)制形式輸出無(wú)符號(hào)整數(shù)(不輸出前導(dǎo)0)x十六進(jìn)制形式輸出無(wú)符號(hào)整數(shù)(不輸出前導(dǎo)0x)u十進(jìn)制形式輸出無(wú)符號(hào)整數(shù)c輸出一個(gè)字符s輸出一個(gè)字符串f小數(shù)形式輸出單、雙精度實(shí)數(shù)(隱含輸出6位小數(shù))e指數(shù)形式輸出單、雙精度實(shí)數(shù)(數(shù)字部分有6位小數(shù))g當(dāng)指數(shù)小于-4或大于給定的精度時(shí)用%哈式,否則用%f格式:附加格式說(shuō)明符格式字符含義字母l用于長(zhǎng)整型,可加在格式符d,o,x,u之前m(整數(shù))數(shù)據(jù)最小寬度.n(整數(shù))對(duì)實(shí)數(shù),表示輸出n位小數(shù);對(duì)字符串,表示截取的字符個(gè)數(shù)一輸出的數(shù)字或字符在域內(nèi)向左靠例:main(){inta,b;a=3;b=4;printf("a=%db=%dn”,a,b);printf("a=%d,b=%dn”,a,b);printf("%d,%dn”,a,b);printf("%d%dn",a,b);}例:main(){inta=123;b=4567;printf("%d%dn",a,b);printf(“%2d%2dn",a,b);printf("%4d%6ch",a,b);printf("%n”,a,b);printf("%n”,a,b);)除了X、E、G外,其它格式字符要求小寫(xiě)例:main(){inta=-654;printf("|%6D|n”,a);printf("|%6d|n",a);)例:main(){inta=97;charb='b';printf("%%da=%dn",a,a);printf("%%db=%dn",b,b);printf("%%3cb=%3cn",b);)%da=97%ca=a%db=98%cb=b%3cb=b例4main(){inta,b;floatx;charc;a=123;b=-1;x=3.14;c='A';printf("%d,%4d\n",a,a);printf("%d,%x,%o,%u\n",b,b,b,b);printf("%c,%d\n",c,c);printf("%f,%6.1f\n",x,x);)4、格式輸入函數(shù)格式:scanf(格式控制,地址表列)功能:scanf函數(shù)可以從標(biāo)準(zhǔn)輸入設(shè)備輸入任意類型的多個(gè)數(shù)據(jù)般為顯小器)。注意:輸入數(shù)不能規(guī)定精度當(dāng)輸入一審數(shù)據(jù)時(shí),系統(tǒng)如何區(qū)分每個(gè)數(shù)據(jù)呢?(1)根據(jù)格式字符的含義分隔字符。sacnf("%d%c%f",&a,&b,&c);若輸入數(shù)據(jù):120a45.6貝Ua=120,b='a',c=45.6
(2)系統(tǒng)按格式中指定的長(zhǎng)度截取所需的數(shù)據(jù)。scanf("%3d%2d",&a,&b);輸入數(shù)據(jù)12345則a=123,b=45例:main(){inta;charb,c;scanf("%3d%c%c,&a,&b,&c);printf("a=%db=%cc=%cn”,a,b,c);}例:main(){chara,b;scanf("%3c%3c,&a,&b);printf("%3c%3cn",a,b);}(3)用隱含的分隔符。在輸入數(shù)據(jù)中用空格或換行符分隔數(shù)據(jù)。scanf("%d%d%d",&a,&b,&c);輸入數(shù)據(jù)345或輸入34(回車(chē))5(回車(chē))則a=3,b=4,c=5(4)%后的“*”附加說(shuō)明符,用來(lái)表示跳過(guò)它相應(yīng)的數(shù)據(jù)。scanf("%d,%*d,%d",&a,&b);如果輸入3,4,5則a=3,b=5,第二個(gè)數(shù)據(jù)跳過(guò)不賦給任何變量。(5)使用顯示分隔符。在格式說(shuō)明符中還可以有其它字符,在輸入字符時(shí)應(yīng)輸入與這些字符相同的字符。scanf("%d,%d,%d",&a,&b,&c);輸入數(shù)據(jù)3,4,5scanf("a=%d,b=%d,c=%d",&a,&b,&c);輸入數(shù)據(jù)a=3,b=4,c=5(6)用“%C格式輸入字符時(shí),空格字符和轉(zhuǎn)義字符都作為肩效字符輸入:scanf("%c%c%c",&c1,&c2,&c3);如果輸入abc則字符'a'送給cl,空格送給c2,字符'b'送給c3皿:(1)輸入時(shí)不能規(guī)定精度,如scanf("%6.1f”,&a)是不合法的。(2)格式控制之后是地址表列而不是變量表列scanf("%d,%d,&a,&b);是正確的,而scanf("%d,%d,a,b);是錯(cuò)誤的。6、作業(yè)P84.10選擇結(jié)構(gòu)程序設(shè)計(jì)【教學(xué)目的】掌握選擇結(jié)構(gòu)程序設(shè)計(jì)的方法?!窘虒W(xué)重點(diǎn)】IF語(yǔ)句的語(yǔ)法與使用I表達(dá)式的邏輯值判斷結(jié)果【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)、案例分析式。【新課內(nèi)容】1、關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式、關(guān)系表達(dá)式、賦值表達(dá)式或邏輯表達(dá)式)連接起來(lái)的式子,稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式的值為邏輯值“真”或“假”,以1代表“真”,以0代表“假”。結(jié)合性例如:關(guān)系表達(dá)式“8==4”的值為“假”,表達(dá)式的值為0o關(guān)系表達(dá)式“5>0”的值為“真”,表達(dá)式的值為1。若a=5,b=3,c=1,則a>b>c的計(jì)算過(guò)程是:先計(jì)算a>b,結(jié)果為真,值為1再計(jì)算1>c,結(jié)果為假,值為0f=b>c!=a的計(jì)算過(guò)程是:先計(jì)算b>c,結(jié)果為1再計(jì)算1!=a結(jié)果為1最后將1賦值給f例:main(){inta;a=5;printf("%dn",a<0);}例:a=3;b=2;c=1;f=a>b>cf的值是多少?例:main(){inta;a=0;printf("%dn”,-1<a<1);)2、邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符!(邏輯非)&&(邏輯與)||(邏輯或)運(yùn)算符的優(yōu)先級(jí)邏輯表達(dá)式邏輯表達(dá)式的值是一個(gè)邏輯量“真”或“假”。C語(yǔ)言編譯系統(tǒng)在給出邏輯結(jié)果時(shí),以數(shù)值1代表“真”,以0代表“假”;但是在判斷一個(gè)量是為“真”時(shí),以非0代表“真”,以0代表“假”。例如:若x=10,則!x的值為00若a=3,b=2,貝Ua&&b的值為1。M08的值為1。結(jié)合性例:a=4;b='B';寫(xiě)出下列表達(dá)式是值!aa&&ba||ba&&!b||2邏輯運(yùn)算符特點(diǎn)在邏輯表達(dá)式的求解中并不是所有的運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行下一個(gè)運(yùn)算符。例如:1、a&&b&&c2、a||b||c當(dāng)a=5,b=3,c=2,d=1,x=1,y=1則表達(dá)式(x=a<b)&&(y=c<d)首先計(jì)算“a<b",結(jié)果為0,則x=0,因此"y=c<d”不被執(zhí)行,所以y的值仍為1而不是00例:a=1;b=2;c=3;d=4;m=1;n=1;z=(m=a>b)&&(n=c<d);z=(m==a>b)&&(n==c>d);z=(m=a>b)||(n=c>d);z=(m=a<b)&&(n=c>d);z=(m=a<b)&&(n=c<d);m=0,n=1,z=0m=1,n=1,z=0m=0,n=0,z=0m=1,n=0,z=0m=1,n=1,z=1例:x=4;y=5;z=(++x==5)||(y++==6)例:x=4;y=5;z=(x++==5)||(y++==6)注意:表達(dá)式應(yīng)滿足題目的要求寫(xiě)出能滿足當(dāng)x的值在-10到10,100到200之間時(shí)值為“真”,否則為“假”的表達(dá)式。正確:x>-10&&x<10||x>100&&x<200錯(cuò)誤:-10<x<10|1100Vx<200當(dāng)x=20時(shí),-10<20為真,值為1,1<10為真,整個(gè)表達(dá)式為真,結(jié)果出錯(cuò)。例:a=10;b=15;c=1;d=2;e=0;求下列表達(dá)式的值c==b>e!e&&(e==b)==(++c)!e&&e==(b==++c)a++&&e++&&e++a++&&e++||e++(a+c==b)==(b+d==a)||(c=b+a)>(d=c+d)(a+c==b)>(b+d==a)||(c=b+a)>(d=c+d)3、if語(yǔ)句1)、if語(yǔ)句的三種形式:if-else形式:if(表達(dá)式)語(yǔ)句1;else語(yǔ)句2;例如:if(x>y)printf("%d,x);elseprintf("%d,y);if形式:if(表達(dá)式)語(yǔ)句;例如:if(x>y)printf("%d,x);else-if形式if(表達(dá)式1)語(yǔ)句1;elseif(表達(dá)式2)語(yǔ)句2;else語(yǔ)句n;例如:if(x>0)y=1;elseif(x==0)y=0;elsey=-1;例:從鍵盤(pán)輸入兩個(gè)整數(shù),輸出最大值。main(){inta,b,max;printf("pleaseinputa,b:");scanf("%d%d,&a,&b);if(a>b)max=a;elsemax=b;printf("max=%dn”,max);}例:輸入兩個(gè)實(shí)數(shù),由小到大輸出。main(){floata,b,t;scanf("%f%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f\n",a,b);}例:輸入三個(gè)實(shí)數(shù),按由小到大順序輸出。main(){floata,b,c,t;scanf("%f%f%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);}例:對(duì)求三角形面積的程序進(jìn)行改進(jìn),要求判斷輸入的三邊能否構(gòu)成三角形。如果能構(gòu)成三角形則計(jì)算面積,否則給出相應(yīng)信息。#include"math.h"main(){floata,b,c,s,area;scanf("%f,%f,%f',&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("area=%7.2f\n",area);}“,,elseprintf("inputdataerror");}例:判斷從鍵盤(pán)輸入的一個(gè)字符是什么樣的字符。#include“stdio.h"main(){charc;printf("pleaseinputacharacter:");c=getchar();if(c>=,a,&&c<=,z,)printf("lowern");elseif(c>='A'&&c<='Z')printf("uppern");elseprintf("NOLettern");}例5給一個(gè)成績(jī),要求輸出成績(jī)等級(jí)。90分及以上為‘A',80-89分為‘B',70-79分為‘C',60-69分為‘D',60分以下為‘E'。main(){ints;scanf("%d,&s);if(s>=90)printf("An”);elseif(s>=80)printf("Bn”);elseif(s>=70)printf("Cn”);elseif(s>=60)printf("Dn”);elseprintf("En”);}例:main(){inta=1,b=2,c=3;if(a>b)a=b,b=c;c=a;printf("%d,%d,%dn“,a,b,c);)例:main(){inta=1,b=2,c=3;if(a>c);b=a;a=c;c=b;printf("%d,%d,%dn“,a,b,c);)例:main(){inta=1,b=2,c=3;if(a>c)b=a;a=c;c=b;printf("%d,%d,%m",a,b,c);)2)、嵌套的if語(yǔ)句在一個(gè)if語(yǔ)句中又包含了另一個(gè)if語(yǔ)句,稱為if語(yǔ)句的嵌套。例:#include“stdio.h"main(){charch,c1,c2;printf("Enteracharacter:");ch=getchar();if(ch>=,a,&&ch<=,z,)ch-=32;c1=ch-1;c2=ch+1;if(ch=='A')c1=ch+25;elseif(ch=='Z')c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('n');)條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符?:條件表達(dá)式的形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3先計(jì)算表達(dá)式1,若其值為非零,則結(jié)果為表達(dá)式2的值,否則就是表達(dá)式3的值。結(jié)合性:從右到左例如:設(shè)a=2,b=3,c=4,則(1)m=a>b?a:b的值為3(2)m=a>b?a:b>c?b:c先計(jì)算b>c?b:c,結(jié)果為4再計(jì)算m=a>b?a:4,結(jié)果為4則m的值為4,整個(gè)表達(dá)式的值也為4。例:a=3;b=2;c=(--a==b++)?a--:++b;switch語(yǔ)句switch語(yǔ)句的基本格式:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1;[break;]case常量表達(dá)式2:語(yǔ)句2;[break;]case常量表達(dá)式n:語(yǔ)句n;[break;]default:語(yǔ)句n+1;}注意:當(dāng)表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行該case后面的語(yǔ)句,都不相等時(shí),就執(zhí)行default后語(yǔ)句。每個(gè)case的常量表達(dá)式的值必須互不相同。各個(gè)case的出現(xiàn)次序不影響執(zhí)行結(jié)果。用break語(yǔ)句可以跳出switch結(jié)構(gòu)。例7輸入兩個(gè)運(yùn)算量和一個(gè)運(yùn)算符,完成加、減、乘、除運(yùn)算,輸出運(yùn)算結(jié)果。#include"stdio.h"main(){floatx,y,z;charch;printf("nEnteracalculation(x?y):");scanf("%f%c%f,&x,&ch,&y);switch(ch){case'+':z=x+y;printf("x+y=%d",z);break;case'-':z=x-y;printf("x-y=%d",z);break;case'*':z=x*y;printf("x*y=%d",z);break;case'/':if(y==0)printf("divisionbyzero\n");else{z=x/y;printf("x/y=%d",z);}break;default:printf("Theerroroperator");}}用if語(yǔ)句if(s<250)d=0;elseif(s<500)d=0.02;elseif(s<1000)d=0.05;elseif(s<2000)d=0.08;elseif(s<3000)d=0.1;elsed=0.15;例:switch語(yǔ)句的嵌套main(){inta=2,b=7,c=5;switch(a>0){case1:switch(b<10){case1:printf("@);break;case0:printf(“!”);break;}case0:switch(c==5){case0:printf("*");break;case1:printf("#");break;default:printf("%);break;}default:printf("&');break;}printf("n”);}4、作業(yè)P15.7循環(huán)結(jié)構(gòu)程序設(shè)計(jì)【教學(xué)目的】掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的基本方法及語(yǔ)句的語(yǔ)法與使用?!窘虒W(xué)重點(diǎn)】WHILE、FOR語(yǔ)句的使用【教學(xué)難點(diǎn)】循環(huán)的原理及理解【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)、案例分析式?!拘抡n內(nèi)容】1、while語(yǔ)句格式:while(表達(dá)式)語(yǔ)句;功能:while語(yǔ)句用來(lái)實(shí)現(xiàn)“當(dāng)型”循環(huán)執(zhí)行過(guò)程:首先判斷表達(dá)式,當(dāng)表達(dá)式的值為非0時(shí),反復(fù)執(zhí)行while中的語(yǔ)句。while的常見(jiàn)用法i=1;或i=0;while(i<=n)i<n;{i++;)i=n;while(i>=1)或i>0(?i--;)例:編程計(jì)算1+2+...+100main(){inti=1,sum=0;while(i<=100){sum=sum+i;i++;)printf("sum=%\n",sum);)例:main(){intk=2;while(k!=0)printf("%d”,k),k--;printf("n”);)例:k=0;while(k=0){printf("#");k=k-1;)例:main(){inty=3;while(y--);printf("y=%dn”,y);)例:main(){inty=3;while(y!=0)y--;printf("y=%dn”,y);)例:
k=10;while(k=3)k=k-1;無(wú)限次循環(huán)統(tǒng)計(jì)小寫(xiě)字母例:#include“stdio.h"main(){intcount=0;charc;c=getchar();while(c!=’n'){if(c>='a'&&c<='z')count++;c=getchar();}printf("count=%dn”,count);}2、do-while語(yǔ)句格式:do語(yǔ)句while(表達(dá)式);功能:do-while語(yǔ)句用來(lái)實(shí)現(xiàn)“直到型”循環(huán)執(zhí)行過(guò)程:先無(wú)條件執(zhí)—次語(yǔ)句,然后再判斷表達(dá)式,當(dāng)表達(dá)式的值為非0時(shí),返回,再執(zhí)行該語(yǔ)句。例:i=11;while(i<=10)i++;printf("i=%dn”,i);例:i=11;doi++;while(i<=10);printf("i=%dn”,i);例用do-while語(yǔ)句計(jì)算1+2+…+100main(){inti=1,sum=0;do{sum=sum+i;i++;}while(i<=100);printf("sum=%\ir,sum);}例:s=7;dos-=2;whlie(s==0);printf("s=%dn”,s);例4編寫(xiě)滿足1+2+3+…+n<500中最大的n并求其和的程序main(){intn=0,sum=0;do{++n;sum+=n;}while(sum<500);printf("n=%dsum=%d\n",n-1,sum-n);}統(tǒng)計(jì)從鍵盤(pán)輸入的小寫(xiě)字母?jìng)€(gè)數(shù)i=0;while((c=getchar())!='n')if(c>='a'&&c<='z')i++;統(tǒng)計(jì)元音字母while((c=getchar())!='n')switch(c){case4_,a:case,A,:casee:case'E:’1)casei:caseIcaseo:case'O:caseu:case'U':v2++;default:v1++;}例:main(){intx=0,y=0;while(x<20)y++,x+=3;printf("x=%dy=%dn"x,y);}3、for語(yǔ)句格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句執(zhí)行過(guò)程:首先計(jì)算表達(dá)式1的值,給循環(huán)變量賦初值,再測(cè)試表達(dá)式2的值,若其值非0,則執(zhí)行循環(huán)體語(yǔ)句,并計(jì)算表達(dá)式3的值,自動(dòng)修改循環(huán)變量的值,再測(cè)試表達(dá)式2的值,直到表達(dá)式2的值為0(假)則退出循環(huán)。三個(gè)表達(dá)式都可以省略。常用方法inti;for(i=1;i<=n;i++)或for(i=0;i<n;i++)~inti;for(i=n;i>=1;i--)或for(i=n;i>0;i++)例5用for語(yǔ)句計(jì)算1+2+...+10main(){inti,sum=0;for(i=1;i<=10;i++)sum=sum+i;printf("%d",sum);}4、循環(huán)的嵌套一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多重循環(huán)。例如,for(i=1;i<=3;i++){...for(j=1;j<=5;j++){...}…}5、三種循環(huán)可以相互嵌套,如:例:main(){inti,j,n,m;n=3;m=4;for(i=1;i<=n;i++){for(j=1;j<=m;j++)printf("#");printf("n”);}}例:main(){inti,j;charc;for(i=1,c=,a,;i<=5;i++){for(j=1;j<=4;j++)printf("%c%d,c,j);printf("n”);c++;))ala2a3a4blb2b3b4clc2c3c4did2d3d4ele2e3e4例:#include<stdio.h>main(){inti,j;for(i=4;i>=1;i--){for(j=i;j>=1;j--)putchar('#');for(j=1;j<=4-i;j++)putchar();putchar('n');))#######*##**#***例打印乘法“九九表”。124369TOC\o"1-5"\h\z48121651015202561218243036714212835424981624324048566491827364554637281main(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%-3d",j,i,i*j);}printf("\n");}}6、break和continue語(yǔ)句break語(yǔ)句:break語(yǔ)句用于循環(huán)語(yǔ)句和switch語(yǔ)句,作用是跳出循環(huán)語(yǔ)句和switch語(yǔ)句,如:while(){...if()break;...)例使用break終止循環(huán)。#include“stdio.h"main(){inti,sum=0;for(i=1;;i++){if(i>100)break;sum+=sum;)printf("sum=%dn”,sum);)例輸入一個(gè)整數(shù)m判斷是否是素?cái)?shù)。main(){intm,i,j;scanf("%d",&m);j=m-1;for(i=2;i<=j;i++)if(m%i==0)break;if(i>j)printf("%disaprimenumber",m);elseprintf("%disnotaprimenumber",m);)例求100-200之間的全部素?cái)?shù)。#include"math.h"main(){intm,i,j;for(m=101;m<200;m++){j=sqrt(m);for(i=2;i<=j;i++)if(m%i==0)break;if(i>j)printf("%disaprimenumber",m);elseprintf("%disnotaprimenumber",m);))continue語(yǔ)句:continue語(yǔ)句類似于break語(yǔ)句,但不是退出循環(huán),而是跳過(guò)循環(huán)體下面未執(zhí)行的語(yǔ)句,接著執(zhí)行循環(huán)下一次迭代。如:while(){…if()continue;
…}例使用continue語(yǔ)句示例#include"stdio.h"main(){intn;while(1){scanf("%d",&n);if(n%2==1){printf("Isaid");continue;}break;}printf("Thanks.Ineededthat!");}例:main(){intk=0;charc='A';do{swith(c++){case'A':k++;break;case'B':k--;case'C:k+=2;break;case'D':k%=2;continue;case'E':k*=10;break;default:k/=3;}k++;}while(c<'G)printf("k=%dn",k);}例:main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;printf("x=%dn”,x);}例用近似公式求e=1+1/1!+1/2!+-??+1/n!分析:設(shè)term分別代表求和公式中的每一項(xiàng),則第i項(xiàng)總可以用第i-1項(xiàng)推算出來(lái),即term=term/i。用單循環(huán)編寫(xiě)的程序片段:e=1.0;term=1.0;for(i=1;i<=n;i++){term/=i;e+=term;}例求fibonacci數(shù)列的前40個(gè)數(shù)。分析:設(shè)當(dāng)前項(xiàng)為f,前一項(xiàng)為f1,前二項(xiàng)為f2。首先根據(jù)f1和f2推出f,再將f2作為f1,f作為f2,再推出f,如此一直遞推下去:TOC\o"1-5"\h\z11235第一次f1+f2-f第二次f1+f2-f第三次f1+f2-f遞推法:遞推是指在一個(gè)數(shù)的序列值中,下一項(xiàng)的值是在前一項(xiàng)的基礎(chǔ)上推算出來(lái)的,即下一項(xiàng)對(duì)前一項(xiàng)有某種依賴關(guān)系。f1=1.0;f2=1.0;n=2;printf("%10.0f%10.0f",f1,f2);for(i=3;i<=40;i++){f=f1+f2;if(n%4==0)printf("\n");printf("%10.0f",f);f1=f2;f2=f;n++;}f1=1.0;f2=1.0;n=2;for(i=1;i<=20;i++){printf("%10.0f%10.0f",f1,f2);f1=f1+f2;f2=f2+f1;if(n%4==0)printf("\n");n++;}求Fibonacci數(shù)列中第一個(gè)大于1000的數(shù)main(){intf,f1,f2;f1=0;f2=1;for(;;){f=f1+f2;if(f>1000)break;f1=f2;f2=f;}printf("f=%dn",f);}例破譯密碼。按以下規(guī)律翻譯密碼:將每一個(gè)字母變成它后面的字母,如將A變成B,Z變成A,非字母字符不變,‘!’作為電文結(jié)束標(biāo)志。例如,有一電文“right”,翻譯成“sjhiu例百錢(qián)買(mǎi)百雞問(wèn)題。公雞每只5元,母雞每只3元,小雞3只一元,問(wèn)一百元買(mǎi)一百只雞有幾種解法(各種雞都要)。枚舉法:枚舉法是計(jì)算機(jī)中常用的一種方法,它的基本思路是:一一列舉各種可能的情況并判斷哪一種情況是符合要求的解。for(x=1;x<=19;x++)for(y=1;y<=33-x;y++){z=100-x-y;if(z%3==0&&5*x+3*y+z/3==100)printf("cock=%dhen=%dchick=%d",x,y,z);)結(jié)果:cock=4hen=18chick=78cock=8hen=111chick=81cock=12hen=4chick=84課后題牛頓迭代法:1)x1—x0-f(x)0/f'(x0)2)WHILE|x1-x0|>£DOx0-x14)x1—x0-f(x0)/f'(x0)ENDOUTPUTx1二分法算法:區(qū)間[a,b]有且只有一個(gè)實(shí)根1)取c=(a+b)/2;2)若f(c)=0,則c即為根,過(guò)程結(jié)束;3)若f(a)?f(c)<0,則b—c;否則a―c,f(a)—f(c);5)若|a-b|<e,則過(guò)程結(jié)束,(a+b)/2即為根的近似值,否則重復(fù)執(zhí)行1).#include"math.h"main(){floatx1,x2,x,f1,f2,f;do{scanf("%f,%f",&x1,&x2);f1==((x1-5.0)*x1+16.0)*x1-80.0;f2==((x2-5.0)*x2+16.0)*x2-80.0;}while(f1*f2>=0);do{x=(x1*f2-x2*f1)/(f2-f1);f=((x-5.0)*x+16.0)*x-80.0;if(f*f1>0){f1=f;x1=x;}else{f2=f;x2=x;}}while(fabs(f)>=0.0001);printf("Arootofequationis%8.4f”,x);}7、作業(yè)P1517.12數(shù)組【教學(xué)目的】掌握數(shù)組的概念及使用方法【教學(xué)重點(diǎn)】一維數(shù)組的原理與使用方法及在程序設(shè)計(jì)中的使用【教學(xué)難點(diǎn)】多維數(shù)組的原理與使用【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)、案例分析式?!拘抡n內(nèi)容】1、數(shù)組的有關(guān)概念數(shù)組是具有一定順序關(guān)系的若干相同類型變量的集合,特點(diǎn):數(shù)組具有有序性數(shù)組具有同一性數(shù)組具有整體性組成數(shù)組的每個(gè)分量稱為數(shù)組的元素;數(shù)組的維數(shù)(一維,二維,三維)定義類型說(shuō)明符數(shù)組名[常量表達(dá)式];inta[5];charc[20];floatx[10];注意:數(shù)組名定名規(guī)則與變量名相同;數(shù)組名后是方括號(hào),而不是小括號(hào);常量表達(dá)式表示元素的個(gè)數(shù),下標(biāo)從零開(kāi)始。數(shù)組的大小是固定的,不能動(dòng)態(tài)定義。例如:intn;scanf("%d,&n);inta[n];是錯(cuò)誤的。2、引用數(shù)組必須先定義,后使用。只能逐個(gè)引用數(shù)組元素。引用形式:數(shù)組名[下標(biāo)];其中下標(biāo)可以是整型常量、變量或表達(dá)式;數(shù)組長(zhǎng)度為M時(shí),下標(biāo)值為0,1,2-M-1例如,定義數(shù)組inta[3],數(shù)組元素為a[0]a[1]a[2]a[0]=10;a[1]=25;a[2]=a[0]+a[1];初始化順序指定全部元素的初始值[static]inta[5]={1,2,3,4,5};新標(biāo)準(zhǔn)可以對(duì)auto進(jìn)行初始化。指定部分元素的初始值inta[5]={0,0,1};以上語(yǔ)句只給數(shù)組a的前面三個(gè)元素賦了初始值,未賦初值的元素的值在此默認(rèn)為0;常見(jiàn)錯(cuò)誤.inta[5]={0,1,2,3,4,5};多了一個(gè)初值。.inta(5);inta[5];.inta[5]=0;inta[5]={0};.inta[5]=(0,1,2,3,4);inta[5]={0,1,2,3.4};.inta={0,1,2,3,4};.inta[5];a={0,1,2,3,4};或a[5]={0,1,2,3,4};3、輸入和輸出C語(yǔ)言規(guī)定,對(duì)數(shù)組的使用只能逐個(gè)引用數(shù)組元素,不能一次引用整個(gè)數(shù)組。同樣,對(duì)數(shù)組的輸入和輸出也是依次對(duì)每個(gè)元素進(jìn)行的。例如,輸入10個(gè)數(shù),并將它們輸出。main(){inta[10],i;for(i=0;i<10;i++)scanf("%d”,&a[i]);for(i=0;i<10;i++)printf("%d",a[i]);}常見(jiàn)錯(cuò)誤inta[10];for(i=1;i<=10;i++)a[i]=i;改正:for(i=0;i<10;i++)a[i]=i;說(shuō)明:在循環(huán)體內(nèi)利用循環(huán)控制變量作為下標(biāo)輸入輸出數(shù)組元素,因此數(shù)組元素輸入輸出的次序和數(shù)量可以控制。例如,下面的程序段將一個(gè)數(shù)組按照逆序打印數(shù)組元素的值。for(i=9;i>=0;i--)printf("%d",a[i]);下面的程序段只打印一個(gè)數(shù)組的前五個(gè)元素的值。for(i=0;i<5;i++)printf("%d",a[i]);4、一維數(shù)組應(yīng)用舉例例有一個(gè)一維數(shù)組,有10個(gè)整數(shù)存放其中,找出其中最大的一個(gè)數(shù)。main(){inti,max,x[10];printf("enterdata:\n");for(i=0;i<10;i++)scanf("%d",&x[i]);max=x[0];for(i=1;i<10;i++)if(x[i]>max)max=x[i];printf("max=%d\n",max);}例有一個(gè)一維數(shù)組,有10個(gè)整數(shù)存放其中,找出其中最大的一個(gè)數(shù)及其下標(biāo)。main(){inti,max,x[10],k;printf("enterdata:\n");for(i=0;i<10;i++)scanf("%d",&x[i]);max=x[0];k=0;for(i=1;i<10;i++)if(x[i]>max){max=x[i];k=i;}printf("max=%d,k=%d\n”,max,k);}從鍵盤(pán)上輸入一個(gè)學(xué)生五門(mén)功課的成績(jī),求平均分main(){inti;floatsum=0,a[5];printf("enterdata:\n");for(i=0;i<5;i++)scanf("%f",&a[i]);for(i=0;i<5;i++)sum+=a[i];printf("average=%.2f\n",sum/5);}例使用數(shù)組編程,計(jì)算出前10項(xiàng)日bonacci數(shù)列,要求一行打印5個(gè)數(shù)。應(yīng)用舉例(排序:冒泡法)假定有5個(gè)無(wú)序的數(shù)21,13,90,32,-1應(yīng)用舉例(排序:冒泡法)續(xù)應(yīng)用舉例(排序:冒泡法)續(xù)for(i=1;i<=n-1;i++)for(j=0;j<n-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}冒泡法優(yōu)化for(i=1;i<=n-1;i++){flag=1;for(j=0;j<n-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;flag=0;}if(flag)break;}5、應(yīng)用舉例(排序:選擇法)例4用選擇法對(duì)n個(gè)數(shù)從小到大排序。假定有5個(gè)無(wú)序的數(shù)21,13,90,32,-1應(yīng)用舉例(排序:選擇法)續(xù)應(yīng)用舉例(排序:選擇法)續(xù)for(i=0;i<n-1;i++){min=i;for(j=i+1;j<n;j++)if(a[j]<a[min])min=j;if(min!=i){t=a[i];a[i]=a[min];a[min]=t;}}冒泡法:兩個(gè)相鄰的數(shù)依次進(jìn)行比較;比較完立刻進(jìn)行交換,最多交換n(n-1)/2次選擇法:用當(dāng)前比較過(guò)的數(shù)中最小的數(shù)依次與后面的數(shù)進(jìn)行比較;一輪比較完進(jìn)行一次交換,最多交換n-1次二維數(shù)組
二維數(shù)組的定義二維數(shù)組的引用二維數(shù)組的輸入輸出二維數(shù)組的初始化6、應(yīng)用舉例定義類型說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式];inta[2][3];charc[20][7];floatx[50][3];二維數(shù)組的元素在數(shù)組中的是按行排列的。引用引用形式:數(shù)組名[下標(biāo)北下標(biāo)];其中下標(biāo)可以是整型常量、變量或表達(dá)式;例如,定義數(shù)組inta[2][3],數(shù)組元素為a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]則a[0][2]=1;a[i][j]=i+j;(i,j為整型變量)7、輸入和輸出啟兩個(gè)下標(biāo),要用雙重循環(huán)。例如,輸入2個(gè)學(xué)生3門(mén)課的成績(jī):課程1課程2課程3學(xué)生1657875學(xué)生2706682初始化分行賦初值inta[2][3]={{1,2,3},{4,5,6}};不分行賦初值intb[2][3]={1,2,3,4,5,6};對(duì)部分元素賦初值intc[3][4]={{1},{0,2},{0,0,3}};未賦值的元素自動(dòng)賦值0,而且前面的0不能省,后面的0可以省對(duì)全部元素賦初值,省略第一維的長(zhǎng)度inta[][2]={{1,2},{3,4}};應(yīng)用舉例例求兩個(gè)3*4矩陣的和。參考程序如下:main(){inta[3][4],b[3][4],c[3][4];inti,j;printf("輸入a矩陣的兀素值\n");for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d”,&a[i][j]);printf("輸入b矩陣的元素值\n");for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&b[i][j]);for(i=0;i<3;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];/*矩陣a和b的對(duì)應(yīng)元素相加*//*結(jié)果存放在c矩陣中*/printf("和矩陣為:\n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%5d",c[i][j]);printf("\n");}}例將一個(gè)4*3的數(shù)組行、列元素互換,存到另外一個(gè)數(shù)組中。注意兩個(gè)數(shù)組的定義。程序片段如下:inta[4][3],b[3][4];for(i=0;i<4;i++){for(j=0;j<3;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}例求一個(gè)3*4矩陣中的最大值及其所在的行、歹I」。參考程序如下:main(){inta[3][4],row=0,col=0,i,j,max;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];row=i;col=j;}printf("max=%d,row=%d,col=%dn",max,row,col);}從鍵盤(pán)上輸入四個(gè)學(xué)生五門(mén)功課的成績(jī),求每個(gè)學(xué)生的平均分main(){inta[4][5],i,j;floatb[4];for(i=0;i<4;i++)b[i]=0;for(i=0;i<4;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++){for(j=0;j<5;j++)b[i]+=a[i][j];b[i]=b[i]/5;}for(i=0;i<4;i++)printf("%6.2f",b[i]);printf("n”);}8、作業(yè)P157.67.7字符數(shù)組【教學(xué)目的】掌握字符數(shù)組的原理、概念與使用?!窘虒W(xué)重點(diǎn)】字符串的概念與使用【教學(xué)難點(diǎn)】字符串函數(shù)的使用【教學(xué)方法】講授式、討論式、讀書(shū)指導(dǎo)、案例分析式?!拘抡n內(nèi)容】1、字符數(shù)組的定義及初始化字符串字符數(shù)組的輸入輸出字符串處理函數(shù)二維字符數(shù)組字符數(shù)組應(yīng)用舉例字符數(shù)組的定義及初始化定義一維字符數(shù)組charstr[20];初始化.逐個(gè)為數(shù)組中各元素指定初值字符。charstr[4]={'w','e',T,T};.charc[20]="abcdef”;.chara[10];a="abcd”;錯(cuò)誤2、字符串字符串是用一對(duì)雙引號(hào)括起來(lái)的字符序列,這些字符可以是一般的可顯示字符,也可以是某些特殊的控制字符;字符串只能用字符數(shù)組來(lái)處理,沒(méi)有字符串變量。例如charc[10];c[0]='C;c[1]='';c[2]='l';c[3]='l';c[4]='n';c[5]='g';c[6]='u';c[7]='a';c[8]='g';c[9]='e';字符串在內(nèi)存中存放時(shí),系統(tǒng)將自動(dòng)在字符串的末尾添加一個(gè)字符用的結(jié)束標(biāo)記'\0'(空字符),碰到第一個(gè)‘\0'就認(rèn)為字符串處理結(jié)束。系統(tǒng)對(duì)字符串常量自動(dòng)加'\0'用字符串給字符數(shù)組初始化charst[]="welcome”;數(shù)組長(zhǎng)度為8,字符串長(zhǎng)度為7。等價(jià)于charst[8]={'w','e',T,'c','o','m','e',''0'};字符數(shù)組的輸入輸出逐個(gè)輸入輸出main(){inti;chara[10];for(i=0;i<10;i++)scanf("%c”,&a[i]);for(i=0;i<10;i++)printf("%c",a[i]);}3、整體輸入/輸出main(){chara[30];scanf("%s",a);printf("%s\n",a);}不能寫(xiě)scanf("%S',a[0]);輸出字符不包含‘\0'用"%S’格式符時(shí),輸出項(xiàng)是數(shù)組名,而不是數(shù)組元素。輸入項(xiàng)為數(shù)組名時(shí),前面不要再加“&”。當(dāng)數(shù)組長(zhǎng)度大于字符串實(shí)際長(zhǎng)度,也只輸出到遇‘\0'結(jié)束。如:charc[10]={“well”};printf("%S,c);如果一個(gè)字符數(shù)組中有多個(gè)‘\0',則遇到第一個(gè)‘\0'輸出就結(jié)束。利用scanf輸入多個(gè)字符串,以空格分隔。如:charc1[5],c2[5],c3[5];scanf("%s%s%s,c1,c2,c3);輸入howareyou?(回車(chē))注意:scanf函數(shù)不能完整地讀入帶空格的字符串。例如上例改為:charc[13];scanf(%/os,c);如果輸入howareyou!4、字符串處理函數(shù)字符串的輸入gets(字符數(shù)組)格式:gets(ch)功能:從終端輸入一個(gè)字符串到字符數(shù)組ch中,輸入回車(chē)鍵時(shí)結(jié)束,并將回車(chē)符'\n'轉(zhuǎn)換成'\0',其中ch只能是一個(gè)字符數(shù)組名。字符串的輸出puts(字符數(shù)組)格式:puts(ch)功能:向終端輸出字符串,并將‘\0'轉(zhuǎn)換成'\n'輸出,其中ch可以是某個(gè)字符數(shù)組名,也可以是一個(gè)字符串常量。#include“stdio.h"main(){charc[30];puts("pleaseenterastring");gets(c);puts(c);)字符串的連接函數(shù)strcat()格式:strcat(ch1,ch2);功能:將ch2復(fù)制到chi的后面,連接時(shí)先將chi的‘\0'去掉,連接后在新字符串后補(bǔ)上‘\0'。要求chi必須是一個(gè)足夠大的字符數(shù)組,ch2可以是字符串常量或字符數(shù)組名。例如:charstr1[19]={"Programming"},str2[]={"Design"};strcat(str1,str2);puts(strl);字符串的復(fù)制strcpy(字符數(shù)組1,字符串2)格式:strcpy(ch1,ch2)功能:將ch2中的字符串復(fù)制到ch1字符數(shù)組,限定ch1為字符數(shù)組名,ch2可以是字符串常量或字符數(shù)組名。例如:charstr1[11];strcpy(str1,“China");printf("%《,str1);又如:charstr1[]={"Clanguage"};strcpy(str1,“China");printf("%《,str1);說(shuō)明:ch1必須定義的足夠大拷貝時(shí)'\0'一起拷貝過(guò)去不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組賦給一個(gè)字符數(shù)組。如:str1="china”;str1=str2;可以將字符串2前面的n個(gè)字符拷貝到字符數(shù)組1中,如:strcpy(ch1,ch2,2);字符串的比較strcmp()格式:strcmp(ch1,ch2)功能:對(duì)chi和ch2所對(duì)應(yīng)的字符串從左到右進(jìn)行比較(比較字符的ASCII碼值的大小),第一個(gè)不相等的字符的大小決定了整個(gè)字符串的大小,若chi和ch2的所有字符完全相同,則chi等于ch20ch1=ch2函數(shù)返回0ch1<ch2函數(shù)返回一個(gè)負(fù)整數(shù)ch1>ch2函數(shù)返回一個(gè)正整數(shù)說(shuō)明:對(duì)兩個(gè)字符串比較,不能用if(ch1==ch2)printf(“yes”);只能用if(strcmp(ch1,ch2)==0)printf(“yes”);求字符R長(zhǎng)度的strlen()格式:strlen(ch)功能:返回ch的有效字符的個(gè)數(shù),不包括'\0',其中ch為字符數(shù)組名或某個(gè)字符串常量。字符串大小寫(xiě)轉(zhuǎn)換strlwr()格式:strlwr(ch);功能:將ch中所有的大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母。字符串大小寫(xiě)轉(zhuǎn)換strupr()格式:strupr(ch);功能:將ch中所有的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母。5、二維字符數(shù)組charstr[3][30];相當(dāng)于三個(gè)一維字符數(shù)組,可以存放三個(gè)字符串引用for(i=0;i<3;i++)gets(str[i]);for(i=0;i<3;i++)puts(str[i]);初始化charstr[3][30]={"China“,"Japan“,"Korea"};chara[3][20]={"abcdefg","0123456789,"XYZLMN};1)puts(a[2]);2)for(i=0;i<3;i++)puts(&a[i][i]);3)scanf("%s,&a[1][5]);puts(a[1]);鍵盤(pán)輸入:aaa4)scanf("%c,&a[1][5]);puts(a[1]);鍵盤(pán)輸入:aaa字符數(shù)組應(yīng)用舉例例輸入一行文字,找出其中大寫(xiě)字母,小寫(xiě)字母,:其它字符各有多少?程序如下:#include"stdio.h"#include"string.h"main(){inti,up=0,low=0,space=0,digit=0,other=0;charstr[60];puts("pleaseenterastring:");gets(str);for(i=0;str[i]!='\0';i++){if((str[i]>='A')&&(str[i]<='Z'))up++;elseif((str[i]>='a')&&(str[i]<='z'))low++;elseif(str[i]=='')space
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 焊接銷(xiāo)釘行業(yè)深度研究報(bào)告
- 新藥進(jìn)院申請(qǐng)書(shū)
- 2024-2025年中國(guó)網(wǎng)絡(luò)視頻市場(chǎng)供需預(yù)測(cè)及投資戰(zhàn)略研究咨詢報(bào)告
- 利息低合同范例
- 2025年度環(huán)保型建筑材料研發(fā)合作合同
- 專利權(quán)合同范本
- 保險(xiǎn)債權(quán)轉(zhuǎn)讓合同范例
- 公寓經(jīng)營(yíng)餐飲合同范本
- 農(nóng)民轉(zhuǎn)賣(mài)房屋合同范本
- bot模式運(yùn)營(yíng)合同范本
- 北京市海淀區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 23G409先張法預(yù)應(yīng)力混凝土管樁
- DB50∕T 959-2019 營(yíng)運(yùn)高速公路施工管理規(guī)范
- 人教版一年級(jí)下學(xué)期數(shù)學(xué)第5單元試卷《認(rèn)識(shí)人民幣》試題3
- RBA培訓(xùn)教材系列02RBA商業(yè)道德政策培訓(xùn)針對(duì)員工
- 高中研究性課題-------食品添加劑
- T∕CNFAGS 3-2021 三聚氰胺單位產(chǎn)品消耗限額
- 弟子規(guī)全文拼音版打印版
- 變電站設(shè)備驗(yàn)收管理標(biāo)準(zhǔn)規(guī)范
- 鍋爐房危害告知卡
- NPI流程管理分解
評(píng)論
0/150
提交評(píng)論