基本數(shù)據類型及運算課件_第1頁
基本數(shù)據類型及運算課件_第2頁
基本數(shù)據類型及運算課件_第3頁
基本數(shù)據類型及運算課件_第4頁
基本數(shù)據類型及運算課件_第5頁
已閱讀5頁,還剩389頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2022/12/21

第二章基本數(shù)據類型及運算本章主要內容:

數(shù)據類型、常量、變量、基本運算、類型轉換及運算的優(yōu)先級與結合性等。2022/11/301

第二章基本2022/12/22數(shù)據類型、運算符和表達式的概念

數(shù)據類型:數(shù)據存在的組織和形式。程序中用到的所有數(shù)據都必須指定其數(shù)據類型。

運算符:一些具有事先規(guī)定的運算功能的特定的符號。這里的運算功能可以是算術運算(加減乘除)、邏輯運算(與或非)或比較運算(大于小于等于),等等。C語言共有34種運算符。

表達式:按照運算符的性質,用運算符把數(shù)據連接起來以

達到數(shù)據運算目的而構成的式子。寫表達式的最終目的是要進行計算它求出它的值。求解表達式的過程是由計算機完成的,因此,要想得到正確的結果,就必須寫出正確的表達式。而一個表達式中往往包含多個運算符,所以必須熟悉每一種運算符的性質(優(yōu)先級別和結合性),才能寫出有正確求解結果的表達式。2022/11/302數(shù)據類型、運算符和表達式的概念數(shù)據類2022/12/23

常量與變量整型、浮點型、字符型數(shù)據變量的初始化各類數(shù)值型數(shù)據間的混合運算算術運算符與算術表達式賦值運算符與賦值表達式逗號運算符與逗號表達式第二章數(shù)據類型、

運算符與表達式2022/11/303常量與變量第二章數(shù)據類型、

運2022/12/242.1基本數(shù)據類型2022/11/3042.1基本數(shù)據類型2022/12/25數(shù)據類型數(shù)據類型:數(shù)據存在的組織和形式。數(shù)據類型是數(shù)據的基本屬性描述的是數(shù)據的存儲格式和運算規(guī)則.不同數(shù)據類型的數(shù)據,在內存中所需的存儲空間大小、存儲格式均有所不同,能支持的運算以及相應的運算規(guī)則也會有所不同.2022/11/305數(shù)據類型數(shù)據類型:數(shù)據存在的組織和形式2022/12/26C的數(shù)據類型C的數(shù)據類型基本類型構造類型整型單精度型雙精度型數(shù)組類型結構體類型浮點型聯(lián)合類型指針類型字符型枚舉類型空類型2022/11/306C的數(shù)據類型C的數(shù)據類型基本類型構造類2022/12/27

2.1基本數(shù)據類型數(shù)據是程序處理的基本對象。根據數(shù)據的不同性質和用途可分為不同的數(shù)據類型。不同的數(shù)據類型具有不同的存儲長度、取值范圍、允許的操作。數(shù)據類型關鍵字長度位數(shù)范圍字符型char18-128—127整型int432

-231—(231_1)浮點型float432

雙精度型double864+(10—10)-308308+(10—10)-38382022/11/3072.1基本數(shù)據類2022/12/28

類型修飾符:shortintlongintunsignedintunsignedchar輸出浮點型數(shù)有效位為67位十進制數(shù)位輸出雙精度型數(shù)有效位為1516位十進制數(shù)位數(shù)據分為常量和變量。2022/11/308類型修飾符:2022/12/292.2常量與變量2022/11/3092.2常量與變量2022/12/210常量

符號常量:用一個標識符代表一個常量實現(xiàn)方式:使用#define

預處理命令宏定義

直接常量:1,2,3;0.1,10.0;‘a’,‘1’;“hello”

常變量:C++中,可以使用const

關鍵字定義常變量程序運行期間,值不能被改變的量稱為常量使用符號常量的好處是:從標識符名可以清楚地看出該常量的含義,做到“見名知意”在需要修改常量的值時可以做到“一改全改”,容易調整整型常量浮點型常量字符型常量字符串常量2022/11/3010常量符號常量:用一個標識符代表一個2022/12/211變量

C允許把值存放在變量中,每個變量都由一個變量名來標識。程序運行期間,值可以被改變的量稱為變量

每個變量都必須有一個變量類型。

每個變量根據它的類型不同,在內存中占據一定數(shù)目的字節(jié)單元,該變量的值就存放在這些內存單元中。123prod變量名

prod實際上是一個符號地址變量prod

所占據的內存單元123是變量

prod的變量值內存單元的地址內存單元的內容在對程序編譯時由系統(tǒng)給每一個變量按其類型分配內存單元,同時,系統(tǒng)內部維護著變量名和它的內存單元地址的對應信息。變量就是命名的內存單元2022/11/3011變量C允許把值存放在變量中,每個變2022/12/212在程序中使用一個變量之前,先要對它進行定義:為每個變量取一個名稱(變量名),同時還要規(guī)定它的數(shù)據類型,以便編譯程序根據不同的數(shù)據類型分配內存空間。2022/11/3012在程序中使用一個變量之前,先要對它進2022/12/213變量的命名規(guī)定合法的C變量名:area,sum,answer,month,name,Name,Step1,step2,number_of_student,average_score,_class1C語言中,變量(標識符)的命名規(guī)定:

只能由大小寫字母、下劃線和數(shù)字組成;開頭的第一個字符只能是大小寫字母或下劃線;大小寫是敏感的;不能與C的關鍵字重復;名字在整個程序中必須是唯一的;名字的長度不能超過系統(tǒng)的規(guī)定。非法的C變量名:3rd_entry(數(shù)字開頭)all$done (包含非法字符$)theend (包含空格)

int (系統(tǒng)關鍵字)標識符是用來為變量、符號常量、函數(shù)、數(shù)組、類型、文件取名字的有效字符序列即用戶為程序中各種對象取的名字。2022/11/3013變量的命名規(guī)定合法的C變量名:C語言2022/12/214

.關鍵字預先定義的具有特定含義的標識符。也稱為保留字,不能另作他用。如:intcharfloatdoubleunsignedstructifdowhileswitchreturngotodefineincludeundefsizeof2022/11/3014.關鍵字2022/12/215

