版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言與程序設(shè)計(jì)
TheCProgrammingLanguage
第2章基本詞法語法規(guī)則與程序元素
華中科技大學(xué)計(jì)算機(jī)學(xué)院
盧萍2/4/20231華中科技大學(xué)計(jì)算機(jī)學(xué)院第2章
基本詞法語法規(guī)則與程序元素
C程序是一個(gè)字符序列,字符序列先被分解為稱之為記號(hào)(token)的詞法元素,再根據(jù)語法規(guī)則檢查這些記號(hào)組合是否合法。本章首先介紹詞法元素和語法規(guī)則的概念,然后詳盡地討論組成C程序的基本元素,包括基本數(shù)據(jù)類型、常量和變量、運(yùn)算符、表達(dá)式等。2/4/20232華中科技大學(xué)計(jì)算機(jī)學(xué)院2.1字符及詞法元素2.1.1字符集
C源程序由字符序列構(gòu)成,其字符集為:英文字母:a~z和A~Z數(shù)字字符:0~9特殊字符:!“#%&‘()*+,-./:
;<>=?[]\^_{}|~空白字符:空格、換行符、水平制表符(HT)、
垂直制表符(VT)、換頁符(FF)2/4/20233華中科技大學(xué)計(jì)算機(jī)學(xué)院三字符序列以兩個(gè)連續(xù)問號(hào)開頭(教材表2-1)。所有的三字符序列都要用相應(yīng)的單個(gè)字符替換,這種替換發(fā)生在其他任何處理之前。例如,
inta??(4??)=??<0??>;被替換成
inta[4]={0};2/4/20234華中科技大學(xué)計(jì)算機(jī)學(xué)院2.1.2詞法元素詞法元素稱為記號(hào),記號(hào)是程序中具有語義的最基本組成單元。記號(hào)共分5類:標(biāo)識(shí)符、關(guān)鍵字、常量、運(yùn)算符和標(biāo)點(diǎn)符號(hào)。編譯器從左至右收集字符,總是盡量建立最長的記號(hào),即使結(jié)果并不構(gòu)成有效的C語言程序。相鄰記號(hào)可以用空白符或注釋語句分開。2/4/20235華中科技大學(xué)計(jì)算機(jī)學(xué)院詞法分析舉例例2.1sum=x+y
分解成sum、=、x、+和y共5個(gè)記號(hào)。例2.2inta,b=10,
分解成int、a、,、b、=、10和;共7個(gè)記號(hào)例2.3x+++++y
分解成x、++、++、+、y共5個(gè)記號(hào)2/4/20236華中科技大學(xué)計(jì)算機(jī)學(xué)院2.2語法規(guī)則如何描述計(jì)算機(jī)語言的語法規(guī)則?2.2.1BNF(Backus-NaurForm)范式
BNF:巴科斯范式是由JohnBackus和PeterNaur首先引入的用來描述計(jì)算機(jī)語言語法的符號(hào)集。
現(xiàn)在,幾乎每一位新編程語言書籍的作者都使用巴科斯范式來定義編程語言的語法規(guī)則。
2/4/20237華中科技大學(xué)計(jì)算機(jī)學(xué)院
BNF范式的符號(hào)尖括號(hào)(<>)內(nèi)包含的為必選項(xiàng)。
豎線(|)表示在其左右兩邊任選一項(xiàng),相當(dāng)于“OR”的意思。::=是“被定義為”的意思。2/4/20238華中科技大學(xué)計(jì)算機(jī)學(xué)院BNF范式示例--標(biāo)識(shí)符的BNF范式
<標(biāo)識(shí)符>::=<字母>|<標(biāo)識(shí)符><字母數(shù)字>
<字母數(shù)字>::=<字母>|<數(shù)字>
<字母>::=_|<大寫字母>|<小寫字母><小寫字母>::=a|b|c|d|…|z
<大寫字母>::=A|B|C|D|…|Z<數(shù)字>::=0|1|2|3|4|5|6|7|8|92/4/20239華中科技大學(xué)計(jì)算機(jī)學(xué)院2.2.2EBNF
EBNF是BNF的一種擴(kuò)充。EBNF中符號(hào)有:{}:括起來的部分重復(fù)0次或多次。[]:括起來的部分出現(xiàn)0次或1次。():表示結(jié)成一組。
標(biāo)識(shí)符的EBNF范式:<標(biāo)識(shí)符>::=<字母>{<字母數(shù)字>}2/4/202310華中科技大學(xué)計(jì)算機(jī)學(xué)院2.2.3語法圖語法圖是另一種表示語法的常見方式。標(biāo)識(shí)符的語法圖a…z,A…z,_0…9,a...z,A...z,_2/4/202311華中科技大學(xué)計(jì)算機(jī)學(xué)院2.3標(biāo)識(shí)符、關(guān)鍵字及分隔符2.3.1標(biāo)識(shí)符標(biāo)識(shí)符是用來標(biāo)識(shí)用戶定義的常量、變量、數(shù)據(jù)類型和函數(shù)等名字的符號(hào)。其命名規(guī)則:
以一個(gè)字母(a~z,A~Z)或下劃線(_)開頭,后跟字母、下劃線或數(shù)字(0~9)例:K,_id,month,time1
20_sum,not#me
2/4/202312華中科技大學(xué)計(jì)算機(jī)學(xué)院注意大小寫字母表示不同意義。不能使用類似int和void這樣的C關(guān)鍵字為自己的對象命名,也要避免使用C程序庫中函數(shù)和常量的名稱,例如scanf。良好的編程風(fēng)格是選擇有助于記憶且有一定含義的標(biāo)識(shí)符,這樣可增強(qiáng)程序的可讀性和程序的文檔性。2/4/202313華中科技大學(xué)計(jì)算機(jī)學(xué)院2.3.2關(guān)鍵字是被系統(tǒng)賦予特定含義并有專門用途的標(biāo)識(shí)符,不能作為普通標(biāo)識(shí)符,但可以作為宏名。見教材表2.22/4/202314華中科技大學(xué)計(jì)算機(jī)學(xué)院2.3.3分隔符分隔符統(tǒng)稱為空白字符(包括空格符、制表符、換行符、換頁符及注釋符),在語法上僅起分隔單詞的作用。當(dāng)程序中兩個(gè)相鄰的單詞之間如果不用分隔符就不能區(qū)分開時(shí)則必須加分隔符(通常用空格符)。例如,intx,y;不能寫成intx,y;能寫成intx,y;2/4/202315華中科技大學(xué)計(jì)算機(jī)學(xué)院2.4基本數(shù)據(jù)類型2.4.1數(shù)據(jù)類型的分類數(shù)據(jù)類型導(dǎo)出類型指針類型空類型(無值類型)數(shù)組類型結(jié)構(gòu)類型聯(lián)合類型
基本類型整型字符型浮點(diǎn)型復(fù)數(shù)類型整型布爾型枚舉類型2/4/202316華中科技大學(xué)計(jì)算機(jī)學(xué)院2.4.2基本類型的名字本小節(jié)介紹字符型、整型、浮點(diǎn)型(表2.4)charintfloatunsignedsigned
short(short,unsignedshort)floatdoublelongdouble
long(long,unsignedlong)2/4/202317華中科技大學(xué)計(jì)算機(jī)學(xué)院2.4.3字符類型charchar的存儲(chǔ)長度是一字節(jié)。多數(shù)系統(tǒng)中char與signedchar同(-128~127).字符數(shù)據(jù)以ASCII碼存儲(chǔ)在內(nèi)存中。在不要求大整數(shù)的情況下,可用字符型代替整型。2/4/202318華中科技大學(xué)計(jì)算機(jī)學(xué)院2.4.4整型類型int型值存儲(chǔ)在一個(gè)機(jī)器字中.假設(shè)字長為2B,int取值范圍為-32768~32767,
unsigned取值范圍為0~65535
下面的代碼是否正確#defineBIG30000intmain(void){shortx,y,z;x=y=BIG;z=x+y;/*短整數(shù)溢出*/……}2/4/202319華中科技大學(xué)計(jì)算機(jī)學(xué)院程序員必須時(shí)刻保證整數(shù)表達(dá)式的值在合理范圍內(nèi)。引入short和long的目的是為了提供各種滿足實(shí)際要求的不同長度的整數(shù)。int通常反映特定機(jī)器的自然大小,short一般為2B,long一般為4B。因此,當(dāng)關(guān)心存儲(chǔ)時(shí),用short;當(dāng)需要較大的整數(shù)值時(shí),用long。2/4/202320華中科技大學(xué)計(jì)算機(jī)學(xué)院2.4.5浮點(diǎn)類型一個(gè)浮點(diǎn)數(shù)N可表示為:-10.0=-0.101*24=數(shù)符1b指數(shù)8b尾數(shù)23b11000001001000…02/4/202321華中科技大學(xué)計(jì)算機(jī)學(xué)院尾數(shù)所占的位數(shù)決定值的精度,指數(shù)所占的位數(shù)決定值的范圍。float占4B,其中符號(hào)1b,指數(shù)8b,尾數(shù)23b,其精度大約為7位,范圍約10-38~10+38。double占8B,其中符號(hào)1b,指數(shù)11b,尾數(shù)52b,其精度大約為15位,范圍約為10-308~10+308。很多編譯器將longdouble處理為double,在某些系統(tǒng)中,它占用10或12B。很少被使用。2/4/202322華中科技大學(xué)計(jì)算機(jī)學(xué)院浮點(diǎn)數(shù)的表示可能只是近似的。其值與表示法之間的差稱為“可表示誤差”。計(jì)算也可能造成可表示誤差。不能使用==和!=運(yùn)算符比較浮點(diǎn)數(shù)據(jù)。可以用兩個(gè)數(shù)值之差同一個(gè)預(yù)定的小正數(shù)epsilon比較的方法解決這個(gè)問題。2/4/202323華中科技大學(xué)計(jì)算機(jī)學(xué)院浮點(diǎn)數(shù)溢出的處理下溢時(shí),保存一個(gè)非規(guī)則化數(shù)值,即指數(shù)域全為0,對應(yīng)的階碼E是126而不是127,尾數(shù)域非0,對應(yīng)的尾數(shù)M小于1且大于0,因此,不再加上高位的1,而是還原為0.xxxxxx,這樣做是為了表示0,以及接近于0的很小的數(shù)字。當(dāng)指數(shù)域和尾數(shù)域全0,這個(gè)數(shù)是0。上溢時(shí),用稱為“無窮大”的特殊位模式表示,即指數(shù)域全為1,尾數(shù)域0。有些系統(tǒng)中將輸出+Infinity或Infinity表示上溢的數(shù)據(jù);指數(shù)域全為1,尾數(shù)域非0,表示這個(gè)數(shù)不是一個(gè)數(shù)(NaN)。程序員必須能識(shí)別本地編譯器和系統(tǒng)的上溢和下溢值,能識(shí)別并修正造成溢出的錯(cuò)誤運(yùn)算。2/4/202324華中科技大學(xué)計(jì)算機(jī)學(xué)院2.5常量與變量2.5.1文字常量1.整型常量
有三種表示方法(通過前綴字符區(qū)分):十進(jìn)制:無前綴八進(jìn)制:前綴為0十六進(jìn)制:前綴為0x或0X時(shí)。
例如,31可寫成037,也可寫成0x1f或0X1F2/4/202325華中科技大學(xué)計(jì)算機(jī)學(xué)院整型常量可以帶有后綴,用以指定其類型:字母u或U表示unsigned字母l或L表示long字母ul或UL表示unsignedlong字母ll或LL表示longlong(C99)字母ull或ULL表示unsignedlonglong(C99)無后綴時(shí),表示int當(dāng)常量值超出指定類型的范圍時(shí),其實(shí)際類型取決于數(shù)值大小、前綴等,確定類型的規(guī)則很復(fù)雜,在標(biāo)準(zhǔn)化前的C語言、C89和C99中各不相同2/4/202326華中科技大學(xué)計(jì)算機(jī)學(xué)院2.浮點(diǎn)型常量
有兩種表示方式:(1)帶小數(shù)點(diǎn)的十進(jìn)制數(shù)形式(可以小數(shù)點(diǎn)開頭,也可以小數(shù)點(diǎn)結(jié)尾)
如23.7,14.,.126(2)指數(shù)形式(科學(xué)計(jì)數(shù)法)
將指數(shù)部分跟在尾數(shù)部分后面。尾數(shù)部分的書寫規(guī)則與第一種相同,但可以沒有小數(shù)點(diǎn),指數(shù)部分e(E)±n,代表10±n。
如45e-3=4510-3,.15e5=0.15105。2/4/202327華中科技大學(xué)計(jì)算機(jī)學(xué)院
可以使用后綴來指定其類型無后綴:double,后綴f或F:float,后綴l或L:longdouble。2/4/202328華中科技大學(xué)計(jì)算機(jī)學(xué)院3.字符常量(1)用單引號(hào)包含的一個(gè)字符是字符常量(2)只能包含一個(gè)字符例‘a(chǎn)’,’A’,‘1’‘a(chǎn)bc’、“a”2/4/202329華中科技大學(xué)計(jì)算機(jī)學(xué)院轉(zhuǎn)義序列以\開頭的特殊字符稱為轉(zhuǎn)義序列,有兩種形式:一種是“字符轉(zhuǎn)義序列”,即反斜線后面跟一個(gè)圖形符號(hào),用于表示字符集中的非圖形符號(hào)和一些特殊的圖形字符。\n換行\(zhòng)t水平制表符\\反斜杠\‘單引號(hào)\“雙引號(hào)\0空字符
\?問號(hào)\源程序\ex2_4.c2/4/202330華中科技大學(xué)計(jì)算機(jī)學(xué)院轉(zhuǎn)義序列的另一種是“數(shù)字轉(zhuǎn)義序列”,即\ooo(1~3個(gè)八進(jìn)制數(shù)字)
\xhh(1~2個(gè)十六進(jìn)制數(shù)字)例如,'A'、'\101'和'\x41'字符A;'\t'、'\11'、'\011'、'\x9'和'\x09'水平制表符2/4/202331華中科技大學(xué)計(jì)算機(jī)學(xué)院4.字符串常量寫成用一對雙引號(hào)括住0至多個(gè)字符的形式。
"string\n"/*包含7個(gè)字符的字符串*/""/*包含0個(gè)字符的空字符串*/字符串中的單引號(hào)可以用圖形符號(hào)表示,但雙引號(hào)和反斜線必須用轉(zhuǎn)義序列表示。例如:"3'40\""/*表示5個(gè)字符的字符串:3'40"*/“c:\tc”/*表示4個(gè)字符的字符串*/“c:\\tc”/*表示5個(gè)字符的字符串*/2/4/202332華中科技大學(xué)計(jì)算機(jī)學(xué)院如何將一個(gè)較長的字符串寫成多行?
有兩種方法:(1)行連接:在前一行的末尾輸入續(xù)行符(\)再換行。
"Hello,\
howareyou“/*換行后應(yīng)緊靠行首*/(2)字符串連接:將字符串分段,分段后的每個(gè)字符串用雙引號(hào)括起來。
"Hello,"
"howareyou"/*換行后不必緊靠行首*/2/4/202333華中科技大學(xué)計(jì)算機(jī)學(xué)院‘a(chǎn)’與“a”有何區(qū)別?‘a(chǎn)’:字符常量,占1B內(nèi)存空間“a”:字符串常量,占2B內(nèi)存空間存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在后面補(bǔ)上\0(空字符,ASC11值為0,作為字符串結(jié)束標(biāo)志)字符串的存儲(chǔ)長度比字符串的實(shí)際長度大1
\源程序\ex2_5.c
a
\0
2/4/202334華中科技大學(xué)計(jì)算機(jī)學(xué)院2.5.2符號(hào)常量用一個(gè)標(biāo)識(shí)符表示一個(gè)常量.C語言中有三種定義符號(hào)常量的方法:(1)用#define指令(2)用const聲明語句(3)用枚舉類型(在2.9節(jié)介紹)2/4/202335華中科技大學(xué)計(jì)算機(jī)學(xué)院1.用#define定義符號(hào)常量#define是一種編譯預(yù)處理指令,格式為:
#define標(biāo)識(shí)符常量符號(hào)常量(一般用大寫,以區(qū)分變量)2/4/202336華中科技大學(xué)計(jì)算機(jī)學(xué)院例2.6打印華氏和攝氏溫度對照表,
溫度轉(zhuǎn)換公式為:℃=(5/9)(℉-32)
\源程序\ex2_6.c
2/4/202337華中科技大學(xué)計(jì)算機(jī)學(xué)院2.用const定義符號(hào)常量const是關(guān)鍵字,稱為類型限定符。格式為:
const類型名標(biāo)識(shí)符=常量;例如:constdoublePI=3.14159;constintDOWN=0x5000;/*下光標(biāo)鍵的掃描碼*/constintYES=1,NO=0;2/4/202338華中科技大學(xué)計(jì)算機(jī)學(xué)院用const和#define定義的符號(hào)常量的區(qū)別?const聲明的標(biāo)識(shí)符是一個(gè)只讀變量,編譯時(shí)系統(tǒng)會(huì)根據(jù)定義的類型為該標(biāo)識(shí)符分配存儲(chǔ)單元,并把對應(yīng)的常量值放入其中,該值不能再被更改,此后,程序中每次出現(xiàn)該標(biāo)識(shí)符都是對所代表存儲(chǔ)單元的訪問。#define定義的標(biāo)識(shí)符沒有對應(yīng)的存儲(chǔ)單元,只是在編譯之前由預(yù)處理程序進(jìn)行簡單的文本替換。2/4/202339華中科技大學(xué)計(jì)算機(jī)學(xué)院2.5.3變量定義變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,它用來存放數(shù)據(jù),這就是變量的值,在程序運(yùn)行期間,這些值是可以改變的。2/4/202340華中科技大學(xué)計(jì)算機(jī)學(xué)院要求對所有用到的變量作定義,也就是“先定義,后使用”。類型名變量表;
inttotal,average;變量在聲明時(shí)可以同時(shí)賦一個(gè)初值(稱為變量的顯示初始化),每個(gè)變量必須分別顯示初始化。intcount=0,sum=0;charalert=‘\a’,c;intcount=0,sum=0;(不能intcount=sum=0;)2/4/202341華中科技大學(xué)計(jì)算機(jī)學(xué)院2.6運(yùn)算符和表達(dá)式運(yùn)算符是運(yùn)算的符號(hào)表示,執(zhí)行對運(yùn)算對象(稱為操作數(shù))的各種操作。單個(gè)的操作數(shù)(包括常量、變量和函數(shù)調(diào)用)是表達(dá)式,由運(yùn)算符和操作數(shù)組成的有意義的計(jì)算式子更是表達(dá)式,如:sqrt(b*b-4*a*c)x=x*PI/180fabs(an)>=EPS2/4/202342華中科技大學(xué)計(jì)算機(jī)學(xué)院2.6.1C運(yùn)算符簡介學(xué)習(xí)每一種運(yùn)算符都應(yīng)掌握以下四點(diǎn):(1)運(yùn)算符的運(yùn)算功能(2)操作數(shù)的個(gè)數(shù)和類型要求單目(或一元)運(yùn)算符雙目(或二元)運(yùn)算符三目(或三元)運(yùn)算符運(yùn)算符都對操作數(shù)的類型有規(guī)定,比如%的操作數(shù)不能為浮點(diǎn)型。2/4/202343華中科技大學(xué)計(jì)算機(jī)學(xué)院(3)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性(4)運(yùn)算所得結(jié)果的類型運(yùn)算的結(jié)果是一個(gè)具有確定類型的值,這個(gè)類型稱為表達(dá)式值的類型。尤其當(dāng)兩個(gè)不同類型的操作數(shù)進(jìn)行運(yùn)算時(shí),會(huì)引起數(shù)據(jù)類型的轉(zhuǎn)換,特別要注意結(jié)果值的類型。2/4/202344華中科技大學(xué)計(jì)算機(jī)學(xué)院2.6.2運(yùn)算符的優(yōu)先級(jí)和結(jié)合性當(dāng)表達(dá)式中包括多個(gè)運(yùn)算符時(shí),C語言會(huì)先按優(yōu)先級(jí)規(guī)則解釋表達(dá)式的意義。如:
1+2*3等價(jià)于1+(2*3)當(dāng)一個(gè)操作數(shù)兩側(cè)的運(yùn)算符優(yōu)先級(jí)別相同時(shí),則按“結(jié)合性”規(guī)則。
1+2-3等價(jià)于(1+2)-3---從左至右的結(jié)合性(左結(jié)合)2/4/202345華中科技大學(xué)計(jì)算機(jī)學(xué)院
-a++等價(jià)于-(a++)
----從右至左的結(jié)合性(右結(jié)合)所有運(yùn)算符的優(yōu)先級(jí)和結(jié)合性規(guī)則見表2.62/4/202346華中科技大學(xué)計(jì)算機(jī)學(xué)院2.6.3算術(shù)運(yùn)算運(yùn)算符:+
加法正值3+6,+3–減法負(fù)值6–4,–5乘法38/除法8/5%求余7%4值為32/4/202347華中科技大學(xué)計(jì)算機(jī)學(xué)院注:兩個(gè)整型數(shù)據(jù)相除
(結(jié)果為整,舍去小數(shù)部分)
–5/3–1
1/20
1./20.5
使用時(shí)千萬注意int/int出現(xiàn)數(shù)據(jù)丟失。%操作數(shù)必需為整數(shù)2/4/202348華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.7】求出所有的水仙花數(shù)?!八苫〝?shù)”是一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153是一個(gè)“水仙花數(shù)”,因?yàn)?53=13+53+33。找出“水仙花數(shù)”的關(guān)鍵是怎樣從一個(gè)三位數(shù)中分離出百位數(shù)、十位數(shù)和個(gè)位數(shù),分解方法見下面的代碼。\源程序\ex2_7.c2/4/202349華中科技大學(xué)計(jì)算機(jī)學(xué)院2.6.4關(guān)系運(yùn)算有6個(gè)關(guān)系運(yùn)算符:>大于
>=大于等于
<小于
<=小于等于
==等于
!=不等于2/4/202350華中科技大學(xué)計(jì)算機(jī)學(xué)院關(guān)系表達(dá)式的類型:int關(guān)系表達(dá)式的值:關(guān)系成立,值為1(代表“真”)關(guān)系不成立,0(代表“假”)2/4/202351華中科技大學(xué)計(jì)算機(jī)學(xué)院舉例根據(jù)變量說明,給出表達(dá)式的值。
intx=4,y=3,z=2;charc='a';(1)c=='A'+32(1)(2)c+1!='b'(0)(3)x-y<=10(1)(4)z=x>y(1)(5)x>y>z(0)2/4/202352華中科技大學(xué)計(jì)算機(jī)學(xué)院注意數(shù)學(xué)上判斷x是否在區(qū)間[a,b]中時(shí),習(xí)慣寫成:a<x<bC中“a<x<b”的含義與數(shù)學(xué)中的含義不同,應(yīng)寫成:
a<x&&x<b2/4/202353華中科技大學(xué)計(jì)算機(jī)學(xué)院常見的C語言編程錯(cuò)誤將運(yùn)算符==寫成運(yùn)算符=(賦值)??赡軙?huì)因?yàn)檫\(yùn)行時(shí)的邏輯錯(cuò)誤而導(dǎo)致不正確的結(jié)果。例如,if(grade=='A')printf("VeryGood!");
/*當(dāng)成績的等級(jí)為A等時(shí),輸出VeryGood!*/而:if(grade='A')printf("VeryGood!");
/*不論成績的等級(jí)是幾等,總輸出VeryGood!*/2/4/202354華中科技大學(xué)計(jì)算機(jī)學(xué)院
2.6.5邏輯運(yùn)算有3個(gè)邏輯運(yùn)算符
!
邏輯非&&邏輯與
||
邏輯或邏輯表達(dá)式:用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來的式子2/4/202355華中科技大學(xué)計(jì)算機(jī)學(xué)院邏輯運(yùn)算的操作數(shù)可以是0和任何非0的數(shù)值,系統(tǒng)最終以0判斷屬于“假”(以0代表“假”),以非0判斷屬于“真”(以1代表“真”)。邏輯表達(dá)式的值:1(“真”)
0(“假”)
邏輯表達(dá)式的類型:int2/4/202356華中科技大學(xué)計(jì)算機(jī)學(xué)院&&和||的真值表e1e2&&||00000非001非0001非0非0112/4/202357華中科技大學(xué)計(jì)算機(jī)學(xué)院!的真值表e!01非002/4/202358華中科技大學(xué)計(jì)算機(jī)學(xué)院注意編譯程序在處理含有&&、||表達(dá)式時(shí),往往采用優(yōu)化算法(提高速度)。
e1&&e2一旦發(fā)現(xiàn)e1=0,不再計(jì)算e2
e1||e2一旦發(fā)現(xiàn)e1=1,不再計(jì)算e2例如,
x>=0.0&&sqrt(x)<=7.7/*如果x值為負(fù),不求x的平方根*/2/4/202359華中科技大學(xué)計(jì)算機(jī)學(xué)院熟練掌握C語言的關(guān)系運(yùn)算符和邏輯運(yùn)算符后,可以巧妙地表示一個(gè)復(fù)雜的條件。(1)整數(shù)a是偶數(shù)
!(a%2)或a%2==0
(2)字符c的值是英文字母。
c>='a'&&c<='z'||c>='A'&&c<='Z'
(3)某一年year是閏年。如果某一年的年份能被4整除但不能被100整除,那么這一年就是閏年,此外,能被400整除的年份也是閏年。
!(year%4)&&year%400||!(year%400)2/4/202360華中科技大學(xué)計(jì)算機(jī)學(xué)院2.6.6自增和自減運(yùn)算
++:自增,使內(nèi)存中存儲(chǔ)的變量值加1
--:自減,使內(nèi)存中存儲(chǔ)的變量值減1++和--的奇特之處:前綴式和后綴式都行
++xx++相當(dāng)于x=x+1;--xx--相當(dāng)于x=x-1;
2/4/202361華中科技大學(xué)計(jì)算機(jī)學(xué)院注意前綴與后綴的區(qū)別x=10;y=++x;/*y=11,x=11*/----先執(zhí)行對操作數(shù)的加運(yùn)算,再使用該操作數(shù)的值y=x++/*y=10,x=11*/----先使用該操作數(shù)的值,再對它作加運(yùn)算,2/4/202362華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.11】統(tǒng)計(jì)輸入正文的字符數(shù)和行數(shù)正文是一行行字符組成的字符序列,每一行是以換行符為結(jié)束標(biāo)志的一串字符,輸入正文以Ctrl+Z(DOS系統(tǒng))或Ctrl+D(UNIX系統(tǒng))為結(jié)束標(biāo)志(稱為文件尾)。輸入一個(gè)字符可以使用標(biāo)準(zhǔn)庫函數(shù)getchar。getchar遇文件結(jié)束標(biāo)志時(shí)返回EOF,EOF是在頭文件<stdio.h>定義的符號(hào)常量,其值為-1。\源程序\ex2_11.c2/4/202363華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.12】計(jì)算1+2+3+…+n,n從鍵盤輸入\源程序\ex2_12.c2/4/202364華中科技大學(xué)計(jì)算機(jī)學(xué)院序列點(diǎn)后綴++(或--)計(jì)算延遲的終止點(diǎn)稱為序列點(diǎn)。在序列點(diǎn)之前,用原值,序列點(diǎn)之后,該操作數(shù)是更改后的新值。下列條件出現(xiàn)序列點(diǎn):(1)&&、||、?:或,運(yùn)算符,即這些運(yùn)算符的第一個(gè)操作數(shù)之后(2)完整表達(dá)式結(jié)束時(shí),即表達(dá)式語句、return語句中的表達(dá)式、if、switch或循環(huán)語句中的條件表達(dá)式(包括for語句中的每個(gè)表達(dá)式)之后2/4/202365華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.13】后綴式++(或--)表達(dá)式舉例
inta=1,b=0;
(1)b+++b++
表達(dá)式值為0,b為2
(2)a--&&a
表達(dá)式值為0,a為0
(3)b++?b:-b
表達(dá)式值為-1,b為12/4/202366華中科技大學(xué)計(jì)算機(jī)學(xué)院幾點(diǎn)注意:1.只能用于變量(即左值表達(dá)式).
如
5++,(a+b)--均不合法.2.結(jié)合性為從右至左.如–i++相當(dāng)于–(i++)
若i=3,則該表達(dá)式結(jié)果為–3,i為42/4/202367華中科技大學(xué)計(jì)算機(jī)學(xué)院2.6.7賦值運(yùn)算1.簡單的賦值運(yùn)算賦值運(yùn)算符:=
賦值表達(dá)式一般形式為:
<變量>=<表達(dá)式>
右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量
左值(lvalue)
:賦值運(yùn)算符左側(cè)的標(biāo)識(shí)符變量可以作為左值而表達(dá)式就不能作為左值(如a+b)
常量也不能作為左值
2/4/202368華中科技大學(xué)計(jì)算機(jī)學(xué)院賦值表達(dá)式的值和類型與左操作數(shù)的值和類型相同。C把賦值處理為運(yùn)算符,其好處是使賦值表達(dá)式可以像其它任何表達(dá)式一樣當(dāng)作一個(gè)數(shù)據(jù)來處理。如a=2;b=3;x=a+b;可以被簡化為x=(a=2)+(b=3)2/4/202369華中科技大學(xué)計(jì)算機(jī)學(xué)院賦值運(yùn)算符的結(jié)合性右結(jié)合性,如
a=b=c=3;
等價(jià)于
a=(b=(c=3));2/4/202370華中科技大學(xué)計(jì)算機(jī)學(xué)院
2.復(fù)合的賦值運(yùn)算在“=”號(hào)之前加一個(gè)雙目運(yùn)算符:
+=,-=,*=,/=,%=如i+=2等價(jià)于i=i+2y/=x+10等價(jià)于y=y/(x+10)x*=k=m+5等價(jià)于x=x*(k=m+5)s[i++]+=1和s[i++]=s[i++]+1不等價(jià)2/4/202371華中科技大學(xué)計(jì)算機(jī)學(xué)院
2.6.8條件運(yùn)算
e1?e2:e3e1e2e3真(非0)假(0)2/4/202372華中科技大學(xué)計(jì)算機(jī)學(xué)院舉例1)
x=10;y=x>9?100:200/*y:100*/(2)x=a>0?1:a<0?-1:0
等價(jià)于(因?yàn)槭怯医Y(jié)合性)x=a>0?1:(a<0?-1:0)2/4/202373華中科技大學(xué)計(jì)算機(jī)學(xué)院
2.6.9逗號(hào)運(yùn)算
e1,e2計(jì)算規(guī)則:先計(jì)算e1,再計(jì)算e2,逗號(hào)表達(dá)式的值和類型與e2的值和類型相同2/4/202374華中科技大學(xué)計(jì)算機(jī)學(xué)院舉例(1)x=(i=4,i%3)
表達(dá)式的值為:1,x為1(2)x=i=4,i%3
表達(dá)式的值為:1,x為42/4/202375華中科技大學(xué)計(jì)算機(jī)學(xué)院擴(kuò)展形式逗號(hào)表達(dá)式的一般形式可以擴(kuò)展為
e1,e2,e3,……,en它的值為表達(dá)式n的值。2/4/202376華中科技大學(xué)計(jì)算機(jī)學(xué)院
注意并不是任何地方出現(xiàn)的逗號(hào)都是作為逗號(hào)運(yùn)算符。例如函數(shù)參數(shù)也是用逗號(hào)來間隔的。
printf(“%d,%d”,2,3);/*輸出:2,3*/printf(“%d,%d”,(2,3),3);/*輸出:3,3*/“(2,3)”是一個(gè)逗號(hào)表達(dá)式,它的值等于3。“2,3”并不是一個(gè)逗號(hào)表達(dá)式,它是printf函數(shù)的2個(gè)參數(shù)2/4/202377華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.14】輸入一串?dāng)?shù)字字符,將其轉(zhuǎn)換為一個(gè)十進(jìn)制整數(shù)賦值給x(模擬scanf("%d",&x)的功能)。當(dāng)用scanf("%d",&x)輸入一個(gè)整數(shù)時(shí),實(shí)際上輸入的是組成該整數(shù)的各位數(shù)字的一個(gè)字符串,scanf函數(shù)讀到的每個(gè)數(shù)字都是該字符的字符碼。為了將字符串轉(zhuǎn)換為整數(shù),必須先將每個(gè)數(shù)字字符轉(zhuǎn)換成數(shù)字對應(yīng)的一位整數(shù),然后按相應(yīng)的數(shù)位拼成一個(gè)十進(jìn)制整數(shù),最后賦給變量x。\源程序\ex2_14.c2/4/202378華中科技大學(xué)計(jì)算機(jī)學(xué)院
2.6.10sizeof運(yùn)算一個(gè)單目運(yùn)算符,有兩種形式:(1)sizeof(類型名)給出指定數(shù)據(jù)類型占用的存儲(chǔ)字節(jié)數(shù)(2)sizeof表達(dá)式給出表達(dá)式結(jié)果的類型占用的存儲(chǔ)字節(jié)數(shù)2/4/202379華中科技大學(xué)計(jì)算機(jī)學(xué)院舉例假設(shè)int類型占用2字節(jié)。sizeof(long)/*值為4*/doublex;sizeofx/*值為8*/inta[10];sizeof(a)/*值為20*/inta=1,b=1;sizeof(a+b)/*值為2,
而sizeofa+b,先求sizeofa,再和b加,
值為3*/2/4/202380華中科技大學(xué)計(jì)算機(jī)學(xué)院
sizeof是一個(gè)常量表達(dá)式其運(yùn)算是在編譯時(shí)執(zhí)行的。因此,當(dāng)sizeof的操作數(shù)是表達(dá)式時(shí),則在編譯時(shí)分析表達(dá)式以確定類型,運(yùn)行時(shí)不對這個(gè)表達(dá)式求值。例如:shortx=1;sizeof(++x);/*x不遞增,仍為1*/2/4/202381華中科技大學(xué)計(jì)算機(jī)學(xué)院2.7位運(yùn)算符和位表達(dá)式6個(gè)位運(yùn)算符:~(求反)&(按位與)|(按位或)^(按位異或,或按位加)<<(左移)>>(右移)2/4/202382華中科技大學(xué)計(jì)算機(jī)學(xué)院2.7.1按位求反(~)對操作數(shù)的每個(gè)二進(jìn)制位取相反值例如:shorta=5;unsignedshortb=5;a和b的二進(jìn)制為:0000000000000101~a的二進(jìn)制為:1111111111111010~a的值為short型–6。~b的值為unsignedshort型65530。2/4/202383華中科技大學(xué)計(jì)算機(jī)學(xué)院2.7.2按位與、或、加運(yùn)算(&,|,^)
表達(dá)式二進(jìn)制表示十六進(jìn)制值說明x01101000110100010x68d1待處理數(shù)據(jù)mask11111111000000000xff00邏輯尺x&mask01101000000000000x6800將x的低字節(jié)置為0,保留高字節(jié)x|mask11111111110100010xffd1將x的低字節(jié)保留,高字節(jié)置為1x^mask10010111110100010x97d1將x的低字節(jié)保留,高字節(jié)翻轉(zhuǎn)2/4/202384華中科技大學(xué)計(jì)算機(jī)學(xué)院2.7.3左移和右移運(yùn)算(<<和>>)e<<n將e的值向左移n位,低n位填入0。
左移1位相當(dāng)于該數(shù)值乘以2e>>n將e的值向右移n位,而高n位可能填入?。
--e是無符號(hào)類型,填入0;
--e是有符號(hào)類型,一些機(jī)器填入0(即“邏輯移位”),
而另一些機(jī)器則填入符號(hào)位(即“算術(shù)移位”)。在使用右移運(yùn)算符時(shí)應(yīng)經(jīng)常用無符號(hào)類型。右移一位相當(dāng)于該數(shù)值除以22/4/202385華中科技大學(xué)計(jì)算機(jī)學(xué)院移位運(yùn)算符的例子表達(dá)式二進(jìn)制表示值行為ab-aa<<2b>>3-a>>20000000000001011000000000000111111111111111101010000000000101100000000000000000111111111111111011115-11441-3對a進(jìn)行負(fù)號(hào)運(yùn)算a左移2位b右移3位-a右移2位(填入符號(hào)位1,而其他機(jī)器可能是0)2/4/202386華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.15】寫一個(gè)表達(dá)式,取一個(gè)整數(shù)x從第m位開始向右的n位,并使其向右端靠齊。一個(gè)整數(shù)的各個(gè)二進(jìn)制位從右至左依次編號(hào)為第0位、第1位、第2位、……。(1)將要取出的那n位移到最右端
x>>(m-n+1)(2)設(shè)計(jì)一個(gè)邏輯尺:低n位全為1,其余位全為0~(~0<<n)(3)將上面二者進(jìn)行&的運(yùn)算
x>>(m-n+1)&~(~0<<n)2/4/202387華中科技大學(xué)計(jì)算機(jī)學(xué)院2.7.4位運(yùn)算符應(yīng)用舉例【例2.16】壓縮和解壓示例??梢园驯硎?1世紀(jì)日期的日、月和年3個(gè)整數(shù)壓縮成1個(gè)16位的整數(shù)。寫一個(gè)表達(dá)式,實(shí)現(xiàn)壓縮存儲(chǔ)日、月和年。2/4/202388華中科技大學(xué)計(jì)算機(jī)學(xué)院分析:可以把表示21世紀(jì)日期的日、月和年3個(gè)整數(shù)壓縮成1個(gè)16位的整數(shù),因?yàn)槿沼?1個(gè)值,月有12個(gè)值,年有100個(gè)值,所以可以在一個(gè)整數(shù)中用5b表示日,用4b表示月,用7b表示年.
151110760日月年day<<11|month<<7|year2/4/202389華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.17】簡單加密示例。
將一個(gè)短整型數(shù)x分成4個(gè)長度不等的部分:
A(3b)、B(5b)、C(4b)和D(4b),然后將它們按照CADB的順序重新拼湊在一起,實(shí)現(xiàn)對其加密的功能。寫一個(gè)表達(dá)式,要求其值為x的密文。2/4/202390華中科技大學(xué)計(jì)算機(jī)學(xué)院(1)設(shè)計(jì)4個(gè)邏輯尺,分別用于取出A、B、C和D4個(gè)部分。A的邏輯尺應(yīng)設(shè)計(jì)成:高3位全為1,其余全為0,即0xE000;B的邏輯尺應(yīng)設(shè)計(jì)成:第8~12位全為1,其余全為0,即0x1F00;同理C和D的邏輯尺分別為0x00F0和0x000F。(2)取出A、B、C和D,再移到新位置。將x分別和邏輯尺進(jìn)行&運(yùn)算,可取出每一部分。用每部分第1位的初始位置減去其新位置得到移位數(shù),正數(shù)右移,負(fù)數(shù)左移。(3)將各部分重新組裝在一起。得到表達(dá)式為:(x&0xE000)>>4|(x&0x1F00)>>8|(x&0xF0)<<8|(x&0xF)<<52/4/202391華中科技大學(xué)計(jì)算機(jī)學(xué)院2.7.5打印整數(shù)各位的軟件工具
/*按位顯示int*/#include<limits.h>voidbit_print(intx){inti;intn=sizeof(int)*CHAR_BIT;/*CHAR_BIT在limits.h中定義*/intmask=1<<(n-1);/*邏輯尺mask=100……0*/for(i=1;i<=n;++i){putchar(!(x&mask)?'0':'1');x<<=1;if(!(i%CHAR_BIT)&&i<n)putchar('');}}2/4/202392華中科技大學(xué)計(jì)算機(jī)學(xué)院2.8類型轉(zhuǎn)換C語言允許雙精度、單精度、整型及字符數(shù)據(jù)之間混合運(yùn)算10+
'1‘+6.5但有一個(gè)規(guī)則:先轉(zhuǎn)換成同一類型,再計(jì)算。2/4/202393華中科技大學(xué)計(jì)算機(jī)學(xué)院2.8.1整數(shù)提升任何表達(dá)式中的char、unsignedchar、short和unsignedshort都要先轉(zhuǎn)換成int或unsigned,如果原始類型的所有值可以用int表示,則轉(zhuǎn)換成int,否則轉(zhuǎn)換成unsigned,把這稱為“整數(shù)提升”。2/4/202394華中科技大學(xué)計(jì)算機(jī)學(xué)院2.8.2一般算術(shù)轉(zhuǎn)換char/shortintunsignedlongunsignedlongfloatdoublelongdouble2/4/202395華中科技大學(xué)計(jì)算機(jī)學(xué)院2.8.3賦值轉(zhuǎn)換右操作數(shù)的值被轉(zhuǎn)換為左操作數(shù)的類型例如:shorts=5;doubled=2.9;則s=d/*把d轉(zhuǎn)換為short,再賦給s。值為2*/d=s/*把s轉(zhuǎn)換為double,再賦給d。值為5.0*/2/4/202396華中科技大學(xué)計(jì)算機(jī)學(xué)院2.8.4強(qiáng)制類型轉(zhuǎn)換
(類型名)操作數(shù)例如,(double)i/*將i轉(zhuǎn)換成double,i的類型保持不變*/(long)(‘a(chǎn)’-32)/*‘a(chǎn)’被自動(dòng)轉(zhuǎn)換成int,相減的結(jié)果被強(qiáng)制轉(zhuǎn)換為long*/(float)x+y/*等價(jià)于((float)x)+y*/(double)x=10/*錯(cuò)誤*/2/4/202397華中科技大學(xué)計(jì)算機(jī)學(xué)院2.9枚舉類型枚舉類型是用戶自定義類型,它是用標(biāo)識(shí)符命名的整型常量的集合,其中的標(biāo)識(shí)符稱為枚舉常量。從效果上看,枚舉常量是自動(dòng)設(shè)置值的符號(hào)常量。2/4/202398華中科技大學(xué)計(jì)算機(jī)學(xué)院enumweek{SUN,MON,TUE,WED,THU,FRI,SAT};在未指定值的缺省情況下,第一個(gè)枚舉常量的值為0,以后的值依次遞增1.
可以指定一個(gè)或多個(gè)枚舉常量的值,未指定值的枚舉常量的值比前面的值大1.enumsizes{SMALL,MEDIUM=10,BIG,TOO_BIG=20};
enum后面也可以不出現(xiàn)枚舉名.enum{WIN,LOSE,TIE,ERROR};關(guān)鍵字
枚舉名
枚舉常量
2.9.1枚舉類型的定義2/4/202399華中科技大學(xué)計(jì)算機(jī)學(xué)院2.9.2用枚舉類型定義符號(hào)常量#defineWIN0#defineLOSE1#defineTIE2#defineERROR-1可用下面的枚舉類型定義來代替。
enum{WIN,LOSE,TIE,ERROR=-1};2/4/2023100華中科技大學(xué)計(jì)算機(jī)學(xué)院2.9.3.枚舉變量的聲明(1)在定義枚舉類型的同時(shí)說明枚舉變量
enumcolor{RED,GREEN,BLUE}c1,c2;(2)利用枚舉名來說明枚舉變量
enumcolor{RED,GREEN,BLUE}c1;
enumcolorc2;或者
enumcolor{RED,GREEN,BLUE};
enumcolorc1,c2;2/4/2023101華中科技大學(xué)計(jì)算機(jī)學(xué)院一個(gè)枚舉變量的值是int型整數(shù),但值域僅限于列舉出來的范圍。枚舉變量值的輸入和輸出都只能是整數(shù)。c1=BLUE;/*等價(jià)于c1=2;使用有意義的標(biāo)識(shí)符有助于讀者理解程序*/printf(“%d”,c1);/*輸出2,而不是BLUE*/scanf(“%d”,c2);/*輸入0,不能輸入RED*/
下面的語句是錯(cuò)誤的:c1=3;/*變量c1的值域?yàn)椋?、1和2*/printf(“%s”,GREEN);/*輸出錯(cuò)誤的結(jié)果,而不是GREEN*/if(c1==RED)printf(“Red”);2/4/2023102華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.22】用枚舉變量day控制循環(huán),輸出存儲(chǔ)在數(shù)組weekName中的英文星期名。一個(gè)枚舉變量的值是一個(gè)int整數(shù),它可以出現(xiàn)在整數(shù)允許出現(xiàn)的任何地方。如果要輸出與枚舉值相對應(yīng)的枚舉常量標(biāo)識(shí)符或代表其含義的完整字符串,可以定義一個(gè)字符串?dāng)?shù)組,以枚舉值作為下標(biāo)。源程序\ex2_22.c2/4/2023103華中科技大學(xué)計(jì)算機(jī)學(xué)院2.10新增數(shù)據(jù)類型C99標(biāo)準(zhǔn)增加了支持64位的整數(shù)類型longlong,還增加了布爾類型和復(fù)數(shù)類型。CodeBlocks編譯器能夠較好地支持C99標(biāo)準(zhǔn),本節(jié)中的例子程序均由CodeBlocks運(yùn)行通過。2/4/2023104華中科技大學(xué)計(jì)算機(jī)學(xué)院2.10.1longlong類型longlong類型的長度至少應(yīng)為64位。和其他整型類型一樣,有帶符號(hào)和無符號(hào)兩種。signedlonglong的數(shù)值范圍為-263~263-1,unsignedlonglong的數(shù)值范圍為0~264-1。longlong類型的常量用后綴“LL”或“l(fā)l”表示。在所有整型類型中,類型longlong的值域最寬,因此,C99標(biāo)準(zhǔn)的自動(dòng)轉(zhuǎn)換所遵循的轉(zhuǎn)換方向?yàn)椋骸璾nsignedlonglong
longunsignedlonglongfloat…2/4/2023105華中科技大學(xué)計(jì)算機(jī)學(xué)院【例2.23】輸出斐波那契(FIBONACCI)數(shù)列的前60個(gè)數(shù)。FIBONACCI數(shù)列是由1和1開始,之后的數(shù)是它前面兩數(shù)的和,即1,1,2,3,5,8,……分析:由于FIBONACCI數(shù)列從大約第45個(gè)數(shù)起就超過了long類型的范圍,為避免溢出,應(yīng)將結(jié)果變量說明為longlong類型,從輸出結(jié)果可以看到,它的長度為8字節(jié)。源程序\ex2_23.c2/4/2023106華中科技大學(xué)計(jì)算機(jī)學(xué)院2.10.2布爾類型C語言中可以用任何整數(shù)類型表示布爾值,0表示假,所有非0表示真。布爾表達(dá)式為假時(shí)值為0,為真時(shí)值為1。例如,i=(a<b),在a小于b時(shí)對整型變量i賦值1;在a不小于b時(shí)對變量i賦值0。C99標(biāo)準(zhǔn)引入了真正的布爾類型_Bool,_Bool類型長度為1,只能保存數(shù)值0和1(分別表示“false”與“true”)。雖然也可以使用其他整數(shù)類型表示布爾值,但如果C語言實(shí)現(xiàn)支持C99標(biāo)準(zhǔn),那么使用_Bool類型更清晰。另外,C99標(biāo)準(zhǔn)為了讓C和C++兼容,增加了一個(gè)頭文件stdbool.h。里面定義宏名bool為_Bool的同義詞,定義false與true分別為0和1。因此,只要在源文件中包含stdbool.h這個(gè)頭文件,就可以在C語言里像C++那樣使用bool定義布爾類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)《中小學(xué)教學(xué)名師論壇》2023-2024學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《保險(xiǎn)學(xué)原理》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《戲劇與教育理論及實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《色彩表現(xiàn)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《化工原理下》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《工程制圖》2022-2023學(xué)年第一學(xué)期期末試卷
- 水利企業(yè)規(guī)程標(biāo)準(zhǔn)明細(xì)表
- 基本原則與基本制度
- 藥品管理法課件
- 2024年龍巖道路旅客運(yùn)輸駕駛員從業(yè)資格考試試題及答案
- 師范大學(xué)關(guān)于鼓勵(lì)和支持學(xué)生實(shí)施“自我管理、自我服務(wù)、自我教育、自我監(jiān)督”的意見
- JJG(交通)105-2012 瀝青混合料理論最大相對密度儀檢定規(guī)程-(高清現(xiàn)行)
- 三年級(jí)上冊美術(shù)課件-第6課 夸張的臉丨浙美版 (19張PPT)
- 有理數(shù)的減法(一)導(dǎo)學(xué)案
- 職業(yè)危害告知牌(柴油)
- 普通高中生物課程標(biāo)準(zhǔn)(全)
- 部編版三年級(jí)語文上冊冒號(hào)引號(hào)、關(guān)聯(lián)詞習(xí)題
- PVCPVG膠帶硫化工藝工法
- 大副面試英語
- 《Antonymy總結(jié)》ppt課件
- 項(xiàng)目化課程教學(xué)評(píng)價(jià)表
評(píng)論
0/150
提交評(píng)論