C語言基本知識(shí)概括.ppt_第1頁
C語言基本知識(shí)概括.ppt_第2頁
C語言基本知識(shí)概括.ppt_第3頁
C語言基本知識(shí)概括.ppt_第4頁
C語言基本知識(shí)概括.ppt_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

語言的基本知識(shí)概括,(4)括號:,一、字符集和標(biāo)識(shí)符,1、 字符集: 字符集是高級語言的編譯系統(tǒng)所能識(shí)別的字母、數(shù)字和特殊符號。C語言的字符集包括:,(1)英文字母:大小寫各26個(gè),共計(jì)52個(gè);,(2)阿拉伯?dāng)?shù):0、1、2、3、4、5、6、7、8、9 共10個(gè)數(shù)字;,(3)運(yùn)算符: +、-、*、/、%.,語言的基本知識(shí)概括,(7)空白符:空格符、換行符、制表符。,(5)標(biāo)點(diǎn)符號:、“、:、;,(6)特殊符號: _ $ #,二、標(biāo)識(shí)符,概念:就是用來標(biāo)識(shí)變量名、符號常量名、函數(shù)名、類型名、文件名等的有效字符序列。,(1)標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。,定義規(guī)則:,如: _1 year month student_name sum0 M.D.Jones $123 #a 3b ?c a=b,(2)在C語言中,大小寫字母不等效。因此,a和A,I和i,Sum和sum,分別是兩個(gè)不同的標(biāo)識(shí)符。,(3)用戶自定義的標(biāo)識(shí)符不能與保留字(關(guān)鍵字)同名。,(4)標(biāo)識(shí)符的一般長度(即一個(gè)標(biāo)識(shí)符允許的字符個(gè)數(shù))一般規(guī)定取前8個(gè)字符為有效字符,多余的將不被識(shí)別。,1)關(guān)鍵字標(biāo)識(shí)符:又稱為命令符,在程序中有特定的含義。不能另作它用,其他字符無法直接替代它。(參看32個(gè)關(guān)鍵字),分類:在C語言中,標(biāo)識(shí)符分為3類:關(guān)鍵字標(biāo)識(shí)符、預(yù)定義標(biāo)識(shí)符、用戶標(biāo)識(shí)符 (自己定義)。,2)預(yù)定義標(biāo)識(shí)符:在C語言中,一般是指C語言提供的庫函數(shù)名和預(yù)編譯處理命令(如printf、define)C語言允許這些標(biāo)識(shí)符另作它用,但將使這些標(biāo)識(shí)符失去了系統(tǒng)規(guī)定的原意。為了編程時(shí)方便、可靠、避免誤解,一般把這些標(biāo)識(shí)符固定使用。,3)用戶標(biāo)識(shí)符 :在編程時(shí),用戶需要給一些變量、函數(shù)、數(shù)組、文件等命名,這類由用戶自己定義的標(biāo)識(shí)符稱為用戶標(biāo)識(shí)符 。,關(guān)鍵字,概念:就是具有特定含義的標(biāo)識(shí)符,用戶不能用來作自定義標(biāo)識(shí)符。,C語言中的關(guān)鍵字較少,由ANSI標(biāo)準(zhǔn)推薦的關(guān)鍵字有32個(gè)。,(1)與數(shù)據(jù)類型有關(guān)的(14): char int float double signed unsigned short long void struct union typedef enum sizeof,(3) 與程序控制結(jié)構(gòu)有關(guān)的(12): do while for if else switch case default goto continue break return,(2)與存儲(chǔ)類別有關(guān)的: auto extern register static,三、常量和變量,1、常量,2、變量,數(shù)據(jù)有常量和變量之分。,(一)常量和符號常量 常量:在程序運(yùn)行過程中值不能改變的量。 可分為不同的類型。C語言中有3種常量:算術(shù)型運(yùn)算常量(如整型常量、實(shí)型常量等)、字符型常量(如字符常量、字符串常量)以及標(biāo)識(shí)符所定義的常量(符號常量)。,符號常量:用一個(gè)標(biāo)識(shí)符來代表一個(gè)常量,也就是標(biāo)識(shí)符形式的常量,它的值在其作用域中不能改變,也不能再被賦值。習(xí)慣上符號常量名一般用大寫字母表示。,使用符號常量的好處: (1)含義清楚,在定義符號常量名時(shí)最好考慮“見名知意”。 (2)在需要改動(dòng)一個(gè)常量時(shí)能做到“一改全改”。,(二)變量 其值可以改動(dòng)的量稱做變量,一個(gè)變量應(yīng)該有一個(gè)名字,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。在該存儲(chǔ)單元中存放變量的值。,變量定義必須放在變量使用之前。一般放在函數(shù)體的開頭部分。要區(qū)分變量名和變量值是兩個(gè)不同的概念。,變量名實(shí)質(zhì)是個(gè)符號地址,由系統(tǒng)來分配給它,每次程序中讀取變量值,實(shí)際上就是通過變量名找到相應(yīng)的內(nèi)存地址,并從其存儲(chǔ)單元中讀取數(shù)據(jù)。,注意:在C語言中,要求對所有用到的變量“先定義,后使用”。,int a,b,c ; float x,y; char c1,c2; 或 int c1,c2;,自己設(shè)定,滿足標(biāo)識(shí)符的規(guī)定。,如:int, float,char,;不可省,變量定義形式:,類型標(biāo)識(shí)符 變量名1 ,變量名2,變量名3,.;,例如:,類型說明符指定了變量的數(shù)據(jù)類型,例如int、char,變量名一般用小寫字母表示,命名規(guī)則要符合用戶自定義標(biāo)識(shí)符規(guī)則,最好也做到“見名知意“,長度不超過8個(gè)字符,并且最好選取有含義的英文單詞(或其縮寫)作標(biāo)識(shí)符。除了數(shù)值計(jì)算程序外,一般不要用代數(shù)符號做變量名,以增加程序的可讀性。,四、C語言的數(shù)據(jù)類型:,1、基本數(shù)據(jù)類型:特點(diǎn):它的值不可以再分解為其它類型。也就是說,基本數(shù)據(jù)類型是自我說明的。,2、構(gòu)造數(shù)據(jù)類型:構(gòu)造數(shù)據(jù)類型是根據(jù)已定義的一個(gè)或多個(gè)數(shù)據(jù)類型用構(gòu)造的方法來定義的。也就是說,一個(gè)構(gòu)造類型的值可以分解成若干個(gè)“成員”或“元素”。每個(gè)“成員”都是一個(gè)基本數(shù)據(jù)類型或又是一個(gè)構(gòu)造類型。在C語言中,構(gòu)造類型有以下幾種: 數(shù)組類型 結(jié)構(gòu)體類型 共用體(聯(lián)合)類型,3、指針類型:指針是一種特殊的,同時(shí)又是具有重要作用的數(shù)據(jù)類型。其值用來表示某個(gè)變量在內(nèi)存儲(chǔ)器中的地址。,4、空類型:在調(diào)用函數(shù)值時(shí),通常應(yīng)向調(diào)用者返回一個(gè)函數(shù)值。這個(gè)返回的函數(shù)值是具有一定的數(shù)據(jù)類型的,應(yīng)在函數(shù)定義及函數(shù)說明中給以說明,例如在例1.3中給出的show函數(shù)定義中,函數(shù)頭為:void show(x,y); void表明調(diào)用后并不需要向調(diào)用者返回函數(shù)值。,在本章中,我們先介紹基本數(shù)據(jù)類型中的整型、浮點(diǎn)型和字符型。其余類型在以后各章中陸續(xù)介紹。,1、 整型常量 有三種表現(xiàn)形式:,十進(jìn)制形式:與數(shù)學(xué)上的整數(shù)表示相同。 例如: 12, -100, 0,八進(jìn)制形式:在數(shù)碼前加數(shù)字0 。 例如: 012=1*81+2*80=10(十進(jìn)制),十六進(jìn)制形式:在數(shù)碼前加0X(數(shù)字0和字母X,大小寫均可)。 例如: 0x12=1*161+2*160=18(十進(jìn)制),五、整型數(shù)據(jù),十六進(jìn)制的數(shù)碼除了數(shù)字0-9外, 還使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是錯(cuò)誤的。,注意事項(xiàng):,八進(jìn)制的數(shù)碼范圍為0-7; 則:018、091、0A2 都是錯(cuò)誤的數(shù)據(jù)表示方法。,2、整型變量,(一)整型變量的分類,基本型,以int表示。,短整型,以short int表示,或以short表示。,長整型,以long int表示,或以long表示。,無符號型,其中無符號型又分為無符號整型,無符號短整型和無符號長整型,分別以 unsigned int unsigned short unsigned long表示。,int x; long y;,2000,2001,2002,2005,x,y,內(nèi)存,內(nèi)存地址,2003,2004,整型數(shù)據(jù)的取值范圍,2、整型常量的類型 在將一個(gè)整型常量賦給一個(gè)整型變量時(shí)如何進(jìn)行類型匹配?,其值在-32768 - +32767范圍內(nèi),認(rèn)為它是 int型,它可以賦值給 int 型和 long int 型變量。,其值在-2147483648 - +2147483647范圍內(nèi),則認(rèn)為它是long int型,可以將它賦值給一個(gè)long int 型變量。,.短整型常量:,.長整型常量:,.如果某一計(jì)算機(jī)系統(tǒng)的C版本確定的short int 與 int型數(shù)據(jù)在內(nèi)存中占據(jù)的長度相同,,則它的表示范圍與int 型相同。我們所用的TURBOC是一樣的,因此一個(gè)int 型的常量也同時(shí)是一個(gè)short int型常量,可以賦值給int 型或 short int 型變量。,數(shù)據(jù)后加一個(gè)字母1 或 L,則認(rèn)為是long int型常量.,.長整型常量的表示:,例如:1231 , 432L, 0L等等。,這往往用于函數(shù)調(diào)用中,如果函數(shù)的形參為long int型,則要求實(shí)參也為 long int 型,此時(shí)用123作實(shí)參不行,而要用123L作實(shí)參。,一般格式: printf(格式控制(或者稱格式字符串),輸出表列) 如printf(“%d, %cn”,i,c),3、用printf顯示整型數(shù)據(jù),printf()函數(shù)的作用:向計(jì)算機(jī)系統(tǒng)默認(rèn)的輸出設(shè)備(一般指終端或顯示器)輸出一個(gè)或多個(gè)任意類型的數(shù)據(jù)。,普通字符:即原樣輸出的字符。,(1)“格式控制”是用雙撇號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息: 格式說明,由“%”和格式字符組成,如%d,%f等。它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換成指定的格式輸出。格式說明必須用“%”開頭,以一個(gè)格式控制符結(jié)束,在格式字符的前面還可以插入“寬度說明”、坐對齊符號“-”等附加字符。,如果要輸出的數(shù)據(jù)不止1個(gè),相鄰2個(gè)之間用逗號分開。下面的printf()函數(shù)都是合法的: (1)printf(“%d %d“,a,b); (2)printf(“%d“,3+2); (3)printf(“a=%f b=%5dn“, a, a+3);,(2)“輸出表列”是需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。,格式字符 意 義 d 以十進(jìn)制形式輸出帶符號整數(shù)(正數(shù)不輸出符號) o 以八進(jìn)制形式輸出無符號整數(shù)(不輸出前綴0) x, 以十六進(jìn)制形式輸出無符號整數(shù)(不輸出前綴Ox) u 以十進(jìn)制形式輸出無符號整數(shù)(正整數(shù)),對于整型數(shù)據(jù)常用的輸出格式有:,2)如果顯示的整數(shù)是長整型數(shù),一定要在轉(zhuǎn)換字符前加l,注意:1)除了%d,其余的格式都將數(shù)據(jù)作為無符號數(shù)輸出? 注意試一試,看%o%x能否輸出負(fù)數(shù),3)注意域?qū)?、對齊方式以及普通字符的輸出。,一般格式: scanf(“格式信息”,地址表列);,5、用scanf輸入整型數(shù)據(jù),函數(shù)介紹 scanf ()函數(shù)稱做格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。,其中,“格式信息”與printf()函數(shù)用法相似,通過在格式信息字符串中使用%和轉(zhuǎn)換字符來指定不同數(shù)據(jù)類型數(shù)據(jù)的輸入方式,地址表列中給出各變量的地址。地址是由地址運(yùn)算符“&”后跟變量名組成的。,按指定的寬度結(jié)束。例如“%3d”,只取3列。,使用scanf函數(shù)時(shí)應(yīng)注意的問題: 1)輸入數(shù)據(jù)時(shí),遇到以下情況,系統(tǒng)認(rèn)為該數(shù)據(jù)結(jié)束:,遇到空格,或者回車鍵,或者Tab鍵。,遇到非法輸入。例如,在輸入數(shù)值數(shù)據(jù)時(shí),遇到字母等非數(shù)值符號(數(shù)值符號僅由數(shù)字字符0-9、小數(shù)點(diǎn)和正負(fù)號構(gòu)成)。,假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為:12,36,2)“格式信息”中出現(xiàn)的除格式轉(zhuǎn)換以外的字符,則在輸入數(shù)據(jù)時(shí)在對應(yīng)位置輸入與這些字符相同的字符。,例如:scanf(“%d,%d“,1、浮點(diǎn)常量 有二種表現(xiàn)形式:,1)十進(jìn)制小數(shù)形式:與數(shù)學(xué)上的實(shí)數(shù)表示相同。如127.3,2)指數(shù)形式: 類似于數(shù)學(xué)中的指數(shù)形式。C語言中,它由整數(shù)部分、小數(shù)部分和指數(shù)部分組成。其中,前兩部分用小數(shù)點(diǎn)連接,后兩部分用e(或E)連接。 e(或E)代表10的冪次 例如1.273+2等。,六、浮點(diǎn)數(shù),指數(shù)部分可以省略(相當(dāng)于用小數(shù)表示法)。,浮點(diǎn)常量的構(gòu)成規(guī)則是:,整數(shù)部分可以不寫,小數(shù)部分也可以不寫,但不能同時(shí)不寫。,如有指數(shù)部分,則字母E(e)前必須有數(shù)字,該數(shù)字可以為整數(shù)也可以為小數(shù);字母E(e)后必須為整數(shù)(范圍為1到3位的整數(shù)),可以為正或負(fù),正號可以省略。 所有的指數(shù)都是整數(shù),2、浮點(diǎn)變量,在標(biāo)準(zhǔn)C語言中,浮點(diǎn)數(shù)分為單精度(float型)、雙精度(double型),有的C版本還支持長雙精度型(long double)。,1)單精度型。類型關(guān)鍵字為float,一般占字節(jié)(位)、其數(shù)值表示范圍為10-371038,提供位有效數(shù)字,保留6位小數(shù)位。如float a,b;,2)雙精度型。類型關(guān)鍵字為double,一般占個(gè)字節(jié)(64位)、其數(shù)值范圍為10-30710308,提供1516位有效數(shù)字。如double c,d;,注意:C編譯系統(tǒng)將浮點(diǎn)常量作為雙精度(double型)來處理。浮點(diǎn)常量也象整型常量一樣,如果浮點(diǎn)常量超過了機(jī)器所能表示的范圍,否則發(fā)生溢出,得不到一個(gè)正確的數(shù)值。,格式字符 意義 f 以小數(shù)形式輸出單、雙精度實(shí)數(shù) e,E 以指數(shù)形式輸出單、雙精度實(shí)數(shù),3、用printf顯示浮點(diǎn)數(shù)據(jù),輸出浮點(diǎn)數(shù)可以用的轉(zhuǎn)換說明符是%f和%e。,輸出雙精度(double)類型時(shí),還需要加上字母l。,輸出浮點(diǎn)數(shù)不僅可以控制域?qū)?,還可以控制小數(shù)部分的輸出位數(shù)(精度)。方法是在在%與f(或e)之間加上兩個(gè)數(shù)字并在這兩個(gè)數(shù)字之間加上一個(gè)句點(diǎn)“.”。例如%10.3f表示輸出格式是域?qū)?0,有效位3。,注意:1)域?qū)挷皇侵刚麛?shù)位的域?qū)?,而是整個(gè)浮點(diǎn)數(shù)的域?qū)?,還包括了小數(shù)點(diǎn),小數(shù)位。如果不指定域?qū)捄途?,默認(rèn)的精度是6。,2)如果指定的域?qū)挻笥谒@示的數(shù)的實(shí)際域?qū)?,未用的位置用空格填寫。如果指定的域?qū)捫∮谒@示的數(shù)的實(shí)際域?qū)?,按?shù)的實(shí)際域?qū)掞@示。,3)左對齊符號同樣適用于浮點(diǎn)數(shù)。,4、用scanf輸入浮點(diǎn)數(shù)據(jù),浮點(diǎn)數(shù)的輸入也是使用轉(zhuǎn)換字符f和e,直接使用%f和%e可以輸入float類型數(shù)據(jù),使用%lf和%le則輸入double類型數(shù)據(jù)。,練習(xí)1 main() int n1=123; long n2=123456; printf(“n1=%d,n1=%5d,n1=%5d,n1=%2dn“,n1,n1,n1,n1); printf(“n2=%ld,n2=%8ld,n2=%5ldn“,n2,n2,n2); printf(“n1=%ldn“,n1); ,程序運(yùn)行結(jié)果如下: n1=123,n1=123,n1=123,n1=123 n2=123456,n2=123456,n2=123456 n1=16908411,對于整數(shù),還可用八進(jìn)制、無符號形式(%o(小寫字母o))和十六進(jìn)制、無符號形式(%x)輸出。對于unsigned型數(shù)據(jù),也可用%u格式符,以十進(jìn)制、無符號形式輸出。 所謂無符號形式是指,不論正數(shù)還是負(fù)數(shù),系統(tǒng)一律當(dāng)作無符號整數(shù)來輸出。例如, printf(“%d,%o,%xn“,-1,-1,-1);,類型轉(zhuǎn)換字符f的使用。 main( ) float f=123.456; double d1,d2; d1=1111111111111.111111111; d2=2222222222222.222222222; printf(“%f,%12f,%12.2f,%-12.2f,%.2fn“,f,f,f,f,f); printf(“d1+d2=%fn“,d1+d2); ,程序運(yùn)行結(jié)果如下: 123.456001,123.456001,123.46,123.46,123.46 d1+d2=3333333333333.333010,1、字符常量 字符常量就是用兩個(gè)單引號將一個(gè)字符括起來。如a、 b,在C語言中,字符常量具有數(shù)值特性,字符量的值就是此字符的ASCII碼值。例如 A對應(yīng)的 ASCII碼值是65。,七、字符型數(shù)據(jù),注意:1)引號中的字符只能是一個(gè)字符。如ab是錯(cuò)誤的。,2)不能用雙引號括起一個(gè)字符表示單個(gè)字符常量。例如“a”是錯(cuò)誤的。,3)字符型常量在內(nèi)存中占用一個(gè)字節(jié),存放的是字符的ASCII值。所有的字符常量作為整型量進(jìn)行運(yùn)算,并且可參與各種操作。,4)一些非圖形字符,如退格、換行等,也可以表示成字符型常量。表示方法是用轉(zhuǎn)義符“”與一些特殊字符構(gòu)成轉(zhuǎn)義字符(轉(zhuǎn)義序列)。例如n表示回車換行。,轉(zhuǎn)義字符是一種特殊形式的字符常量,它表示將“”后的字符轉(zhuǎn)換成另外的意義。又如f不代表字母f而是指“換頁,將當(dāng)前位置移到下頁開頭。 具體可參見表1.2,2、字符變量,用來存放字符常量,并且只能放一個(gè)字符。,定義形式:char c1,c2; 賦值:c1=a;c2=b;,注意:一個(gè)字符型變量在內(nèi)存中只占一個(gè)字節(jié)。,特性:字符數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是字符的ASCII碼 一個(gè)無符號整數(shù),其形式與整數(shù)的存儲(chǔ)形式一樣,所以語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。,3、 用printf顯示字符,使用轉(zhuǎn)換說明%c就可以輸出單個(gè)字符??蓞⒁娎?.8,注意:一個(gè)字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。,4、用scanf輸入字符,同樣,%c也可以用于控制

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論