避免使用無意義的名字,應盡量做到“見名知意”;盡量使用代表變量實際含義的英文單詞或縮寫作標識符名;當名字包含多個單詞時,通常使每個單詞的首字母大寫;以下劃線開頭的名字通常是系統(tǒng)內部保留的標識符名;在整個程序中保持統(tǒng)一的命名方式。變量的命名習慣C語言中,變量(標識符)的命名習慣:好的C變量名:CircleArea,TotalScore,UserSelection,choice,StudentNumber,AverageScore,SampleFrequency不是很好的C變量名:a,aa (不知何意)

numberofstudent

(全部小寫難以辨認)

total

totals(名字太相似)2022/11/3015避免使用無意義的名字,應盡量做到“2022/12/216變量的定義和使用變量定義具有三個目的:⑴定義變量名;⑵定義變量類型;⑶向程序員描述該變量。C語言中,變量必須“先定義,后使用”intradius;/*theradiusofcircle*/關鍵字int

告訴編譯系統(tǒng)我要定義一個整型變量,用它來保存一個整型的數(shù)值。這是變量的名字。以后的程序中就用這個名字來訪問這個變量。注釋用來解釋這個變量,它是給程序員的信息。對程序主要的變量作注釋是很好的習慣。2022/11/3016變量的定義和使用變量定義具有三個目的2022/12/217#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sum=%d\n”,sim);return(0);}變量的定義和使用變量“先定義,后使用”的好處是:

C只允許使用定義過的變量。凡是未被事先定義的符號,不作為變量名。這樣可以檢查出程序中錯誤使用的變量名。此處定義的變量名是sum

。此處由于輸入錯誤或其它原因,出現(xiàn)了名字為sim

的符號。由于該符號在這之前從未定義過,所以在編譯時,便會出現(xiàn)錯誤信息。Error:Undefinedsymbol'sim'2022/11/3017#include<stdio.h>2022/12/218#include<stdio.h>intmain(){inta,remainder;floatc;a=23;c=2.5;remainder=a%c;printf(“余數(shù)=%d\n”,remainder);return(0);}變量的定義和使用變量“先定義,后使用”的好處是:

定義變量時指明了變量的類型,這樣在對源程序進行編譯時,可以就此類型檢查該變量所參與的運算是否合法。變量a是整型的這個表達式中的符號%是“求余”運算符,它要求參與運算的數(shù)據必須是整型的。此處變量a是整型,而變量c卻是浮點型的,所以編譯時就會出現(xiàn)錯誤信息。Error:Illegaluseoffloatingpoint變量c是浮點型的2022/11/3018#include<stdio.h>2022/12/219變量的定義和使用intage;/*theageofstudent*/floatscore;/*thescoreofstudent*/floataverage;/*theaverageofscore*/longnumber;/*thenumberofstudent*/doubledistance;/*betweenearth&moon*/charUserSelection;/*keyuserhit*/變量定義的一般格式是:typename;/*comment*/

類型名字;

/*注釋*/系統(tǒng)將根據變量的定義為其分配相應大小的內存單元。2022/11/3019變量的定義和使用int2022/12/2204.以下不能定義為用戶標識符的是

。A)scanfB)VoidC)_3comD)int課堂練習答案:D5.以下可作為C語言用戶定義標識符的是()組標識符。A.voiddefineWORDB.a3_b3_123IFC.For-abcCaseD.2aDosizeof答案:B注意:這些系統(tǒng)庫函數(shù)名并非C語言的關鍵字。2022/11/30204.以下不能定義為用戶標識符的是2022/12/2212.2.1整型數(shù)據

整型常量整型變量整型數(shù)據在內存中的存儲方式2022/11/30212.2.1整型數(shù)據整型常量2022/12/222整型常量十進制整型常量:如123,-456,0

八進制整型常量:以數(shù)字“0”開頭的整型常量如0123,即(0123)8

,等于(83)10

-011,即(-011)8

,等于(-9)10八進制整型常量中不應出現(xiàn)“7”以上的數(shù)碼。如0128,0209都是非法的八進制整型常量。整型常量即整常數(shù)。C中有下面三種形式的整型常量:

十六進制整型常量:以“0x”開頭的整型常量如0xFF,即(0xFF)16

,等于(255)10

-0x11,即(-0x11)16

,等于(-17)10

十六進制整型常量中不應出現(xiàn)“F”以上的數(shù)碼。C語言中沒有二進制整型常量,用十六進制整型常量表示二進制整數(shù)2022/11/3022整型常量十進制整型常量:如123,2022/12/223補充:各種計數(shù)制間的轉換二進制十進制方法:找出二進制數(shù)各數(shù)碼位的“權”,并按“權”相加(1010.11)2=1×23+0×22+1×21+0×20+1×2-1+1×2-2

=8+0+2+0+0.5+0.25=(10.75)10八進制十進制(7103)8=7×83+1×82+0×81+3×80

=(3651)10十六進制十進制(FF)16=15×161+15×160=(255)102022/11/3023補充:各種計數(shù)制間的轉換二進制十進制2022/12/2242562282142723210各種計數(shù)制間的轉換十進制二進制方法:整數(shù)采用“除2取余法”

小數(shù)采用“乘2取整法”“除2取余法”的法則是:將被轉換的十進制整數(shù)連續(xù)用2去除,求得余數(shù)(1或0)分別為k0、k1、k2、…,直到商為0為止,則所有余數(shù)的排列kn-1kn-2…k1k0即為所轉換的二進制整數(shù)?!鄶?shù)0=k0……余數(shù)0=k1……余數(shù)0=k2……余數(shù)1=k3……余數(shù)1=k4……余數(shù)1=k5(56)10=(111000)2

2022/11/30242562282142722022/12/225各種計數(shù)制間的轉換十進制二進制方法:整數(shù)采用“除2取余法”

小數(shù)采用“乘2取整法”“乘2取整法”的法則是:對被轉換的十進制小數(shù)連續(xù)用2去乘,依次求得各整數(shù)位(1或0)分別為k-1、k-2、…、k-m

,直到乘積的小數(shù)部分為0為止,則所有整數(shù)為的排列k-1k-2…k-m即為所轉換的二進制小數(shù)?!?0.625……整數(shù)部分為1=k-1(0.625)10=(0.101)2

