




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言基本語法歸納
及實例介紹計算機教學中心李雪飛提綱C語言概況C程序的結構數據類型、運算符與表達式最簡單的C程序設計—順序程序設計選擇結構程序設計循環控制數組函數指針C語言概況C的優點1)、高效2)、可移植3)、靈活C的缺點可讀性差,學習應用較難。C語言概況--簡單的C程序[例1.1]
main(){printf("ThisisaCprogram.\n");}該程序的作用:在屏幕上輸出一行信息:ThisisaCprogram.
1、main()表示“主函數”,每一個C程序都必須有且只有一個主函數。2、main函數體由大括號{}括起來。3、語句后面有一個分號。.4、printf()是C語言的輸出函數。雙引號內的字符被原樣輸出。5、“\n”是換行符,即在輸出ThisisaCprogram之后換行。[例1.2]求兩數之和。
main()
{inta,b,sum;/*定義三個整型變量。(int=integer)。*/a=123;b=456;
/*把常數123賦給變量a,把常數456賦給變量b*/sum=a+b;
/*計算a、b之和,并把和值賦變量給sum*/
printf(“Sumis%d\n”,sum);/*輸出sum的值*/}
程序的輸出信息為:
sumis579/**/中間的內容表示“注釋”。注釋是程序員對程序某部分的功能和作用所做的說明,是給人看的,對編譯和運行不起作用。%d表示輸出的數據類型是十進制整數類型。在輸出時,該位置用對應變量sum的值代替。[例1.3]輸入兩個整數,輸出其中的最大值。
intmax(intx,inty)/*求兩數最大值函數max*/
{intz;
if(x>y)z=x;elsez=y;
return(z);/*將z的值返回給主函數main*/
}/*返回值通過函數名max帶回main函數調用處*/
main()/*主函數*/
{inta,b,c;
scanf(“%d,%d”,&a,&b);/*輸入a,b的值*/
c=max(a,b);/*調用max函數,將實參a,b的值給形參x,y*/printf(“max=%d”,c);/*輸出最大值*/
}C程序的結構1、C程序是由函數構成的。一個C源程序至少包括一個函數(main函數:它代表程序開始執行的起始位置),也可以包括一個main函數和若干其它函數。因此,函數是C程序的基本單位。
C程序中有三種類型的函數:1).main():主函數,每一個C程序必須且只有一個main()函數。2).開發系統提供的特殊函數,如printf()、scanf()等。TurboC開發系統提供三百多個函數。3).程序員自己設計的函數,如例1.3中的函數max()。
C的函數相當于其它語言中的子程序。用函數來實現特定的功能。可以說C是函數式的語言。程序全部工作都是由函數來完成的。C的這種特性很容易實現模塊化。C程序的結構C程序的結構2、一個函數由兩部分組成:
(1)函數的說明部分。包括函數名、函數類型、函數屬性、函數參數(形參)名、形式參數類型。如intmax(intx,inty)函數類型函數名函數參數類型函數參數名函數參數類型函數參數名(2)函數體。即函數說明部分下面的大括弧{...}內的部分。如果一個函數內有多個大括弧,則最外層的一對{}為函數體的范圍。
函數體一般包括:①變量定義。如[例1.3]中main函數中的“inta,b,c;”
②執行部分。由若干個語句組成。
當然,在某些情況下也可以沒有變量定義部分(例如[例1.1])。甚至可以既無變量定義也無執行部分,如:
dump()
{}
它是一個空函數,什么也不干,但這是合法的。C程序的結構3、一個C程序總是從main函數開始執行的,而不論main函數在整個程序中的位置如何(main函數可以放在程序最前頭,也可以放在程序最后,或在一些函數之前在另一些函數之后)。
4、C程序書寫格式自由,一行內可以寫幾個語句,一個語句可以分寫在多行上。C程序沒有行號,也不象fortran或cobol那樣嚴格規定書寫格式(語句必須從某一列開始書寫)。
C程序的結構5、每個語句和數據定義的最后必須有一個分號。分號是C語句的必要組成部分。例如:c=a+b;分號不可少。即使是程序中最后一個語句也應包含分號(這是和pascal語言不同的)。6、C語言本身沒有輸入輸出語句。輸入和輸出的操作是由庫函數scanf和printf等函數來完成的。C對輸入輸出實行“函數化”。7、可以用/*……*/對C程序中的任何部分作注釋。可以增加程序的可讀性。
C程序的結構程序開發過程……
C源代碼編譯程序目標代碼鏈接程序可執行代碼庫C源代碼編譯程序目標代碼數據類型、運算符與表達式§3.1信息在計算機中的存儲與表示計算機的基本功能是進行數據的計算和加工處理,程序和數據在計算機的存儲是用二進制形式表示的。數與字符是自然信息與計算機二進制信息的中轉環節。數制:就是用一組固定的數字和一套統一的規則來表示數據的方法。日常使用的十進制(逢十進一)機器內部的二進制(逢二進一)其它常用的數制:八進制,十六進制不同數制之間的對應表示十進制decimal二進制binary八進制octal十六進制hexdecimal000011112102231133410044510155611066711177十進制decimal二進制binary八進制octal十六進制hexdecimal810008910019101010111011121100131101141110151111161000010ABCDEF201011121314151617數制間的轉換1.二、八、十六進制轉換為十進制按權展開法。例:(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2
=(5.75)10(127.4)8=1×82+2×81+7×80+4×2-1
=(87.5)10數制間的轉換2.十進制轉換為二、八、十六進制整數部分:除R取余法(先余為低,后余為高)小數部分:乘R取整法(先整為高,后整為低)轉換精度問題例:(4.6875)10=(?)2結果:(100.1011)2(87.5)10=(?)8結果:(127.47)8數制間的轉換3.二進制與八、十六進制之間的轉換八、十六進制轉換為二進制一分為三、一分為四 例: (23.54)8=(010011.101100)2
=(10011.1011)2
(13.B)16=(00010011.1011)2
=(10011.1011)2二進制轉換為八、十六進制合三為一、合四為一§3.2C的數據類型數據結構指的是數據的組織形式。不同的計算機語言所允許定義和使用的數據結構是不同的。處理同一類問題,如果數據結構不同,算法也會不同。所以,我們應當綜合考慮算法和數據結構,選擇最佳的數據結構和算法。數據結構+算法=程序對程序當中所用到的所有數據都必須指定其數據類型。C語言的數據結構是以數據類型形式出現的。C的數據類型如下:§3.2常量與變量3.2.1常量和符號常量3.2.2變量3.2.1常量和符號常量在程序運行過程中,其值不能被改變的量稱為常量。常量分為:(1)整型常量;如12,0,-3等;(2)實型常量;如4.6,-1.23等;(3)字符常量;如‘a’,‘d’等;(將在后面的小節中詳細講解)常量一般從其字面形式即可判別,這種常量稱為字面常量或直接常量。也可以用一個標識符代表一個常量。如例3.1例3.1符號常量的使用。#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);}程序中用#define命令行定義PRICE代表常量30,此后凡在本文件中出現的PRICE都代表30,可以和常量一樣進行運算。程序運行結果為:total=300符號常量用一個標識符代表一個常量的,稱為符號常量,即標識符形式的常量。注意:符號常量不同于變量。符號常量的值在其作用域(例3.1中即為main()函數)內不能被改變,也不能被再次賦值。如:在主函數main中再次用“PRICE=40”語句對PRICE賦值是錯誤的。為了方便區分符號常量與變量,習慣上符號常量名大寫,變量名小寫。使用符號常量的好處(1)含義清楚。定義符號常量名時應考慮“見名知意”,在一個規范的程序中不提倡使用很多的常數,如:sum=15*30*23.5*43.在檢查程序時搞不清各個常數究竟代表什么。應盡量使用“見名知意”的變量名和符號常量。(2)在需要改變一個常量時能夠做到“一改全改”。例如,在程序中多處用到某物品的價格,如果價格用常數表示,則在價格進行調整時,需要在程序中作多處修改;若使用符號常量PRICE代表價格,則只需在定義該符號常量處作一次修改即可。如:#definePRICE=35
3.2.2變量其值可以改變的量稱為變量。一個變量應該有一個名字,在內存中占據一定的存儲單元。在該存儲單元中存放該變量的值。注意:變量名與變量值的區別。
3a變量名(一個符號地址,在對程序編譯時系統分配給它一個內存地址)變量值(在程序中對變量取值,實際上是通過變量名找到相應內存地址,從其存儲單元中讀取數據)存儲單元變量的使用是程序設計的中心環節之一,應掌握:(1)變量的定義:某一時刻值是確定的,不同時刻可能取不同的值,其改變是不連續的。(2)變量的兩個要素
變量名:它是一個標識符,代表一定的內存存儲單元,存儲單元有一個地址。C語言以“&變量名”表示變量的地址。
變量值:它存放在相應的存儲單元中,C語言在使用變量名時,實際上是在使用存儲單元中存放的變量的值。變量的命名規則變量的命名符合一般標識符(名字)的命名規則。(1)“字母數字串”;以字母開頭,后邊跟以字母或者數字,下劃線等同于字母。(漢字看作字母,但編程時盡量避免使用漢字,因為漢字的兼容性不好)(2)建議長度不超過8個字符(可移植性要求);(3)區分大小寫(一般使用小寫字母);(4)盡量做到“見名知意”,避免使用代數符號(如a,b);(5)不能有空格,不能有小數點。變量的強制定義在C語言中,要求對所有用到的變量作強制定義,就是“先定義,后使用”。這樣做的目的是:(1)凡是沒有被事先定義的,不作為變量名,這就能保證程序中變量名使用的正確;(2)每一個變量被指定為一確定類型,在編譯時就能為其分配相應的存儲單元;(3)制定每一變量屬于一個類型,這就便于在編譯時,據此檢查該變量所進行的運算是否合法。§3.3整型數據3.3.1整型常量的表示方法3.3.2整型變量3.3.3整型常量的類型
3.3.1整型常量的表示方法整形常量即整常數。C整常數可用以下三種形式表示:(1)十進制整數。如123、-456、0(2)八進制整數。以0開頭的數是八進制數。如0123表示八進制數123,即(123)8,等于十進制數83(1×82+2×81+3×80=83)。-011表示八進制數-11,即十進制數-9。(3)十六進制整數。以0x開頭的數是16進制數。如0x123,代表16進制數123。
3.3.2整型變量1.整型數據在內存中的存放形式2.整型變量的分類3.整型變量的定義4.整型數據的溢出整型變量的分類(1)基本型,以int表示。(2)短整型,以shortint表示,或以short表示。(3)長整型,以longint表示,或以long表示。(4)無符號型,以存儲單元中全部二進位(bit)存放數本身,而不必空出最高位作為符號位。無符號型中又分為無符號整型、無符號短整型和無符號長整型,分別以unsignedint,unsignedshort,unsignedlong表示。如果整量在內存中占2個字節(16位),則int型變量數的范圍為-32768~32767。而unsignedint型變量數的范圍為0~65535.各類數據所占內存字節數C標準沒有具體規定以上各類數據所占內存的字節數,只要求long型數據長度不短于int型,short型不長于int型。具體如何實現,有各計算機系統自行決定。通常的做法是:把long定為32位,把short定為16位,而int可以是16位,也可以是32位。在微機上用long型可以得到大范圍的整數,但同時會降低運算速度,因此不要隨便使用long型。整型變量的定義前面已提到,C規定在程序中所有用到的變量都必須在程序中指定其類型,即“定義”。這和BASIC,FORTRAN不同,而和PASCAL相類似。例如:inta,b;(指定變量a,b為整型)
unsignedshortc,d;(指定變量c,d為無符號短整型)
longe,f(指定變量e,f為長整型)對變量的定義,一般是放在一個函數的開頭部分的聲明部分,變量的作用域是整個函數;也可以放在函數中的某一分程序內,但變量的作用域只限于該分程序內(這將在第8章介紹)。例3.2整型變量的定義與使用main(){inta,b,c,d;/*指定a,b,c,d為整型變量*/unsignedu;/*指定u為無符號整型變量*/a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d,b+u=%d\n”,c,d);}運行結果為:a+u=22,b+u=-14可以看到:不同種類的整型數據可以進行算術運算。在本例中是int型數據與unsignedint型數據進行加減運算。§3.4實型數據3.4.1實型常量的表示方法3.4.2實型變量3.4.3實型常量的類型3.4.1實型常量的表示方法實數在C語句中又稱為浮點數。實數有兩種表示形式:(1)十進制數形式。它由數字和小數點組成(注意必須有小數點)。0.123,.123,123.0,123.,0.0都是十進制數形式。(2)指數形式。如123e3或123E3都代表123×103
。但注意字母e(或E)之前必須有數字,且e后面指數必須為整數,如e3,2.1e3.5,.e3,e等都不是合法的指數形式。3.4.2實型變量1.實型數據在內存中的存放形式2.實型變量的分類3.實型數據的舍入誤差3.4.2實型變量1.實型數據在內存中的存放形式2.實型變量的分類3.實型數據的舍入誤差§3.5字符型數據3.5.1字符常量3.5.2字符變量3.5.3字符數據在內存中的存儲形式3.5.4字符串常量3.5.1字符常量C的字符常量是用單引號括起來的一個字符。如'a','D','?'等都是字符常量。注意,'a'和'A'是不同的字符的常量。除了以上形式的字符常量外,C還允許用一種特殊的字符常,就是以一個“\”開關的字符序列。例如,前面已經遇到過的,在printf函數中的‘\n’,它代表一個“換行”符,這種非顯示字符難以用一般形式的字符表示,故規定用這種特殊形式表示。這類特殊的字符稱為“轉義字符”。轉義字符a.控制字符:\t水平制表(跳到下一個tab位置);\r回車;\n換行;
b.疑難字符:\’單引號字符\\反斜杠字符
c.指定ASCII碼對應的字符:
格式1:\xhh:1到2位十六進制數ASCII碼對應的字符
如:\x42表示字符“B”;
格式2:\ddd:
1到3位八進制數ASCII碼對應的字符
如:\102同樣表示字符“B”;3.5.2字符變量字符型變量用來存放字符常量,注意只能放一個字符,不要以為在一個字符變量中可以放一個字符串(包括若干字符)。字符變量的字義如下:
charc1,c2;
它表示c1和c2為字符型變量,各可以放一個字符。因此可以用下面語句對c1,c2賦值:
c1='a';c2='b'一般以一個字節來存放一個字符,或者說一個字符變量在內存中占一個字節。
3.5.3字符數據在內存中的存儲形式將一個字符常量放到一個字符變量中,并不是把該字符本身放到內存單元中,而是將該字符的ASCII碼放到存儲單元中,而且以二進制形式存放。例如:執行賦值語句c1=‘a’;c2=‘b’;字符‘a’的ASCII碼為97,‘b’為98,在內存中變量c1,c2的值如圖所示:既然在內存中,字符數據以ASCII碼存放,它的存儲形式就與整數的存儲類似,這使得字符型數據和整型數據之間可以通用。9798c1c20110000101100010c1c2字符型數據和整型數據的通用性一個字符數據既可以以字符形式輸出,也可以以整數形式輸出。兩種通用形式的輸出;以字符形式輸出時,需要先將存儲單元中的ASCII碼轉換成相應字符,然后輸出;以整數形式輸出時,直接將ASCII碼作為整數輸出。對字符數據進行算術運算;相當于對它們的ASCII碼進行整數的算術運算。相互賦值;字符數據與整型數據可以相互賦值。兩種通用形式的輸出main(){charc1,c2;c1=97;c2=98;(等價于c1=‘a’;c2=‘b’;)printf(“%c%c\n”,c1,c2);printf(“%d%d\n”,c1,c2);}
將97和98兩個整數直接存放到c1和c2的內存單元中。
先將字符‘a’和‘b’化成ASCII碼97和98,然后放到內存單元中。兩者的作用和結果是完全相同的程序輸出如下:ab9798對字符數據進行算術運算例3.7大小寫字母的轉換。main(){charc1,c2;c1=‘a’;c2=‘b’;c1=c1-32;c2=c2-32;printf(“%c%c”,c1,c2);}運行結果為:AB‘a’的ASCII碼為97,‘A’為65;‘b’為98,‘B’為66。從ASCII代碼表中可以發現:每一個小寫字母比它相應的大寫字母的ASCII碼大32。C語言允許字符數據與整數直接進行算術運算。相互賦值字符數據與整型數據可以相互賦值。main(){inti;charc;i=‘a’;c=97;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,i,i);}運行結果:a,97a,973.5.4字符串常量前面已提到,字符常量是由一對單引號括起來的單個字符。C語言除了允許使用字符常量外,還允許使用字符串常量。字符串常量是一對雙引號括起來的字符序列。如:“Howdoyoudo.”,“CHINA”,“$123.45”都是字符串常量。可以輸出一個字符串,如printf("Howdoyoudo.");不要將字符常量與字符串常混淆。‘a’是字符常量,“a”是字符串常量,二者不同。假設C被指定為字符變量:
charc;c=‘a’;是正確的;而c=“a”;是錯誤的。
c=“CHINA”,也是錯誤的。不能把一個字符串賦給一個字符變量。
究竟為什么c=‘a’就是正確的,而c=“a”就錯了呢?§3.6變量賦初值程序中常需要對一些變量預先設置初值。C語言允許在定義變量的同時使變量初始化。inta=3;/*指定a為整型變量,初值為3*/floatf=3.56;/*指定f為實型變量,初值為3.56*/charc=‘a’;/*指定c為字符變量,初值為‘a’*/也可以使被定義的變量的一部分賦初值。inta,b,c=5;/*指定a,b,c為整型變量,只對c初始化*/如果對幾個變量賦予初值3,應寫為:inta=3,b=3,c=3;
不能寫成:inta=b=c=3
初始化不是在編譯階段完成的(只有在第8章中介紹的靜態存儲變量和外部變量的初始化時在編譯階段完成的)。如:inta=3;相當于:inta;/*指定a為整型變量*/a=3;/*賦值語句,將3賦給a*/如:inta,b,c=5;相當于:inta,b,c;/*指定a,b,c為整型變量*/c=5;/*賦值語句,將5賦給c*/
§3.7算術運算符和算術表達式3.7.1C運算符簡介3.7.2算術運算符和算術表達式1.基本的算術運算符2.算術表達式和運算符的優先級與結合性3.強制類型轉換運算符4.自增、自減運算符5.有關表達式使用中的問題說明3.7.1C運算符簡介C語言是表達式語言,除了控制語句和輸入輸出外幾乎都是表達式。如:賦值符“=”作為賦值運算符,而方括號“[]”作為下標運算符等。C的運算符有13類之多。
C的運算符1.算術運算符(+,-,*,/,%,即加,減,乘,除,求余)2.關系運算符(>,<,==,>=,<=,!=)3.邏輯運算符(!,&&,||)4.位運算符(<<,>>,~,|,^,&)5.賦值運算符(=及其擴展賦值運算符)6.條件運算符(?,:)7.逗號運算符(,)8.指針運算符(*和&)9.求字節數運算符(sizeof)10.強制類型轉換運算符((類型))11.分量運算符(.->)12.下標運算符([])13.其他(如函數調用運算符())
運算符詳見本書附錄III基本的算術運算符四則運算:+(加法運算符,或正值運算符。如3+5、+3)-(減法運算符,或負值運算符。如5-2、-2)*(乘法運算符。如3*5)/(除法運算符。如5/3)%(模運算符,或求余運算符,%兩則應均為整型數據)說明:/運算如果除數或被除數中有一個為負數,則舍入的方向是不固定的。如-5/3有的機器上結果為-1,有的為-2。但多數機器采取“向零取整”的方法,即5/3=1,-5/3=-1,取整后向零靠攏。算術表達式和運算符的優先級與結合性用算術運算符和括號將運算對象(操作數)連接起來,符合C語法規則的式子,稱C算術表達式。運算對象包括常量、變量、函數。合法的C算術表達式如:a*b/c-1.5+‘a’優先級:若運算對象兩側運算符的優先級不同,則先乘除后加減。結合性:若一個運算對象兩側的運算符的優先級相同,則滿足結合性規則,自左向右,左結合性(運算對象先與左面的運算符結合)。
自增、自減運算符有前置和后置兩種形式:
前置形式:++變量名,--變量名
后置形式:變量名++,變量名--功能:對變量的值進行自加1(自減1)的運算。例:語句++a;相當于執行a=a+1;
前置形式運算規則:先對表達式中含有前置自增(減)運算符的變量進行自加(減)1,然后用這些變量的新值參與表達式運算。后置形式運算規則:先用變量原值參與表達式運算,然后對含有后置自加(減)運算符的變量進行自加(減)1運算。
main()main(){intj,i=3;{intj,i=3;j=++i;(相當于i=i+1;j=i)j=i++;(相當于j=i;i=i+1)printf(“%d,%d”,i,j);}printf(“%d,%d”,i,j);}運行結果:4,4運行結果:4,3(1)自增運算符(++)和自減運算符(--),只能用于變量,不能用于常量或表達式;(2)++和--的結合方向為“自右至左”。
考慮:若i的初值為3,那么print(“%d”,-i++)的結果應該為多少呢?§3.8賦值運算符和賦值表達式1.賦值運算符2.類型轉換3.復合的賦值運算符4.賦值表達式1.賦值運算符賦值符號“=”就是賦值運算符,作用是將一個數據賦給一個變量。如“a=3”的作用是執行一次賦值操作(或稱賦值運算),把常量3賦給變量a。也可以將一個表達式的值賦給一個變量。如“a=3+5-8%5”,相當于把結果值5賦給變量a(“a=5”)。2.類型轉換如果賦值運算符兩側的類型不一致,但都是數值型或字符型時,在賦值時要進行類型轉換。3.復合的賦值運算符在賦值符“=”之前加上其他運算符,可以構成復合的運算符。如:a+=3等價于a=a+3,x%=3等價于x=x%3。注意:賦值符“=”右邊看作一項。凡是二元運算符,都可以與賦值符一起組成復合賦值符。C語言規定了10種復合賦值運算符:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=規則:(1)“=”后邊先加括號;(2)“=”前邊復制到“=”后邊;4.賦值表達式由賦值運算符將一個變量和一個表達式連接起來的式子稱為“賦值表達式”。一般形式為:<變量>
<賦值運算符><表達式>賦值表達式求解過程:將賦值運算符右側“表達式”的值賦給左側的變量。表達式的值就是被賦值的變量的值。上述一般形式中的“表達式”還可以是一個賦值表達式。如:a=(b=5)。所以,C語言允許連續賦值。inta,b,c;
a=b=c=0;
連續使用等號時,從右向左順序賦值:a=(b=(c=0));賦值表達式也可以包含復合的賦值運算符。如:a+=a-=a*a也是一個賦值表達式。若a的初值為12,則:先進行“a-=a*a”,相當于a=a-a*a,a的值為12-144=-132;再進行“a+=-132”的運算,相當于“a=a+(-132)”,a的值為-132-132=-264。§3.9逗號運算符和逗號表達式逗號運算符(又稱順序求值運算符):,逗號表達式:用逗號運算符把兩個表達式連接起來的表達式。一般形式為:表達式1,表達式2,…..,表達式n逗號表達式的值:表達式n的值.如:逗號表達式“3+5,6+8”的值為14。如:“a=3*5,a*4”,由于賦值運算符的優先級高于逗號運算符(逗號運算符在所有運算符中級別最低),因此應先求解a=3*5,再求解a*4,得到逗號表達式的值60。一個逗號表達式又可以與另一個表達式組成一個新的逗號表達式,如:(a=3*5,a*4),a+5,先計算出a的值為15,由于a*4的操作并沒有改變a的值,所以a+5的值為20。因此,逗號表達式最終的值為20。在許多情況下,使用逗號表達式的目的只是想分別得到各個表達式的值。逗號表達式最常用于循環(for)語句。注意:并不是任何地方出現的逗號都作為逗號運算符。例如函數參數也是用逗號來間隔的,如:printf(“%d,%d,%d”,a,b,c);課堂作業:2.1指出下面哪些是合法的變量名:①123②abc③a+b④a_b⑤pad⑥?12⑦Li_Li⑧*P2.2‘a’在內存中占
個字節,“a”在在內存中占
個字節.2.3寫出下面程序的運行結果:
main(){charch;ch=‘B’;/*B的ascii碼的值為66*/printf(“%c,%d\n”,ch,ch)
②④⑤⑦12B662.4寫出下面程序的運行結果:main(){inta=10,b,c,d;intb,c;a+=6;b=(c=20,6,a+2);printf("a=%d,b=%d,c=%d\n",a,b,c);}運行結果:a=16,b=18,c=202.5寫出下面程序的運行結果:main(){inta=4;intb,c;c=a+(b=2);a+=a-=a*a;printf("%d,%d,%d\n",a,b,c);}2.6寫出下面程序的運行結果:
main(){inta,b,c=9;a=3,b=4; c%=a+b; printf(“%d\n”,c) }
運行結果:-24,2,6運行結果:22.7寫出下面程序的運行結果:
main(){ inti,j,m,n; i=8;j=10; m=++i; n=j++; printf("%d,%d,%d,%d\n",i,j,m,n);}運行結果:9,11,9,102.8寫出下面程序的運行結果:
main(){ floatx=5.4; inti; i=(int)x; printf(”x=%f,i=%d\n",x,i);}運行結果:x=5.400000,I=5第四章最簡單的C程序設計
————順序程序設計§4.1C語句概述§4.2賦值語句§4.3數據輸入輸出的概念及實現§4.4字符數據輸入輸出函數§4.5格式輸入與輸出§4.6順序結構程序設計舉例§4.1C語句概述與其他高級語言一樣,C語言的語句用來向計算機系統發出操作指令。一個語句經編譯后產生若干條機器指令。一個實際的程序應當包含若干條語句。C語句都是用來完成一定的操作任務的;聲明部分的內容不應稱為語句。如:inta;不是一個C語句,它不產生機器操作,而只是對變量的定義。C程序結構C程序源程序文件1源程序文件2源程序文件n預處理命令全局變量聲明函數1函數n函數首部函數體局部變量聲明執行語句…..…C語句分類C語句可以分為以下5類:1.控制語句;2.函數調用語句;3.表達式語句;4.空語句;5.復合語句;1.控制語句完成一定的控制功能。C只有9種控制語句:
if()~else~(條件語句)
for()~(循環語句)
while()~(循環語句)
do~while()(循環語句)
continue(結束本次循環語句)
break(中止switch或循環語句)
switch(多分支選擇語句)
goto(轉向語句)
return(從函數返回語句)
()表示條件,~表示內嵌的語句。2.函數調用語句由一次函數調用加一個分號構成一個語句。如:printf(“ThisisaCstatement.”);一次函數調用分號3.表達式語句由一個表達式構成一個語句;最典型的是,由賦值表達式構成一個賦值語句(表達式后面加分號即構成語句)。如:a=3是一個賦值表達式,而a=3;是一個賦值語句。一個語句必須在最后出現分號。任何表達式都可以加上分號而成為語句。如:x+y;是語句,但沒有意義(沒有將相加之和賦給另一個變量)。表達式能構成語句是C語言的一個重要特色。C中大多數語句是表達式語句(包括函數調用語句),所以有人稱C語言為“表達式語言”。4.空語句
空語句:僅包含一個分號的語句,它什么都不做。有時用來做被轉向點,或是循環語句中的循環體(循環體是空語句,表示循環體什么也不做。)
如:;5.復合語句由大括號{}括起來的語句序列,稱為復合語句,或是分程序。
如:{z=x+y;t=z/100;printf("%f",t); }注意:復合語句中最后一個語句最后的分號不能忽略不寫。C語言允許一行寫幾個語句,也可以一個語句拆開寫在幾行上。§4.2賦值語句C語言的賦值語句具有其他高級語言賦值語句的一切特點和功能,但也有不同之處:1、C語言中的賦值號“=”是一個運算符,而其它大多數語言中賦值號“=”不是運算符。 2、關于賦值表達式和賦值語句的概念。其他大多數高級語言中沒有“賦值表達式”這一概念。作為賦值表達式可以包括在其他表達式之中,如:
if((a=b)>0)t=a;(先賦值,將b的值賦給a;再判斷a是否>0,若>0,則執行t=a;)if((a=b;)>0)t=a;(不合法:if條件不能包含賦值語句)§4.3數據輸入輸出的概念及實現所謂輸入輸出是以計算機主機為主體而言的。從計算機向外部輸出設備(顯屏,打印機)輸出數據稱為“輸出”;從輸入設備(鍵盤,磁盤)向計算機輸入數據稱為“輸入”。C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數來實現的。在C的標準函數庫中提供了一些輸入輸出函數,例如,printf函數和scanf函數。在使用它們時,千萬不要簡單地認為它們是C語言的“輸入輸出語句”。printf和scanf不是C語言的關鍵字。完全可以不用printf和scanf這兩個名字,而另外編兩個函數,另用其它函數名。
C提供的函數以庫的形式存放在系統中,它們不是C語言文本中的組成部分。因此各函數的功能和名,在各種不同的計算機系統所不同。有些通用的函數(如printf和scanf等),各種計算機系統都提供,成為各種計算機系統的標準函數(標準輸入輸出庫的一部分)。在程序編譯連接時,用戶程序與標準文件相連,所以在程序中可以直接使用printf和scanf函數。注意:在源程序中有printf函數,在編譯時并不把它翻譯成目標指令,而是在執行階段中調用已被連接的函數庫中的printf函數。C語言函數庫中有一批“標準輸入輸出函數”,它是以標準的輸入輸出設備(一般為終端設備)為輸入輸出對象的。其中有:
putchar(輸出字符)getchar(輸入字符)
printf(格式輸出)scanf(格式輸入)
puts(輸出字符串)gets(輸入字符串)在使用標準I/O庫函數時,要用預編譯命令“#include”將“stdio.h”文件包括到用戶源文件中。即
#include“stdio.h”(或#include<stdio.h>)。stdio.h是standartinput&output的縮寫,它包括了標準I/O庫有關的變量定義和宏定義(有關預編譯命令見第九章)。在需要使用標準I/O庫中的函數時,應在程序前使用上述預編譯命令,但在用printf和scanf函數時,則可以不要(只有printf和scanf例外)。預編譯命令“#include”都是放在程序的開頭,因此這類文件被稱為“頭文件”。§4.4字符數據輸入輸出函數4.4.1putchar函數(字符輸出函數)4.4.2getchar函數(字符輸入函數)4.4.1putchar函數putchar函數的作用是向終端輸出一個字符。例如:putchar(c)輸出字符串變量C的值。C可以是字符型變量或整型變量。例4.1:#include"stdio.h"
main()
{chara,b,c;
a="B";b="O";c="Y";
putchar(a);putchar(b);putchar(c);
}
運行結果:BOY也可以輸出控制字符,如putchar(‘\n’)輸出一個換行符。
如果將例4.1程序最后一行改為:
putchar(a);putchar('\n');putchar(b);putchar('\n');putchar(c);putchar('\n');
則輸出結果為:
B
O
Y也可以輸出其它轉義字符,如:
putchar(‘\101’)(輸出字符‘A’)
putchar(‘\’‘)(輸出單引號字符’)
putchar(‘015’)(輸出回車,不換行,使輸出的位置移到本行開頭)
4.4.2getchar函數此函數的作用是從終端(或系統隱含指定的輸入設備)輸入一個字符。getchar函數沒有參數,其一般形式為:getchar()函數的值就是從輸入設備得到的字符。例4.2:#include"stdio.h"
main()
{charc;
c=getchar();
putchar(c);
}
在運行時,如果從鍵盤輸入字‘a’
a<enter>(輸入a后,按“回車”鍵,字符才送到內存)
a(輸出變量c的值'a')請注意,getchar()只能接收一個字符。getchar函數得到的字符可以賦給一個字符變量或整型變量,也可以不賦給任何變量,作為表達式的一部分。例如,例4.2第4、5行可以用下面一行代替:putchar(getchar());也可以用printf函數:printf("%c",getchar());在函數中要用getchar函數,應該在函數的前面(或本文件開頭)用#include"stdio.h”。因為在使用標準I/O庫中的函數時需要用到“stdio.h”文件中包含的一些信息。
§4.5格式輸入與輸出4.5.1printf函數(格式輸出函數)4.5.2scanf函數(格式輸入函數)4.5.1printf函數1.printf函數的一般格式2.格式字符printf函數的一般格式printf函數的作用是:向終端(或系統隱含指定的輸出設備)輸出若干個任意類型的數據。注意:putchar只能輸出字符,而且只能是一個字符;而printf可以輸出多個數據,且為任意類型。一般格式:printf(格式控制,輸出列表)如:printf(“%d,%c\n”,i,c)格式說明:將數據轉換為指定格式輸出。普通字符:即需要原樣輸出的字符(逗號,空格和換行符)輸出列表:需要輸出的數據,可以是表達式。例:printf(“a=%d_b=%d”,a,b);
雙引號中的字符除了“%d”和“%d”以外,還有非格式說明的普通字符“a=”、“b=”及空格“_”,它們按原樣輸出。若a=3,b=4,則輸出為:a=3_b=4格式字符對不同類型的數據用不同的格式字符。常用的有以下幾種格式字符:
(1)
d格式符(6)s格式符
(2)
o格式符(7)f格式符
(3)x格式符(8)e格式符
(4)u格式符(9)g格式符
(5)c格式符
d格式符:輸出十進制整數%d:按整型數據的實際長度輸出;%md:輸出m位(指定的輸出字段寬度);(數據位數小于m位時左端補空格,大于m位時按實際長度輸出);%ld,%mld:l表示輸出“長整型”數據,也可以指定輸出字段寬度;一個int型數據可以用%d或%ld格式輸出;注:%后面的m(位數控制)對于其它格式符也適用。例、(□表示空格)inti=123;longj=123456;printf("%d,%5d,%ld,%8ld
",i,i,j,j);
輸出:123,□□123,123456,□□123456c格式符:輸出一個字符一個整數,只要它的值在0~255之間,也可以用字符形式輸出。在輸出前,系統會將該整數作為ASCII碼轉換成相應的字符;反之,字符數據也可以用整數形式輸出。例:4.4main(){charc='a';inti=97;printf("%c,%d\n",c,c);printf("%c,%d\n",i,i);}
可以指定輸出字段寬度:printf(“%3c”,c);則輸出:__a
輸出:a,97a,97s格式符:輸出一個字符串(1)%s:原樣輸出字符串;如:printf(“%s”,“CHINA”)輸出:CHINA(2)%ms:輸出字符串占m列;>m全輸出<m左補空格;(3)%-ms:輸出字符串占m列;<m字符串左靠右補空格;(4)%m.ns:輸出字符串占m列,但只取串左端n個字符。這n個字符輸出在m列的右側,左補空格。(5)%-m.ns:輸出字符串占m列,但只取串左端n個字符。這n個字符輸出在m列的左側,右補空格。若n>m,則m自動取n值,即保證n個字符正常輸出。例4.5main(){ printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");}輸出:CHINA,□□□□□CH,CHIN,CHI□□m自動取n值,即等價于:%4.4sf格式符:以小數形式輸出實數(單/雙精度)(1)%f:由系統自動指定字段寬度,使整數部分全部輸出,并輸出6位小數。(2)%m.nf:指定輸出的數據共占m列,其中由n位小數。若數值長度<m,則左端補空格。(3)%-m.nf:同%m.nf,只是輸出的數值向左端靠,右端補空格。
注意:并非全部數字都是有效數字。單精度實數的有效位數一般為7位,而雙精度實數的有效位數一般為16位(小數6位)。例4.6main(){floatx,y;x=111111.111;y=222222.222;printf(“%f”,x+y);}運行結果為:333333.328125顯然,只有前7位數字是有效數字。例4.7main(){doublex,y;x=1111111111111.111111111;y=2222222222222.222222222;printf(“%f”,x+y);}運行結果為:3333333333333.333010可以看到,最后3位小數(超過16位)是無意義的。例:4.8main(){floatf=123.456; printf("%f□□%10f□□%10.2f□□%.2f□□
%-10.2f\n",f,f,f,f,f);}輸出:123.455994□□
123.455994□□
□□□□123.46□□123.46□□
123.46□□□□按原樣輸出的字符由于格式定義而輸出的字符4.5.2scanf函數getchar函數只能用來輸入一個字符,用scanf函數可以用來輸入任何類型的多個數據。在前面已初步接觸到了scanf函數,在本節中再作詳細介紹。1.一般形式2.格式說明3.使用scanf函數時應注意的問題一般形式scanf(格式控制,地址表列)“格式控制”含義同printf函數。“地址表列”是由若干個地址組成的表列,可能是變量的地址,或字符串的首地址。例4.9:用scanf函數輸入數據main()
{inta,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);
}運行時按以下方式輸入a,b,c的值:
345<enter>(輸入a,b,c的值)
3,4,5(輸出a,b,c的值)&a,&b,&c中的“&”是“地址運算符”,&a指a在內存中的地址。上面scanf函數的作用是:按照a,b,c在內存的地址將a,b,c的值存進去。
見下圖,a,b,c的地址是在定義a,b,c之后就確定的(在編譯階段分配的)。
354acb"%d%d%d"表示按十進制整數形式輸入數據。輸入數據時,在兩個數據之間以一個或多個空格間隔,也可以用回車鍵、跳格鍵tab。下面輸入各法:①345<enter>
②3<enter>
45<enter>
③3(按tab鍵)4<enter>
5<enter>用“%d%d%d”格式輸入時,不能用逗號作為兩個數據間的分隔符,如下面輸入不合法:3,4,5<enter>
格式說明和printf函數中的格式說明相似,以%開始,以一個字符結束,中間可以插入附加的字符。
格式字符說明d,i用來輸入有符號的十進制整數。
u用來輸入無符號的十進制整數。o用來輸入無符號的八進制整數。x,Xc用來輸入單個字符。s輸入字符串,將字符串送到一個字符數組中,輸入以非空白符開始,以第一個空白符結束,以'\0'作為其最后一個字符。
f用來輸入實數,可以用小數形式或指數形式輸入。
e,E,g,G與f作用相同,e與f,g可以互相替換(大小寫作用相同)。
用來輸入無符號的十六進制整數(大小寫作用相同)。scanf的附加格式說明字符字符lh域寬*說明用于輸入長整型數據(可用%ld,%lo,%lx,%lu),以及double型數據(用%lf或%le)。
用于輸入短整型數據(可用%hd,%ho,%hx)。
指定輸入數據所占寬度(列數),域寬應為正整數表示本輸入頂在讀入后不賦給相應的變量。
§4.6順序結構程序設計舉例[例4.10]輸入三角形的三邊長,計算其面積。算法:問題求解的方法與步驟.
算法的表示:1)自然語言:Step1:輸入a,b,cStep2:計算s=(a+b+c)/2Step3:計算面積areaStep4:輸出面積area2)傳統流程圖計算面積area輸出面積area輸入a、b、c計算s結束開始3)結構化流程圖(N-S圖)4)偽代碼(1)(用英語描述)begin(算法開始)inputa,b,cs(a+b+c)/2areas(s-a)(s-b)(s-c)outputareaend5)計算機語言計算面積area輸出面積area輸入a、b、c計算s1.設計算法、設三邊長a、b、c,面積area的算法是:2.畫出流程圖。求平方根函數sqrt()在math.h中定義。計算面積area輸出面積area輸入a、b、c計算s結束開始#include"math.h"main(){floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);area
=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f\n",a,b,c);printf("area=%7.2f\n",area);}運行情況如下:3,4,6↙a=□□□3.00,b=□□□4.00,c=□□□6.00area=□□□5.33例4.11輸入一個大寫字母,改為小寫字母輸出。#include<stdio.h>main(){charc1,c2;c1=getchar();printf(“%c,%d\n”,c1,c1);c2=c1+32;printf(“%c,%d\n”,c2,c2);}運行情況如下:A<enter>A,65a,97第5章選擇結構程序設計C語言中選擇結構是用if語句實現的。if語句最常用的形式是:if(關系表達式)語句1else語句2例如:if(x>0)y=1;elsey=-1;其中,x>0是一個關系表達式,“>”是一個關系運算符。§5.1關系運算符和關系表達式§5.2邏輯運算§5.3if語句§5.4switch語句§5.5程序舉例§5.1關系運算符和關系表達式關系運算是邏輯運算的一種。所謂“關系運算”實際上是“比較運算”。將兩個值進行比較,判斷比較的結果是否符合給定的條件。例如,a>3是關系表達式,大于號“>”是一個關系運算符,如果a的值為5,則滿足給定的的“a>3”條件,因此關系表達式a>3的值為“真”(即“條件滿足”);如果a的值為2,不滿足“a>3”條件,則稱關系表達式的值為“假”。5.1.1關系運算符及其優先次序5.1.2關系表達式5.1.1關系運算符及其優先次序C語言有六種關系運算符:(1)<小于(2)<=小于或等于優先級相同(高)
(3)>大于(4)>=大于或等于(5)==(等于)
優先級相同(低)
(6)!=不等于算術運算符關系運算符賦值運算符5.1.2關系表達式用關系運算符將兩個表達式(算術表達式或關系表達式、邏輯表達式、賦值表達式、字符表達式)連接起來的式子,稱為關系表達式。如:a>b,a+b>b+c,(a=3)>(b=5),‘a’<‘b’等都是關系表達式。關系表達式的值是一個邏輯值,即“真”或“假”。C語言中用1代表“真”,用0代表“假”。如:a=3,b=2,c=3,則關系表達式“a>b”的值為“真”,表達式的值為1;“b+c<a”的值為“假”,表達式的值為0。例、a=3,b=2,c=1;1).c>a+b等效于c>(a+b)表達式的值為02).a>b==c等效于(a>b)==c表達式的值為13).a!=b<c等效于a!=(b<c)表達式的值為14).a=b>c等效于a=(b>c)(賦值表達式)表達式的值為1例:a=3,b=2,c=1;d=a<bd的值為0(賦值表達式)f=a>b>cf的值為0(賦值表達式)§5.2邏輯運算5.2.1邏輯運算符及其優先次序5.2.2邏輯表達式5.2.1邏輯運算符及其優先次序C語言提供三種邏輯運算符:&&“邏輯與”雙目(元)運算符(相當于AND)
||“邏輯或”雙目(元)運算符(相當于OR)
!“邏輯非”一目(元)運算符(相當于NOT)如:(a>b)&&(x>y);(a>b)||(x>y);!(a>b);邏輯運算舉例如下:
a&&b若a,b為真,則a&&b為真。
a||b若a,b之一為真,則a||b為真。
!a若a為真,則!a為假。
在一個邏輯表達式中如果包含多個邏輯運算符,如
!a&&b||x>y&&c,按以下的優先次序:(1)!(非)→&&(與)→||(或),即“!”為三者中最高的;(2)邏輯運算符中的“&&”和“||”低于關系運算符,“!”高于算術運算符。如:
(a>b)&&(x>y)可寫成:a>b&&x>y
(a==b)||(x==y)可寫成:a==b||x==y
(!a)||(a>b)可寫成:!a||a>b!(邏輯非)算術運算符關系運算符&&和||賦值運算符5.2.2邏輯表達式用邏輯運算符將關系表達式或邏輯量連接起來的式子就是邏輯表達式。邏輯表達式的值是一個邏輯量“真”或“假”。C語言編譯系統在給出邏輯運算結果時,以1代表“真”,以0代表“假”。但在判斷一個量是否為“真”時,以0代表“假”,以非0代表“真”,即將一個非零的數值認作為“真”。①若a=4,!a的值為0。②若a=4,b=5,a&&b的值為1。③a,b值同前,a||b的值為1。④a,b值同前,!a||b的值為1。⑤4&&0||2的值為1。
如果在一個表達式中不同位置上出現數值,應區分哪些是作為數值運算或關系運算的對象,哪些作為邏輯運算的對象。如:5>3&&8<4-!0(結果為0)邏輯運算符兩側的運算對象不但可以是0和1,或者是0和非0的整數,也可以是任何類型的數據,可以是字符型、實型或指針型等。系統最終以0和非0來判斷它們屬于“真”或“假”。例如:‘c’&&‘d’的值為1,因為‘c’和‘d’的ASCII值都不為0,按“真”處理。在邏輯表達式的求解中,并不是所有的邏輯運算符都被執行,只是在必須執行下一個邏輯運算符才能求出表達式的解時,才執行該運算符。如:(1)a&&b&&c(2)a||b||c
例:(m=a>b)&&(n=c>d),當a=1,b=2,c=3,d=4,m和n的原值為1時,由于“a>b”的值為0,m=0,而“n=c>d”不被執行,因此n的值不是0而仍保持原值1。用邏輯表達式來表示復雜的條件例如,判別某一年year是否閏年。閏年的條件是符合下面二者之一:①能被4整除,但不能被100整除。②能被400整除。邏輯表達式表示為:
(year%4==0&&year%100!=0)||year%400==0上述表達式值為真(1),則year為閏年;否則為非閏年。
還可以加一個“!”來判別非閏年:
!((year%4==0&&year%100!=0)||year%400==0)
若表達式值為真(1),year為非閏年。
§5.3if語句5.3.1if語句的三種形式5.3.2if語句的嵌套5.3.3條件運算符5.3.1if語句的三種形式if語句:判別條件是否滿足,來決定程序的流程(執行兩路操作之一)。(1)if(表達式)語句例如:if(x>y)printf("%d",x);表達式語句假(0)真(非0)(2)if(表達式)語句1else
語句2例如:if(x>y)printf("%d",x);elseprintf("%d",y);表達式語句1語句2假真(3)
if
(表達式1)
語句1
elseif(表達式2)語句2
elseif(表達式3)語句3
elseif(表達式m)語句m
else語句n
例如:
if(num>500)cost=0.15;
elseif(num>300)cost=0.10;
elseif(num>100)cost=0.075;
elseif(num>50)cost=0.05;
elsecost=0;
….表達式1表達式2表達式3表達式4語句5語句4語句3語句2語句1假假假假真真真真對if語句的三點說明(1)if后面的“表達式”,一般為邏輯表達式或關系表達式。例如:if(a==b&&x==y)printf(“a=b,x=y”);
系統對表達式的值進行判斷,若為0,按“假”處理,若為非0,按“真”處理,執行指定的語句。表達式可以是任意的數值類型(包括整型、實型、字符型、指針型數據)。例如:if(3)printf(“O.K.”);執行結果:O.K.
if(‘a’)printf(“%d”,‘a’);執行結果:97
(2)第二、第三種形式的if語句中,在每個else前面有一分號,整個語句結束處有一分號。例如:if(x>0)
printf(“%f”,x);
else
printf("%f",-x);
這個分號是if語句中的內嵌語句所要求的。如果無此分號,則出現語法錯誤。
(3)在if和else后面可以只含一個內嵌的操作語句,也可以有多個操作語句。若有多個操作語句,則用花括號“{}”將幾個語句括起來成為一個復合語句。例如:if(a+b>c&&b+c>a&&c+a>b)
{s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%6.2f",area;}
elseprintf("itisnotatrilateral");注意:在{}外面不需要再加分號。例5.1:輸入兩個實數,按代數值由小到大
輸出這兩個數。main(){floata,b,t;scanf("%f,%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f",a,b);}運行示例:3.6,-3.2↙-3.20,3.60
a>b?交換a、b的位置假真
例5.2:輸入三個數a,b,c,按由小到大輸出。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",a,b,c);}運行示例:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 系統規劃與管理師考前優化反思的重要性與常見策略試題及答案
- 育嬰師親子交流考題及答案
- 育嬰師考試成功的影響因素分析試題及答案
- 日照地理面試題及答案
- 知識產權的社會公眾認知試題及答案
- 婚姻法 司法試題及答案
- 理論聯系實踐2024年專利代理人資格考試試題及答案
- 技能鑒定測試題及答案
- 分析光電工程師證書考試的趨勢與機遇試題及答案
- 正確認識與應對飲食恐懼癥試題及答案
- 檢驗索賠仲裁和不可抗力
- 與圓有關的最值問題課件
- 全大學進階英語綜合教程2綜合訓練第一單元(含答案)
- 全旅館業前臺從業人員資格證考試答案解析
- 廣東省護士延續注冊健康體檢表
- 專業工程分包業主審批表
- 活動物料清單
- 精細化工產品公司企業經營戰略方案
- 冠狀動脈CT解剖詳解
- 地下連續墻鋼筋籠起重吊裝專項施工方案
- 單值和移動極差X-MR控制圖
評論
0/150
提交評論