1.250×2……整數(shù)部分為0=k-20.500×2……整數(shù)部分為1=k-31.000實際上,最后的余數(shù)不一定為0,只要符合精度要求,取夠位數(shù)即可。2022/11/3025各種計數(shù)制間的轉換十進制二進制方法:2022/12/226各種計數(shù)制間的轉換二進制八進制方法:把二進制數(shù)從低位開始每3位數(shù)碼編為一組,把每一組轉換為對應的八進制數(shù)碼(∵8=23

)21111000101011010

結果是:(1111000101011010)2=(170532)8

35071八進制二進制方法:把八進制數(shù)從低位開始每1位數(shù)碼轉換為3位的二進制數(shù)碼(∵8=23

)010170532

結果是:(170532)8=

(1111000101011010)20111010001110012022/11/3026各種計數(shù)制間的轉換二進制八進制方法:2022/12/227各種計數(shù)制間的轉換二進制十六

進制方法:把二進制數(shù)從低位開始每4位數(shù)碼編為一組,把每一組轉換為對應的十六進制數(shù)碼(∵16=24

)2101011110000100101010010

結果是:(101011110000100101010010)2=(AF0952)16

590FA十六

進制二進制方法:把十六進制數(shù)從低位開始每1位數(shù)碼轉換為4位的二進制數(shù)碼。(∵16=24

)0010AF0952

結果是:(AF0952)16=

(101011110000100101010010)2010110010000111110102022/11/3027各種計數(shù)制間的轉換二進制十六

進制方2022/12/228長整型:-56l;3567L;04L無符號整型:586u;077765U;0xfffdU無符號長整型:0375ul;0x45feUL整型常量的類型2022/11/3028長整型:-56l;3567L;04L2022/12/229課堂練習◆下面四個選項中,均是不合法的整型常量的選項是

(A)–0f1-0xffff0011

(B)–0Xcdf01712,456

(C)–0189995e2答案:(D)答案:(A)

(D)–0x48eg-06803f◆下面四個選項中,均是合法的整型常量的選項是

(A)160-0xffff011

(B)–0Xcdf01a0xe

(C)–01986,0120668

(D)–0x48a2e50x2022/11/3029課堂練習◆下面四個選項中,均是不合2022/12/230整型變量的分類注:有符號整型變量中,關鍵字signed可以省略。(有符號與無符號不同的取值范圍詳見教材P23頁)類型關鍵字占字節(jié)數(shù)目

(VisualC++)有符號signed基本整型signedint4字節(jié)短整型signedshortint

(signedshort)2字節(jié)長整型signedlongint

(signedlong)4字節(jié)無符號unsigned基本整型unsignedint4字節(jié)短整型unsignedshortint

(unsignedshort)2字節(jié)長整型unsignedlongint

(unsignedlong)4字節(jié)2022/11/3030整型變量的分類注:有符號整型變量中,2022/12/231整型數(shù)據在內存中的存儲方式數(shù)據在內存中是以“二進制數(shù)”的形式存放的。數(shù)據在內存中是以“二進制數(shù)的補碼”形式存放的。例如:inta=10;

那么內存中實際存放的是10的補碼a100000000000001010如果是:inta=-10;

那么內存中實際存放的是-10的補碼-10的原碼是:最高位不動,其余各位取反:a-101111111111110110100000000000101011111111111101011111111111110110整個數(shù)加上1:求-10補碼的方法:2022/11/3031整型數(shù)據在內存中的存儲方式數(shù)據在內存2022/12/232計算機中數(shù)的表示

一個數(shù)據總要占據一定數(shù)目的字節(jié)單元(整數(shù)個、有限個)不同類型的數(shù)據占據不同數(shù)目的字節(jié)單元(比如,PC機DOS環(huán)境下一個整數(shù)占2個字節(jié),一個實數(shù)占4個字節(jié))所有數(shù)據都是以二進制數(shù)的形式表示的數(shù)據有正有負。計算機中表示一個數(shù)據時,總是用它所占字節(jié)單元的所有位中最高位表示數(shù)的符號:0表示正,1表示負。Ns1010101符號位最高位:第7位最低位:第0位1個字節(jié)符號位最高位:第15位最低位:第0位2個字節(jié)Ns1010101010101012022/11/3032計算機中數(shù)的表示一個數(shù)據總要占據2022/12/233

對于有符號變量:把最高位作為符號位保存數(shù)據的符號(0為正,1為負),其余位保存具體數(shù)值,因此可以用于正確保存限值范圍內的正數(shù)或負數(shù)。有符號和無符號的區(qū)別◆

有符號和無符號的區(qū)別是什么?關鍵在于“最高位”的性質。如果有:inta;

那么a的有效數(shù)值范圍為-32768~32767有符號整型變量a=32767:0111111111111111如果有:unsignedintb;

那么b的有效數(shù)值范圍為0~65535最高位代表符號

對于無符號變量:最高位不作為符號位,全部的位都用來保存數(shù)據的數(shù)值,因此可以用于正確保存限值范圍內的正數(shù)。無符號整型變量b=65535:1111111111111111最高位代表數(shù)值2022/11/3033對于有符號變量:把最高位作為符號2022/12/234整型數(shù)據的表示范圍

由于每一種整型數(shù)據占有的字節(jié)單元數(shù)目都是有限的,所以每一種整型數(shù)據可表示的數(shù)的范圍也是有限的。

由于不同類型的整型數(shù)據占有的字節(jié)單元數(shù)目是不同的,所以不同類型的整型數(shù)據可表示的數(shù)的范圍也是不同的。ANSIC標準定義的整型類型類型Bit數(shù)有效表示范圍[signed]int16-32768~+32767unsignedint160~+65535[signed]short[int]16-32768~+32767unsignedshort[int]160~+65535[signed]long[int]32-2147483648

~+2147483647unsignedlong[int]320~+42949672952022/11/3034整型數(shù)據的表示范圍由于每一種整型數(shù)2022/12/235整型變量的定義變量的定義一般放在函數(shù)體的開頭部分。定義方法:類型符變量名列表;(用逗號分隔)如:intnum;unsignedintage,score;longdistant,SampleTimes;2022/11/3035整型變量的定義變量的定義一般放在函數(shù)2022/12/236#include<stdio.h>intmain(){intmax,over;max=32767;over=max+1;printf(“max=%d,over=%d”,max,over);return(0);}整型變量的溢出◆由于每一種整型數(shù)據可表示的數(shù)的范圍都是有限的,所以在使用整型變量時要特別注意“數(shù)據溢出”的問題?!鬷nt型的有效表示范圍是-32768~+32767

。max是:0111111111111111max+1→over是:100000000000000032767-32768數(shù)據溢出了!將變量over定義成long型就能得到正確的結果。2022/11/3036#include<stdio.h>2022/12/237作業(yè)1:將下列各數(shù)用八進制和十六進制表示:(1)—617(2)—111(3)—28654(4)210032022/11/3037作業(yè)1:將下列各數(shù)用八進制和十六進制2022/12/2382.2.2浮點型數(shù)據

浮點型常量浮點型變量浮點型數(shù)據在內存中的存儲方式2022/11/30382.2.2浮點型數(shù)據浮點型常量2022/12/239浮點型常量

十進制小數(shù)形式:由數(shù)字和小數(shù)點組成。(小數(shù)點必須有,且小數(shù)點的前面或后面必須有數(shù)字)如10.23,-0.456,78.0,0.0,89.

指數(shù)形式:±sE±n

或±se±n

形式。注意:E或e前面必須有數(shù)字,后面的指數(shù)必須為整數(shù)。如218.3=218.3E0=2183E-1=0.02183E+4浮點數(shù)又叫“實數(shù)”。浮點數(shù)常量有兩種表示形式:指數(shù)形式的浮點型常量,有“規(guī)范化指數(shù)形式”,即在字母E或e之前的小數(shù)部分中,小數(shù)點左邊必須有且只有一位非零的數(shù)字。如218.3=2.183E+2;

0.002183=2.183E-3程序以指數(shù)形式輸出實數(shù),就是以“規(guī)范化指數(shù)形式”輸出2022/11/3039浮點型常量十進制小數(shù)形式:由數(shù)字和2022/12/240課堂練習◆下面四個選項中,均是不合法的浮點數(shù)的選項是

(A)160.0.12e3

(B)1232e4.2.e5

?-.18123e40.0答案:B)答案:(B)

(D)–e3.2341e3◆下面四個選項中,均是合法的浮點數(shù)的選項是

(A)+1e+15e-9.403e2

(B)–.6012e-4-8e5

(C)123e1.2e-.4+2e-1

(D)–e3.8e-45.e-02022/11/3040課堂練習◆下面四個選項中,均是不合2022/12/241浮點數(shù)在計算機中,既有整數(shù)部分又有小數(shù)部分的數(shù)稱為浮點數(shù)P=±S×2±N可見,浮點數(shù)表示中的各部分又都是定點數(shù)。在一個浮點數(shù)所占字節(jié)單元中,一部分位用來保存階碼,一部分位用來保存尾數(shù)。P的尾數(shù)

(定點小數(shù))P的階碼

(定點整數(shù))尾數(shù)符號階碼符號例如:浮點數(shù)N=210×0.0101在計算機中表示為(假設占2字節(jié))0001000101000000階碼符號階碼數(shù)值尾數(shù)符號尾數(shù)數(shù)值階碼部分:占5位尾數(shù)部分:占11位2022/11/3041浮點數(shù)在計算機中,既有整數(shù)部分又有小2022/12/242浮點型數(shù)據在內存中的存儲方式浮點型數(shù)據在內存中是以“尾數(shù)”和“階碼”的形式存放的。在一個浮點型數(shù)據(浮點數(shù))所占字節(jié)單元中,一部分位用來保存階碼,一部分位用來保存尾數(shù)?!牢矓?shù)部分±階碼部分不同的編譯系統(tǒng)位數(shù)分配不同??傊?,尾數(shù)部分位數(shù)越多,可以表示的數(shù)的有效數(shù)字位數(shù)就越多,精度就越高;階碼部分位數(shù)越多,可以表示的數(shù)的范圍就越大。+.745623+1例:float7.456230.745623×1012022/11/3042浮點型數(shù)據在內存中的存儲方式浮點型數(shù)2022/12/243浮點型變量的分類類型單精度雙精度長雙精度關鍵字floatdoublelongdouble字節(jié)數(shù)

VisualC4字節(jié)8字節(jié)16字節(jié)有效數(shù)字位數(shù)6~7位15~16位18~19位數(shù)值范圍10-37~103810-307~1030810-4931~104932

由于不同的浮點型數(shù)據是用不同數(shù)目的有限字節(jié)單元保存的,所以它們能表示的數(shù)值范圍是不同的,能保留的有效數(shù)字位數(shù)也是不同而且是有限的。2022/11/3043浮點型變量的分類類型單精度雙精度長雙2022/12/244浮點型變量的定義變量的定義一般放在函數(shù)體的開頭部分。定義方法:類型符變量名列表;(用逗號分隔)如:floatSinValue,CosValue;doublearea,result;注:C語言中的所有關鍵字都是小寫的。2022/11/3044浮點型變量的定義變量的定義一般放在函2022/12/2452.2.3字符型數(shù)據

字符常量字符變量字符型數(shù)據在內存中的存儲方式2022/11/30452.2.3字符型數(shù)據字符常量2022/12/246字符型常量比如:‘a’,‘A’,‘d’,‘D’,‘?’,‘%’,‘$’,‘2’,‘4’注意:‘a’和‘A’,‘d’和‘D’都是不同的字符常量。

C的字符常量是用單引號(‘)括起來的一個字符。另外:C語言還存在另一種形式的特殊的字符常量。它是用單引號括起來的以一個“\”字符開頭的規(guī)定的字符序列?!癨”字符叫反斜杠字符。這種特殊的字符常量稱為“轉義字符”。2022/11/3046字符型常量比如:‘a’,‘A’2022/12/247轉義字符常量及其含義轉義字符含義ASCII

代碼控制字符\n回車換行(光標移到下一行第一列)10\t水平制表(光標移到下一個Tab位置)9\b退格(光標移回到同一行前一列)8\r回車(光標移到同一行第一列)13\f換頁(光標移到下一頁開頭)12特殊標點符號\\反斜杠字符“\”92\‘單引號(撇號)字符‘39\“雙引號字符“34所有字符\ddd1到3位8進制數(shù)所代表的字符\xhh1到2位16進制數(shù)所代表的字符

注意:表示字符的轉義16進制數(shù)與十六進制整型常量寫法不同\x0x2022/11/3047轉義字符常量及其含義轉義字符含義AS2022/12/248課堂練習◆下面四個選項中,均是合法的轉義字符的選項是

(A)’\’’‘\\’‘\n’

(B)’\’‘\017’‘\’’’

?‘\018’‘\f’‘xab’答案:A)答案:(B)

(D)’\\0’‘\101’‘\xlf’◆下面四個選項中,均是不合法的字符選項是

(A)’\’’’‘\\’‘\xf’

(B)’\1011’‘\’‘\m’

?’\011’‘\f’‘\}’

(D)’\abc’‘\101’‘xlf’2022/11/3048課堂練習◆下面四個選項中,均是合法2022/12/249字符型變量字符型變量用來存儲字符型常量。一個字符變量只能保存一個字符。如charInputKey,UserSelection;

unsigned

charlines,grade;定義方法:類型符變量名列表;(用逗號分隔)類型關鍵字占字節(jié)數(shù)目有符號[signed]char1字節(jié)無符號unsignedchar1字節(jié)2022/11/3049字符型變量字符型變量用來存儲字符型常2022/12/250字符型數(shù)據在內存中的存儲方式每個字符型數(shù)據在內存中只占一個字節(jié),該字節(jié)中實際保存的是該字符的ASCII代碼。ASCII

(美國信息交換標準代碼)

AmericanStandardCodeforInformationInterchangeASCII

代碼實際上是一個0~255之間的整數(shù)。每一個整數(shù)對應著一個不同的字符,即每一個字符都有一個不同的整數(shù)代碼。對字符型數(shù)據來講,它的那一個字節(jié)中保存的就是這個整數(shù)。2022/11/3050字符型數(shù)據在內存中的存儲方式每個字符2022/12/251常用字符及對應ASCII碼常用字符及對應ASCII碼ASCII值字符ASCII值字符ASCII值字符ASCII值字符0NUL48065A97a10LF

換行49166B98b13CR

回車………………32空格57990Z122z2022/11/3051常用字符及對應ASCII碼常用字符及2022/12/252可見,字符型數(shù)據存儲對應的ASCII

碼,而ASCII

碼是一個整數(shù),按整型數(shù)據的存儲方式存儲,因此在C語言中兩者的存儲方式是類似的,從而在一定范圍內可以通用,即兩種類型的數(shù)據可以相互賦值,相互輸出,也可以在一起進行運算。字符型數(shù)據在內存中的存儲方式A“一定范圍內”指的是“一個字節(jié)”所能保存的整數(shù)范圍內。有符號型整數(shù):-127~128無符號型整數(shù):0~255→0100000165這個字節(jié)存儲的內容是01000001。

如果它是一個整型數(shù)據,那就是整數(shù)65;

如果它是一個字符型數(shù)據,那就是字符‘A’。ASCII值=652022/11/3052可見,字符型數(shù)據存儲對應的ASCI2022/12/253#include<stdio.h>intmain(){charc1,c2;intn1,n2;c1=‘b’;c2=97;n1=98;n2=‘a’;printf(“c1=%c,c2=%c\n”,c1,c2);printf(“n1=%d,n2=%d\n”,n1,n2);printf(“c1=%d,c2=%d\n”,c1,c2);printf(“n1=%c,n2=%c\n”,n1,n2);return(0);}整型數(shù)據和字符型數(shù)據通用:例1既可以把整型數(shù)據賦值給字符型變量。也可以把字符型數(shù)據賦值給整型變量。既可以把字符型數(shù)據按整數(shù)形式輸出。(%d

整型格式符)也可以把整型數(shù)據按字符形式輸出。(%c字符型格式符)2022/11/3053#include<stdio.h2022/12/254#include<stdio.h>intmain(){charc1,c2,c3;c1=‘A’;c2=‘b’;c3=‘’;c1=c1+32;c2=c2–c3;printf(“c1=%c,c1=%d\n”,c1,c1);printf(“c2=%c,c2=%d\n”,c2,c2);return(0);}整型數(shù)據和字符型數(shù)據通用:例2字符數(shù)據可以和整型數(shù)據一起進行算術運算。字符型數(shù)據之間也可以進行算術運算。既可以把字符型數(shù)據按字符形式%c輸出,也可以把字符型數(shù)據按整數(shù)形式%d輸出。實際上都是整數(shù)之間的算術運算。

運行結果:c1=a,c1=97

c2=B,c2=66空格的ASCII碼=322022/11/3054#include<stdio.h2022/12/2552.2.4字符串常量

字符串常量字符串結束標志字符字符型數(shù)據在內存中的存儲方式2022/11/30552.2.4字符串常量字符串常量2022/12/256字符串常量比如:“a”,“”,“Hello,world”,“9811113”,“LCS”?

C的字符串常量是用雙引號(“)括起來的若干個字符?!糇址A吭趦却嬷姓加眠B續(xù)的字節(jié)單元,每個字符按順序占一個字節(jié)。C語言規(guī)定:自動在每一個字符串常量的結尾加一個“字符串結束標志字符”,以便系統(tǒng)據此判斷字符串是否結束。一個字符串常量中包含的字符個數(shù)是不確定的。那么,系統(tǒng)在處理字符串常量時如何知道何處結束呢?2022/11/3056字符串常量比如:“a”,“”,2022/12/257字符串結束標志字符◆‘\0’是ASCII碼為0的字符,即位于字符表中的第一個NUL字符。它是一個“空操作字符”,就是說,它既不引起任何控制動作,也不產生任何顯示。C的字符串結束標志字符是

‘\0’

?!粢虼?,C的字符串常量在內存中占用的字節(jié)數(shù)等于可見字符數(shù)加上1,即結束標志字符占用的一個字節(jié)?!癏ELLO”HELLO\0字符串結束標志字符也是一個字符,也要占用一個字節(jié)??偣舱加?個字節(jié)5個可見字符2022/11/3057字符串結束標志字符◆‘\0’是A2022/12/258‘A’和“A”的區(qū)別◆由于C語言對每一個字符串常量均在其末尾自動添加一個字符串結束標志字符‘\0’,因此:

‘A’

占一個字節(jié)單元

“A”

占兩個字節(jié)單元,包括‘A’和‘\0’兩個字符◆不能把一個字符串常量賦值給一個字符變量。如charc1=“A”;是錯誤的。?為什么是錯誤的。原因1:“A”

占兩個字節(jié)單元,而字符變量c1只有一個字節(jié),所以無法賦值;原因2:真正的原因。C語言實際上把字符串處理成字符指針,把一個指針賦值給一個字符變量當然是錯誤的。2022/11/3058‘A’和“A”的區(qū)別◆由于C語言對2022/12/259課堂練習◆問題1:字符串“”占幾個字節(jié)單元?

(A)0個

(B)1個

(C)2個◆問題2:這樣的賦值charc1=“”;是否正確?

(A)正確

(B)不正確◆問題3:1和‘1’是否相同?為什么?◆問題4:1+‘0’和‘1’是否相同?為什么?答案:(c)答案:(B)答案:不相同。因為前者是整數(shù)1,它的值是1,而后者是字符‘1’,它的值是49(ASCII碼)。答案:相同。因為字符‘0’的值是48,加1等于49,正好是字符‘1’的值。2022/11/3059課堂練習◆問題1:字符串“”2022/12/260課堂練習◆下面四個選項中,均是正確的八進制數(shù)或十六進制數(shù)的選項是

(A)-100X8f-011

(B)0abc-017oxc

?0010-ox11Oxf2答案:c)答案:(D)

(D)0a12-0x123-0xa◆下面四個選項中,均是正確的數(shù)值常量或字符常量的選項是

(A)0.00f8.9e‘&’

(B)”a”3.9E-2.51e1‘\”’

?‘5’0110xff000a

(D)+0010xabcd2e250.2022/11/3060課堂練習◆下面四個選項中,均是正確2022/12/2612.2.5符號常量

預處理符號變量的實現(xiàn)使用符號常量的注意事項2022/11/30612.2.5符號常量預處理2022/12/262預處理編譯預處理:是指在對源程序進行正式編譯之前所作的一些處理。這些處理是由預處理命令指定的。源程序經過預處理后,再由編譯程序進行正式的編譯。#define預處理命令宏定義的用法:#define標識符字符串它的作用是用指定的標識符去代表一個字符串。在預處理時,源程序中所有在該#define命令后出現(xiàn)的該標識符全部用指定的字符串代替。預處理命令是由ANSIC規(guī)定的,但它不是C語言本身的組成部分,不能直接對它進行編譯。預處理命令都是以符號“?!遍_頭的。2022/11/3062預處理編譯預處理:是指在對源程序進行2022/12/263#include“stdio.h”#definePI3.14159intmain(){floatr,c,s,v;r=20;c=2*PI*r;printf(“周長=%f”,c);s=PI*r*r;printf(“面積=%f”,s);v=4*PI*r*r*r/3;printf(“體積=%f”,v);return(0);}符號常量的實現(xiàn)這個字符串將要在預處理時去替換符號PI標識符名:PI

編譯預處理時,這一行以后的源程序中出現(xiàn)的PI都會被指定的字符串代替。預處理后進行正式編譯,替換進去的3.14159就會被理解為是一個實數(shù)。2022/11/3063#include“stdio.h”2022/12/264#include“stdio.h”#definePI3.14159intmain(){floatr,c,s,v;r=20;c=2*PI*r;……

PI=100;

……return(0);}使用符號常量的注意事項錯誤注意1:符號常量不是變量,不能被賦值。2022/11/3064#include“stdio.h”2022/12/265#include“stdio.h”#definePI3.14159intmain(){floatr,c,s,v;r=20;c=2*PI*r;……printf(“PI=%f\n”,PI);……return(0);}使用符號常量的注意事項不替換注意2:如果指定的符號出現(xiàn)在雙引號中,則不被替換。要替換2022/11/3065#include“stdio.h”2022/12/266#include“stdio.h”constPI=3.14159;intmain(){floatr,c,s,v;r=20;c=2*PI*r;printf(“周長=%f”,c);s=PI*r*r;printf(“面積=%f”,s);v=4*PI*r*r*r/3;printf(“體積=%f”,v);return(0);}常變量const關鍵字的用法:const標識符=常量值常變量名:PI常變量必須初始化,在定義的同時給以值同樣要注意的是:

雖然PI是變量,但是它是用const關鍵字定義的常變量,所以也不能被賦值。PI=100;2022/11/3066#include“stdio.h”2022/12/267小結①習慣上,符號常量用大寫字母表示;②定義符號常量時,不能以“;”結束;③一個#define占一行,且要從第一列開始書寫;④一個源程序文件中可含有若干個define命令,不同的define命令中指定的“標識符”不能相同;2022/11/3067小結①習慣上,符號常量2022/12/2682.3.2變量賦初值2022/11/30682.3.2變量賦初值2022/12/269◆當一次定義多個變量時,不能用連續(xù)=號的方式對多個變量進行初始化變量賦初值一個變量在定義之后,第一次賦值之前,它的值是不確定的。

在賦初值前,不能讓其參與運算,否則會得到不可預知的結果。

對變量進行定義的同時給變量賦初值,稱為初始化,

◆在定義變量的同時進行初始化除static,extern變量外,初始化與定義,賦值等價◆當一次定義多個變量時,可以對其全部或部分進行初始化如:intTotalStudent=40;等價于:intTotalStudent;TotalStudent=40;如:intTotalStudent=40,TotalScore=0,average;如:intTotalScore=AverScore=0;是錯誤的。正確的應該是:intTotalScore=0,AverScore=0;2022/11/3069◆當一次定義多個變量時,不能用連續(xù)2022/12/270下列變量定義中合法的是A)short_a=1-.1e1;B)doubleb=1+5e2.5;C)longdo=0xfdaL;D)float2_and=1-e-3;-2022/11/3070下列變量定義中合法的是A)short2022/12/271一、已定義ch為字符型變量,在下列賦值語句中錯誤的是:A)ch=‘\’;B)ch=62+3;C)ch=NULL;D)ch=‘\xaa’;二在以下選項中可做為C語言合法整數(shù)的是:A)10110BB)0386c)0XffaD)x2a2三、在以下選項中可做為C語言合法常量的是:A)-80B)-080C)-8e1.0D)-80.0e2022/11/3071一、已定義ch為字符型變量,在下列賦2022/12/272

字符輸出函數(shù)putchar

字符輸入函數(shù)getchar

格式輸出函數(shù)printf

格式輸入函數(shù)scanf

各種格式控制字符的含義和用法簡單的程序設計2.7數(shù)據的輸入輸出2022/11/3072字符輸出函數(shù)putchar2.72022/12/273輸入輸出的概念及在C語言中的實現(xiàn)2022/11/3073輸入輸出的概念及在C語言中的實現(xiàn)2022/12/274輸入輸出的概念及在C語言中的實現(xiàn)

輸入是指從外部設備(如鍵盤,掃描儀,文件等)向計算機主機送入數(shù)據;輸出是從計算機主機向外部設備(如顯示器,打印機,文件等)送出數(shù)據。

C語言本身沒有輸入輸出語句。要實現(xiàn)這些操作,必須調用相應的系統(tǒng)庫函數(shù)。比如printf函數(shù)用于輸出,scanf函數(shù)用于輸入,等等。

不同版本的C語言(C編譯器)均帶有不同數(shù)量不同用途的系統(tǒng)庫函數(shù),以.obj文件或.lib文件的形式提供,供用戶與自己的.obj文件鏈接以形成.exe的可執(zhí)行文件。注意:這些系統(tǒng)庫函數(shù)名并非C語言的關鍵字。2022/11/3074輸入輸出的概念及在C語言中的實現(xiàn)2022/12/275C語言中的頭文件

要想正確成功的調用C系統(tǒng)庫函數(shù),就必須在源程序文件開頭用預編譯命令“#include”將有關的“頭文件”包括進來。如:要想調用系統(tǒng)輸出庫函數(shù)printf,在源程序文件開頭必須有如下預編譯命令#include<stdio.h>C語言中的頭文件(headerfile)是指后綴名習慣為“.h”的一些文本文件。在頭文件中,包含有關系統(tǒng)庫函數(shù)的原型、有關系統(tǒng)全局變量的聲明、有關系統(tǒng)符號常量的宏定義、有關數(shù)據類型的定義等等信息。其中,系統(tǒng)庫函數(shù)的原型就告訴編譯系統(tǒng)該函數(shù)的名稱、返回值類型、形參數(shù)量及類型等信息,這樣編譯系統(tǒng)才能正確編譯,否則會給出出錯信息。2022/11/3075C語言中的頭文件要想正確成功的調2022/12/276C語言中的頭文件stdio.h頭文件中包含了與標準I/O操作有關的系統(tǒng)庫函數(shù)的聲明,所以調用如printf、scanf等標準輸入輸出函數(shù)時,必須在源程序文件中包含該頭文件。否則,編譯時會給出錯誤信息如下:Function‘printf’shouldhaveaprototype

函數(shù)‘printf’應該有一個原型提示:要想知道某個版本的C語言提供哪些系統(tǒng)庫函數(shù)以及各種庫函數(shù)所對應的頭文件的名稱,必須參考該版本C語言的系統(tǒng)庫函數(shù)手冊或聯(lián)機幫助。庫函數(shù)類別頭文件名庫函數(shù)類別頭文件名標準輸入輸出stdio.h字符串處理string.h數(shù)學math.h圖形處理graphics.h字符處理ctype.h2022/11/3076C語言中的頭文件stdio.h頭文2022/12/2772.7.1字符數(shù)據的輸入輸出

字符輸出函數(shù)putchar

字符輸入函數(shù)getchar2022/11/30772.7.1字符數(shù)據的輸入輸出字2022/12/278字符輸出函數(shù)putchar原型:intputchar(intch);參數(shù):一個字符型或整型的數(shù)據功能:在默認的輸出設備(顯示器)上輸出一個字符用法:putchar(字符型或整型數(shù)據);返回值:所輸出的字符。絕大多數(shù)情況下不使用該返回值。2022/11/3078字符輸出函數(shù)putchar原型:in2022/12/279#include<stdio.h>intmain(){chara,b;intc,d;a='B';b='O';c=65;d=66;putchar(a);putchar(b);putchar('Y');putchar(‘\n’);putchar(c);putchar(d+32);return(0);}字符輸出函數(shù)putchar:例參數(shù)可以是int

或char型變量運行結果: BOY

Ab參數(shù)可以是int

或char型常量參數(shù)也可以是int或char型表達式2022/11/3079#include<stdio.h2022/12/280字符輸入函數(shù)getchar原型:intgetchar(void);參數(shù):無功能:從默認的輸入設備(鍵盤)上接收用戶鍵入的一個字符,并把該字符作為函數(shù)值返回用法:ch=getchar();返回值:用戶從鍵盤鍵入的字符。絕大多數(shù)情況該字符都會被賦值給某個字符型或整型的變量,或者作為表達式的一部分參與其它的運算。

注意:getchar函數(shù)只能接收并返回一個字符。執(zhí)行過程:當程序運行到包含有getchar函數(shù)調用的語句時,會暫時停下來,此時屏幕上有一個閃爍的光標,等待用戶從鍵盤上的輸入。用戶必須鍵入有關信息并按Enter鍵后程序才能繼續(xù)向下執(zhí)行。2022/11/3080字符輸入函數(shù)getchar原型:in2022/12/281#include<stdio.h>intmain(){charch;ch=getchar();putchar(ch);return(0);}字符輸入函數(shù)getchar:例由于getchar函數(shù)要接收用戶從鍵盤輸入的字符,所以程序執(zhí)行流程到這兒會暫時停下來等待用戶的輸入。B↙(用戶鍵入字符B后,在打“回車”鍵)B(putchar函數(shù)再在屏幕上輸出一個字符B)運行結果:當用戶鍵入一個字符并按下Enter鍵后,該字符被getchar函數(shù)接收并作為函數(shù)值返回。此處,將這個返回值同時賦值給一個字符型的變量ch,保存起來以作后用。見習題P141頁712022/11/3081#include<stdio.h2022/12/282字符輸入函數(shù)getchar進一步說明鍵盤輸入有1k以上的緩存空間,一次鍵盤輸入是以鍵入enter為結束。getchar等待鍵盤緩存空間中出現(xiàn)enter,當其出現(xiàn)enter,getchar從鍵盤緩存空間中取一個字符返回。如果鍵盤緩存空間還有字符,下一個getchar就不再等待,立刻從鍵盤緩存空間中取一個字符返回。

#include"stdio.h"voidmain(){charc;inti=0;while(1){c=getchar();putchar(c);i++;if(i>1000)break;}}2022/11/3082字符輸入函數(shù)getchar進一步說明2022/12/2832.7.2格式輸入輸出函數(shù)

格式輸出函數(shù)printf

格式輸入函數(shù)scanf2022/11/30832.7.2格式輸入輸出函數(shù)格式2022/12/284格式輸出函數(shù)printf

原型:

intprintf(constchar*format[,argument,...]);

參數(shù):兩部分第一部分:為字符型常指針,大多數(shù)情況下都是字符串常量第二部分:若干個待輸出的數(shù)據的列表功能:一次函數(shù)調用可以在默認的輸出設備上(顯示器)輸出經格式化后的若干個不同類型的數(shù)據。用法:printf(格式控制字符串,輸出數(shù)據列表);

返回值:輸出的所有數(shù)據的字節(jié)數(shù)。絕大多數(shù)情況下不使用該返回值。2022/11/3084格式輸出函數(shù)printf原型:

i2022/12/285格式輸出函數(shù)printf的參數(shù)printf(格式控制字符串,輸出數(shù)據列表);⒈格式控制字符串:常字符指針,既可以是字符串常量,也可以是字符數(shù)組或字符指針。

格式控制字符:由%和規(guī)定的格式字符組成,一個格式控制字符串中可以有一個或多個格式控制字符。其作用是把后面的輸出項目列表中對應位置上的數(shù)據格式化成該格式字符所規(guī)定的數(shù)據類型。

普通字符:除格式字符以外的所有其它字符。它們不起任何格式作用,只簡單被printf函數(shù)原樣輸出到顯示器上。通常用于說明輸出數(shù)據或給用戶有關的提示說明信息。⒉輸出數(shù)據列表:將要輸出的數(shù)據,用逗號分隔??梢允浅A?,變量、函數(shù)調用或任何合法的C表達式。2022/11/3085格式輸出函數(shù)printf的參數(shù)pri2022/12/286intnum=15;printf(“Twice%dis%d.\n”,num,2*num);格式輸出函數(shù)printf的執(zhí)行過程Twice普通字符格式字符普通字符格式字符普通字符15is30._待輸出的數(shù)據2022/11/3086intnum=15;prin2022/12/287printf函數(shù)中的格式字符格式字符格式作用整型d,i格式化為有符號的十進制整數(shù)u格式化為無符號的十進制整數(shù)o格式化為無符號的八進制整數(shù)x,X格式化為無符號的十六進制整數(shù)字符型c格式化為一個字符s格式化為一個字符串實型f格式化為小數(shù)形式的實數(shù),隱含輸出6位小數(shù)e,E格式化為指數(shù)形式的實數(shù),數(shù)字部分有6位小數(shù)g,G選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的02022/11/3087printf函數(shù)中的格式字符格式字符2022/12/288printf函數(shù)中的附加格式字符附加格式字符格式作用l用于格式化長整型數(shù)據,可加在格式符d、o、x、u的前面m用于確定數(shù)據輸出時所占最小寬度,即列數(shù).n對實型數(shù),表示輸出n位小數(shù);對字符串,表示截取的字符個數(shù)-輸出的數(shù)字或字符在輸出域內向左對齊(默認是右對齊的)

在格式說明時,還可以在%和上述格式字符之間插入以下幾種附加的格式字符(又叫修飾符)。%[附加格式字符]格式字符%[-][m][.n][l]格式字符2022/11/3088printf函數(shù)中的附加格式字符附加2022/12/289printf函數(shù)使用中的注意事項一定要分清哪些是格式字符,哪些是普通字符;同時也要注意區(qū)分普通字符中轉義字符常量。

%d%D%cf如果作為第一部分參數(shù)的字符串中,全部是普通字符,則具有輸出字符串的效果,這通常用于在程序運行時給使用者有關提示信息,或對輸出信息作有關的注釋和說明。

printf(“Welcometousethisprogram.\n”);printf(“ProgramAuthor:LiChangsong”);待輸出數(shù)據的個數(shù)不能少于格式說明字符的個數(shù);如果多于格式說明字符的個數(shù),則多出的數(shù)據不被輸出。

printf(“%d,%d,%c\n”,a,b,ch,d,e);用%%輸出一個%printf(“percent=%d%%\n”,percent);習題見P137頁31、42、58、2022/11/3089printf函數(shù)使用中的注意事項一定2022/12/290printf函數(shù)的使用:例#include<stdio.h>voidmain(){unsignedshortinta=65535;shortintb=-2;printf("a=%d,%o,%x,%u\n",a,a,a,a);printf("b=%d,%o,%x,%u\n",b,b,b,b);}運行結果:a=-1,177777,ffff,65535b=-2,177776,fffe,655342022/11/3090printf函數(shù)的使用:例#incl2022/12/291printf函數(shù)的使用:例#include<stdio.h>voidmain(){longc=4000000;floatf1=12345.67;printf("c=%ld\n",c);printf("f1=%f,%e\n",f1,f1);}運行結果:c=4000000f1=12345.669922,1.234567e+042022/11/3091printf函數(shù)的使用:例#incl2022/12/292printf函數(shù)的使用:例#include<stdio.h>voidmain(){printf("%c%c%c",'B','O','Y');printf("%c",'\n');printf("%s","China");printf("%s","\n");printf("Pleaseinputthreedata:");}運行結果: BOY China Pleaseinputthreedata:2022/11/3092printf函數(shù)的使用:例#incl2022/12/293格式輸入函數(shù)scanf

原型:

intscanf(constchar*format[,address,...]);

參數(shù):兩部分第一部分:為字符型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論