C語言基本知識概括課件_第1頁
C語言基本知識概括課件_第2頁
C語言基本知識概括課件_第3頁
C語言基本知識概括課件_第4頁
C語言基本知識概括課件_第5頁
已閱讀5頁,還剩107頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言的基本知識概括(4)括號:一、字符集和標(biāo)識符1、字符集:字符集是高級語言的編譯系統(tǒng)所能識別的字母、數(shù)字和特殊符號。C語言的字符集包括:(1)英文字母:大小寫各26個,共計52個;(2)阿拉伯?dāng)?shù):0、1、2、3、4、5、6、7、8、9 共10個數(shù)字;(3)運算符:+、-、*、/、%.......

C語言的基本知識概括(4)括號:一、字符集和標(biāo)識符1C語言的基本知識概括(7)空白符:空格符、換行符、制表符。(5)標(biāo)點符號:‘、“、:、;(6)特殊符號:\_$#

C語言的基本知識概括(7)空白符:空格符、換行符、制二、標(biāo)識符概念:就是用來標(biāo)識變量名、符號常量名、函數(shù)名、類型名、文件名等的有效字符序列。(1)標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。定義規(guī)則:如:_1yearmonthstudent_namesum0M.D.Jones$123#a3b?ca=b二、標(biāo)識符概念:就是用來標(biāo)識變量名、符號常量名、函數(shù)名、類型(2)在C語言中,大小寫字母不等效。因此,a和A,I和i,Sum和sum,分別是兩個不同的標(biāo)識符。(3)用戶自定義的標(biāo)識符不能與保留字(關(guān)鍵字)同名。(4)標(biāo)識符的一般長度(即一個標(biāo)識符允許的字符個數(shù))一般規(guī)定取前8個字符為有效字符,多余的將不被識別。(2)在C語言中,大小寫字母不等效。因此,a和A,I和i,S1)關(guān)鍵字標(biāo)識符:又稱為命令符,在程序中有特定的含義。不能另作它用,其他字符無法直接替代它。(參看32個關(guān)鍵字)分類:在C語言中,標(biāo)識符分為3類:關(guān)鍵字標(biāo)識符、預(yù)定義標(biāo)識符、用戶標(biāo)識符(自己定義)。2)預(yù)定義標(biāo)識符:在C語言中,一般是指C語言提供的庫函數(shù)名和預(yù)編譯處理命令(如printf、define)C語言允許這些標(biāo)識符另作它用,但將使這些標(biāo)識符失去了系統(tǒng)規(guī)定的原意。為了編程時方便、可靠、避免誤解,一般把這些標(biāo)識符固定使用。3)用戶標(biāo)識符:在編程時,用戶需要給一些變量、函數(shù)、數(shù)組、文件等命名,這類由用戶自己定義的標(biāo)識符稱為用戶標(biāo)識符。1)關(guān)鍵字標(biāo)識符:又稱為命令符,在程序中有特定的含義。不能另關(guān)鍵字概念:就是具有特定含義的標(biāo)識符,用戶不能用來作自定義標(biāo)識符。C語言中的關(guān)鍵字較少,由ANSI標(biāo)準(zhǔn)推薦的關(guān)鍵字有32個。常用的有:(1)與數(shù)據(jù)類型有關(guān)的(14):charintfloatdoublesignedunsignedshortlongvoidstructuniontypedefenumsizeof關(guān)鍵字概念:就是具有特定含義的標(biāo)識符,用戶不能用來作自定義標(biāo)(3)

與程序控制結(jié)構(gòu)有關(guān)的(12):

dowhileforifelseswitchcase

defaultgotocontinue

breakreturn (2)與存儲類別有關(guān)的:

autoexternregisterstatic

(3)與程序控制結(jié)構(gòu)有關(guān)的(12):(2)與存儲類別有關(guān)的三、常量和變量1、常量概念:在程序運行中,其數(shù)值不能被改變的量。2、變量概念:在程序運行中,其數(shù)值能夠改變的量。數(shù)據(jù)有常量和變量之分。三、常量和變量1、常量概念:在程序運行中,其數(shù)值不能被改變的(一)常量和符號常量常量:在程序運行過程中值不能改變的量。可分為不同的類型。C語言中有3種常量:算術(shù)型運算常量(如整型常量、實型常量等)、字符型常量(如字符常量、字符串常量)以及標(biāo)識符所定義的常量(符號常量)。符號常量:用一個標(biāo)識符來代表一個常量,也就是標(biāo)識符形式的常量,它的值在其作用域中不能改變,也不能再被賦值。習(xí)慣上符號常量名一般用大寫字母表示。使用符號常量的好處:(1)含義清楚,在定義符號常量名時最好考慮“見名知意”。(2)在需要改動一個常量時能做到“一改全改”。

(一)常量和符號常量符號常量:用一個標(biāo)識符來代表一個常量,也(二)變量其值可以改動的量稱做變量,一個變量應(yīng)該有一個名字,在內(nèi)存中占據(jù)一定的存儲單元。在該存儲單元中存放變量的值。變量定義必須放在變量使用之前。一般放在函數(shù)體的開頭部分。要區(qū)分變量名和變量值是兩個不同的概念。(二)變量變量定義必須放在變量使用之前。一般放在函數(shù)體的開頭變量名實質(zhì)是個符號地址,由系統(tǒng)來分配給它,每次程序中讀取變量值,實際上就是通過變量名找到相應(yīng)的內(nèi)存地址,并從其存儲單元中讀取數(shù)據(jù)。注意:在C語言中,要求對所有用到的變量“先定義,后使用”。

變量名實質(zhì)是個符號地址,由系統(tǒng)來分配給它,每次程序中讀取變量

inta,b,c;floatx,y;charc1,c2;或intc1,c2;

自己設(shè)定,滿足標(biāo)識符的規(guī)定。如:int,float,char;不可省變量定義形式:類型標(biāo)識符變量名1[,變量名2,變量名3,...];例如:inta,b,c;自己設(shè)定,滿足標(biāo)識符

類型說明符指定了變量的數(shù)據(jù)類型,例如int、char,變量名一般用小寫字母表示,命名規(guī)則要符合用戶自定義標(biāo)識符規(guī)則,最好也做到“見名知意“,長度不超過8個字符,并且最好選取有含義的英文單詞(或其縮寫)作標(biāo)識符。除了數(shù)值計算程序外,一般不要用代數(shù)符號做變量名,以增加程序的可讀性。類型說明符指定了變量的數(shù)據(jù)類型,例如int、char,變量

字符型(char)整型(short,int,long,unsigned)

基本類型數(shù)值類型單精度型(float)實型雙精度型(double)枚舉類型(enum)

數(shù)據(jù)類型數(shù)組類型([])構(gòu)造類型結(jié)構(gòu)體類型(struct)共用體類型(union)指針類型(*)空類型(void)四、C語言的數(shù)據(jù)類型:四、C語言的數(shù)據(jù)類型:

1、基本數(shù)據(jù)類型:特點:它的值不可以再分解為其它類型。也就是說,基本數(shù)據(jù)類型是自我說明的。

2、構(gòu)造數(shù)據(jù)類型:構(gòu)造數(shù)據(jù)類型是根據(jù)已定義的一個或多個數(shù)據(jù)類型用構(gòu)造的方法來定義的。也就是說,一個構(gòu)造類型的值可以分解成若干個“成員”或“元素”。每個“成員”都是一個基本數(shù)據(jù)類型或又是一個構(gòu)造類型。在C語言中,構(gòu)造類型有以下幾種:

·數(shù)組類型

·結(jié)構(gòu)體類型

·共用體(聯(lián)合)類型1、基本數(shù)據(jù)類型:特點:它的值不可以再分解為其它類型。也就3、指針類型:指針是一種特殊的,同時又是具有重要作用的數(shù)據(jù)類型。其值用來表示某個變量在內(nèi)存儲器中的地址。4、空類型:在調(diào)用函數(shù)值時,通常應(yīng)向調(diào)用者返回一個函數(shù)值。這個返回的函數(shù)值是具有一定的數(shù)據(jù)類型的,應(yīng)在函數(shù)定義及函數(shù)說明中給以說明,例如在例1.3中給出的show函數(shù)定義中,函數(shù)頭為:voidshow(x,y);void表明調(diào)用后并不需要向調(diào)用者返回函數(shù)值。在本章中,我們先介紹基本數(shù)據(jù)類型中的整型、浮點型和字符型。其余類型在以后各章中陸續(xù)介紹。3、指針類型:指針是一種特殊的,同時又是具有重要作用的數(shù)據(jù)類1、整型常量有三種表現(xiàn)形式:十進制形式:與數(shù)學(xué)上的整數(shù)表示相同。例如:12,-100,0八進制形式:在數(shù)碼前加數(shù)字0。例如:012=1*81+2*80=10(十進制)十六進制形式:在數(shù)碼前加0X(數(shù)字0和字母X,大小寫均可)。例如:0x12=1*161+2*160=18(十進制)五、整型數(shù)據(jù)1、整型常量十進制形式:與數(shù)學(xué)上的整數(shù)表示相同。

十六進制的數(shù)碼除了數(shù)字0-9外,

還使用英文字母a-f(或A-F)表示10-15。如:0x1e、0Xabcdef、0x1000

但:0X2defg、0x100L都是錯誤的。注意事項:

八進制的數(shù)碼范圍為0--7;則:018、091、0A2都是錯誤的數(shù)據(jù)表示方法。十六進制的數(shù)碼除了數(shù)字0-9外,注意事項:八進制的數(shù)碼范2、整型變量(一)整型變量的分類基本型,以int表示。短整型,以shortint表示,或以short表示。長整型,以longint表示,或以long表示。無符號型,其中無符號型又分為無符號整型,無符號短整型和無符號長整型,分別以unsignedintunsignedshortunsignedlong表示。2、整型變量(一)整型變量的分類基本型,以int表示。短整型intx;longy;2000200120022005xy內(nèi)存內(nèi)存地址20032004intx;2000200120022005xy內(nèi)存內(nèi)存地整型數(shù)據(jù)的取值范圍數(shù)據(jù)類型取值范圍int-32768-32767shortint-32768-32767longint-2147483648-2147483647unsignedint0-65535unsignedshort0-65535unsignedlong0-4294967295整型數(shù)據(jù)的取值范圍數(shù)據(jù)類型取值范圍int-32768-32、整型常量的類型在將一個整型常量賦給一個整型變量時如何進行類型匹配?其值在-32768-+32767范圍內(nèi),認(rèn)為它是int型,它可以賦值給int型和longint型變量。其值在-2147483648-+2147483647范圍內(nèi),則認(rèn)為它是longint型,可以將它賦值給一個longint型變量。.短整型常量:.長整型常量:2、整型常量的類型其值在-32768-+32767范圍內(nèi).如果某一計算機系統(tǒng)的C版本確定的shortint

與int型數(shù)據(jù)在內(nèi)存中占據(jù)的長度相同,則它的表示范圍與int型相同。我們所用的TURBOC是一樣的因此一個int型的常量也同時是一個shortint型常量,可以賦值給int型或shortint型變量。.如果某一計算機系統(tǒng)的C版本確定的shortint與數(shù)據(jù)后加一個字母1或L,則認(rèn)為是longint型常量.

.長整型常量的表示:例如:1231,432L,0L等等。

這往往用于函數(shù)調(diào)用中,如果函數(shù)的形參為longint型,則要求實參也為longint型,此時用123作實參不行,而要用123L作實參。數(shù)據(jù)后加一個字母1或L,則認(rèn)為是longint型常量.一般格式:printf(格式控制(或者稱格式字符串),輸出表列)如printf(“%d,%c\n”,i,c)3、用printf顯示整型數(shù)據(jù)printf()函數(shù)的作用:向計算機系統(tǒng)默認(rèn)的輸出設(shè)備(一般指終端或顯示器)輸出一個或多個任意類型的數(shù)據(jù)。一般格式:3、用printf顯示整型數(shù)據(jù)printf()函②普通字符:即原樣輸出的字符。(1)“格式控制”是用雙撇號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息:①格式說明,由“%”和格式字符組成,如%d,%f等。它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換成指定的格式輸出。格式說明必須用“%”開頭,以一個格式控制符結(jié)束,在格式字符的前面還可以插入“寬度說明”、坐對齊符號“-”等附加字符。②普通字符:即原樣輸出的字符。(1)“格式控制”是用雙撇號括如果要輸出的數(shù)據(jù)不止1個,相鄰2個之間用逗號分開。下面的printf()函數(shù)都是合法的:(1)printf("%d%d",a,b);

(2)printf("%d",3+2);

(3)printf("a=%fb=%5d\n",a,a+3);

(2)“輸出表列”是需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。如果要輸出的數(shù)據(jù)不止1個,相鄰2個之間用逗號分開。下面的pr格式字符意義

d以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)o以八進制形式輸出無符號整數(shù)(不輸出前綴0)x,以十六進制形式輸出無符號整數(shù)(不輸出前綴Ox)u以十進制形式輸出無符號整數(shù)(正整數(shù))

對于整型數(shù)據(jù)常用的輸出格式有:格式字符2)如果顯示的整數(shù)是長整型數(shù),一定要在轉(zhuǎn)換字符前加l

注意:1)除了%d,其余的格式都將數(shù)據(jù)作為無符號數(shù)輸出?注意試一試,看%o\%x能否輸出負(fù)數(shù)3)注意域?qū)挕R方式以及普通字符的輸出。2)如果顯示的整數(shù)是長整型數(shù),一定要在轉(zhuǎn)換字符前加l注意:一般格式:

scanf(“格式信息”,地址表列);5、用scanf輸入整型數(shù)據(jù)函數(shù)介紹scanf()函數(shù)稱做格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。一般格式:5、用scanf輸入整型數(shù)據(jù)函數(shù)介紹其中,“格式信息”與printf()函數(shù)用法相似,通過在格式信息字符串中使用%和轉(zhuǎn)換字符來指定不同數(shù)據(jù)類型數(shù)據(jù)的輸入方式,地址表列中給出各變量的地址。地址是由地址運算符“&”后跟變量名組成的。其中,“格式信息”與printf()函數(shù)用法相似,通過在格式按指定的寬度結(jié)束。例如“%3d”,只取3列。使用scanf函數(shù)時應(yīng)注意的問題:

1)輸入數(shù)據(jù)時,遇到以下情況,系統(tǒng)認(rèn)為該數(shù)據(jù)結(jié)束:遇到空格,或者回車鍵,或者Tab鍵。遇到非法輸入。例如,在輸入數(shù)值數(shù)據(jù)時,遇到字母等非數(shù)值符號(數(shù)值符號僅由數(shù)字字符0-9、小數(shù)點和正負(fù)號構(gòu)成)。按指定的寬度結(jié)束。例如“%3d”,只取3列。使用scanf函假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為:12,36↙2)“格式信息”中出現(xiàn)的除格式轉(zhuǎn)換以外的字符,則在輸入數(shù)據(jù)時在對應(yīng)位置輸入與這些字符相同的字符。例如:scanf("%d,%d",&num1,&num2);假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為1、浮點常量有二種表現(xiàn)形式:1)十進制小數(shù)形式:與數(shù)學(xué)上的實數(shù)表示相同。如127.32)指數(shù)形式:類似于數(shù)學(xué)中的指數(shù)形式。C語言中,它由整數(shù)部分、小數(shù)部分和指數(shù)部分組成。其中,前兩部分用小數(shù)點連接,后兩部分用e(或E)連接。e(或E)代表10的冪次例如1.273E+2等。六、浮點數(shù)1、浮點常量1)十進制小數(shù)形式:與數(shù)學(xué)上的實數(shù)表示相同。如1指數(shù)部分可以省略(相當(dāng)于用小數(shù)表示法)。浮點常量的構(gòu)成規(guī)則是:整數(shù)部分可以不寫,小數(shù)部分也可以不寫,但不能同時不寫。如有指數(shù)部分,則字母E(e)前必須有數(shù)字,該數(shù)字可以為整數(shù)也可以為小數(shù);字母E(e)后必須為整數(shù)(范圍為1到3位的整數(shù)),可以為正或負(fù),正號可以省略。所有的指數(shù)都是整數(shù)指數(shù)部分可以省略(相當(dāng)于用小數(shù)表示法)。浮點常量的構(gòu)成規(guī)則是2、浮點變量在標(biāo)準(zhǔn)C語言中,浮點數(shù)分為單精度(float型)、雙精度(double型),有的C版本還支持長雙精度型(longdouble)。1)單精度型。類型關(guān)鍵字為float,一般占4字節(jié)(32位)、其數(shù)值表示范圍為10-37~1038,提供7位有效數(shù)字,保留6位小數(shù)位。如floata,b;2)雙精度型。類型關(guān)鍵字為double,一般占8個字節(jié)(64位)、其數(shù)值范圍為10-307~10308,提供15~16位有效數(shù)字。如doublec,d;2、浮點變量在標(biāo)準(zhǔn)C語言中,浮點數(shù)分為單精度(float型)注意:C編譯系統(tǒng)將浮點常量作為雙精度(double型)來處理。浮點常量也象整型常量一樣,如果浮點常量超過了機器所能表示的范圍,否則發(fā)生溢出,得不到一個正確的數(shù)值。注意:C編譯系統(tǒng)將浮點常量作為雙精度(double型)來處理格式字符意義

f以小數(shù)形式輸出單、雙精度實數(shù)

e,E以指數(shù)形式輸出單、雙精度實數(shù)3、用printf顯示浮點數(shù)據(jù)輸出浮點數(shù)可以用的轉(zhuǎn)換說明符是%f和%e。輸出雙精度(double)類型時,還需要加上字母l。格式字符意義3、用printf顯輸出浮點數(shù)不僅可以控制域?qū)?,還可以控制小數(shù)部分的輸出位數(shù)(精度)。方法是在在%與f(或e)之間加上兩個數(shù)字并在這兩個數(shù)字之間加上一個句點“.”。例如%10.3f表示輸出格式是域?qū)?0,有效位3。注意:1)域?qū)挷皇侵刚麛?shù)位的域?qū)?,而是整個浮點數(shù)的域?qū)?,還包括了小數(shù)點,小數(shù)位。如果不指定域?qū)捄途龋J(rèn)的精度是6。輸出浮點數(shù)不僅可以控制域?qū)?,還可以控制小數(shù)部分的輸出位數(shù)(精2)如果指定的域?qū)挻笥谒@示的數(shù)的實際域?qū)挘从玫奈恢糜每崭裉顚?。如果指定的域?qū)捫∮谒@示的數(shù)的實際域?qū)?,按?shù)的實際域?qū)掞@示。3)左對齊符號同樣適用于浮點數(shù)。2)如果指定的域?qū)挻笥谒@示的數(shù)的實際域?qū)?,未用的位置用空?、用scanf輸入浮點數(shù)據(jù)

浮點數(shù)的輸入也是使用轉(zhuǎn)換字符f和e,直接使用%f和%e可以輸入float類型數(shù)據(jù),使用%lf和%le則輸入double類型數(shù)據(jù)。4、用scanf輸入浮點數(shù)據(jù)浮點數(shù)的輸入也是使用轉(zhuǎn)換字符f練習(xí)1main(){intn1=123;longn2=123456;printf("n1=%d,n1=%5d,n1=%5d,n1=%2d\n",n1,n1,n1,n1);printf("n2=%ld,n2=%8ld,n2=%5ld\n",n2,n2,n2);printf("n1=%ld\n",n1);}

練習(xí)1程序運行結(jié)果如下:n1=123,n1=□□123,n1=123□□,n1=123n2=123456,n2=□□123456,n2=123456n1=16908411 對于整數(shù),還可用八進制、無符號形式(%o(小寫字母o))和十六進制、無符號形式(%x)輸出。對于unsigned型數(shù)據(jù),也可用%u格式符,以十進制、無符號形式輸出。所謂無符號形式是指,不論正數(shù)還是負(fù)數(shù),系統(tǒng)一律當(dāng)作無符號整數(shù)來輸出。例如,printf("%d,%o,%x\n",-1,-1,-1);程序運行結(jié)果如下:對于整數(shù),還可用八進制、無符號形式(%o(類型轉(zhuǎn)換字符f的使用。main(){floatf=123.456;doubled1,d2;d1=1111111111111.111111111;d2=2222222222222.222222222;printf("%f,%12f,%12.2f,%-12.2f,%.2f\n",f,f,f,f,f);printf("d1+d2=%f\n",d1+d2);} 程序運行結(jié)果如下:

123.456001,□□123.456001,□□□□□□123.46,123.46□□□□□□,123.46d1+d2=3333333333333.333010 類型轉(zhuǎn)換字符f的使用。程序運行結(jié)果如下:1、字符常量字符常量就是用兩個單引號將一個字符括起來。如‘a(chǎn)’、‘b’在C語言中,字符常量具有數(shù)值特性,字符量的值就是此字符的ASCII碼值。例如‘A’對應(yīng)的ASCII碼值是65。七、字符型數(shù)據(jù)1、字符常量在C語言中,字符常量具有數(shù)值特性,字符量的值就是注意:1)引號中的字符只能是一個字符。如‘a(chǎn)b’是錯誤的。2)不能用雙引號括起一個字符表示單個字符常量。例如“a”是錯誤的。3)字符型常量在內(nèi)存中占用一個字節(jié),存放的是字符的ASCII值。所有的字符常量作為整型量進行運算,并且可參與各種操作。注意:1)引號中的字符只能是一個字符。如‘a(chǎn)b’是錯誤的。24)一些非圖形字符,如退格、換行等,也可以表示成字符型常量。表示方法是用轉(zhuǎn)義符“\”與一些特殊字符構(gòu)成轉(zhuǎn)義字符(轉(zhuǎn)義序列)。例如’\n’表示回車換行。

轉(zhuǎn)義字符是一種特殊形式的字符常量,它表示將“\”后的字符轉(zhuǎn)換成另外的意義。又如’\f’不代表字母f而是指“換頁,將當(dāng)前位置移到下頁開頭。具體可參見表1.24)一些非圖形字符,如退格、換行等,也可以表示成字符型常量。2、字符變量用來存放字符常量,并且只能放一個字符。定義形式:charc1,c2;

賦值:c1=‘a(chǎn)’;c2=‘b’;注意:一個字符型變量在內(nèi)存中只占一個字節(jié)。2、字符變量用來存放字符常量,并且只能放一個字符。定義形式:特性:字符數(shù)據(jù)在內(nèi)存中存儲的是字符的ASCII碼──一個無符號整數(shù),其形式與整數(shù)的存儲形式一樣,所以C語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。特性:字符數(shù)據(jù)在內(nèi)存中存儲的是字符的ASCII碼──一個無3、用printf顯示字符使用轉(zhuǎn)換說明%c就可以輸出單個字符。可參見例2.8注意:一個字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。3、用printf顯示字符使用轉(zhuǎn)換說明%c就可以輸出單個字4、用scanf輸入字符同樣,%c也可以用于控制輸入單個字符。在輸入字符時,要注意:空格和轉(zhuǎn)義字符均作為有效字符被輸入。例如,scanf("%c%c%c",&a,&b,&c);printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3);4、用scanf輸入字符同樣,%c也可以用于控制輸入單個字符假設(shè)輸入:A□B□C↙,則系統(tǒng)將字母'A'賦值給a,空格'□'賦值給b,字母'B'賦值給c。只有當(dāng)輸入為:ABC時,才能把‘A'賦于a,‘B'賦予b,‘C賦予c。如果在格式控制中加入空格作為間隔,如:scanf("%c%c%c",&a,&b,&c);則輸入時各數(shù)據(jù)之間可加空格。假設(shè)輸入:A□B□C↙,則系統(tǒng)將字母'A'賦值給a,空格'□5、用getchar輸入字符和putchar輸出字符C語言還提供了2個函數(shù)用于字符的輸入和輸出。getchar函數(shù)用于輸入一個字符。putchar函授用于輸出一個字符。使用這2個函數(shù)一定要在程序首部加上#include“stdio.h”

(stdio.h是standardinput&output的縮寫,它包含了與標(biāo)準(zhǔn)I/O庫有關(guān)的變量定義和宏定義。)5、用getchar輸入字符和putchar輸出字符C語言還getchar函數(shù)用法1)getchar()函數(shù)的格式:getchar();2)getchar()函數(shù)的作用:從一個標(biāo)準(zhǔn)輸入設(shè)備(如鍵盤)輸入一個字符。3)getchar()函數(shù)只能用于單個字符的輸入,一次輸入一個字符。getchar()函數(shù)得到的字符可以賦給一個字符變量或整型變量,也可以不賦給任何變量,作為表達(dá)式的一部分。如putchar(getchar());getchar函數(shù)用法1)getchar()函數(shù)的格式:ge4)和scanf()函數(shù)一樣,在TC屏幕下運行含本函數(shù)程序時,將退出TC屏幕進入用戶屏幕等待用戶輸入。輸入完畢再返回TC屏幕??蓞⒁妏15例1.94)和scanf()函數(shù)一樣,在TC屏幕下運行含本函數(shù)程序時putchar函數(shù)用法1)putchar()函數(shù)的格式:putchar(ch);其中ch可以是一個字符變量或常量,也可以是一個轉(zhuǎn)義字符。2)putchar()函數(shù)的作用:向終端(屏幕)輸出一個字符。putchar函數(shù)用法1)putchar()函數(shù)的格式:2)C語言的基本知識概括(4)括號:一、字符集和標(biāo)識符1、字符集:字符集是高級語言的編譯系統(tǒng)所能識別的字母、數(shù)字和特殊符號。C語言的字符集包括:(1)英文字母:大小寫各26個,共計52個;(2)阿拉伯?dāng)?shù):0、1、2、3、4、5、6、7、8、9 共10個數(shù)字;(3)運算符:+、-、*、/、%.......

C語言的基本知識概括(4)括號:一、字符集和標(biāo)識符1C語言的基本知識概括(7)空白符:空格符、換行符、制表符。(5)標(biāo)點符號:‘、“、:、;(6)特殊符號:\_$#

C語言的基本知識概括(7)空白符:空格符、換行符、制二、標(biāo)識符概念:就是用來標(biāo)識變量名、符號常量名、函數(shù)名、類型名、文件名等的有效字符序列。(1)標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。定義規(guī)則:如:_1yearmonthstudent_namesum0M.D.Jones$123#a3b?ca=b二、標(biāo)識符概念:就是用來標(biāo)識變量名、符號常量名、函數(shù)名、類型(2)在C語言中,大小寫字母不等效。因此,a和A,I和i,Sum和sum,分別是兩個不同的標(biāo)識符。(3)用戶自定義的標(biāo)識符不能與保留字(關(guān)鍵字)同名。(4)標(biāo)識符的一般長度(即一個標(biāo)識符允許的字符個數(shù))一般規(guī)定取前8個字符為有效字符,多余的將不被識別。(2)在C語言中,大小寫字母不等效。因此,a和A,I和i,S1)關(guān)鍵字標(biāo)識符:又稱為命令符,在程序中有特定的含義。不能另作它用,其他字符無法直接替代它。(參看32個關(guān)鍵字)分類:在C語言中,標(biāo)識符分為3類:關(guān)鍵字標(biāo)識符、預(yù)定義標(biāo)識符、用戶標(biāo)識符(自己定義)。2)預(yù)定義標(biāo)識符:在C語言中,一般是指C語言提供的庫函數(shù)名和預(yù)編譯處理命令(如printf、define)C語言允許這些標(biāo)識符另作它用,但將使這些標(biāo)識符失去了系統(tǒng)規(guī)定的原意。為了編程時方便、可靠、避免誤解,一般把這些標(biāo)識符固定使用。3)用戶標(biāo)識符:在編程時,用戶需要給一些變量、函數(shù)、數(shù)組、文件等命名,這類由用戶自己定義的標(biāo)識符稱為用戶標(biāo)識符。1)關(guān)鍵字標(biāo)識符:又稱為命令符,在程序中有特定的含義。不能另關(guān)鍵字概念:就是具有特定含義的標(biāo)識符,用戶不能用來作自定義標(biāo)識符。C語言中的關(guān)鍵字較少,由ANSI標(biāo)準(zhǔn)推薦的關(guān)鍵字有32個。常用的有:(1)與數(shù)據(jù)類型有關(guān)的(14):charintfloatdoublesignedunsignedshortlongvoidstructuniontypedefenumsizeof關(guān)鍵字概念:就是具有特定含義的標(biāo)識符,用戶不能用來作自定義標(biāo)(3)

與程序控制結(jié)構(gòu)有關(guān)的(12):

dowhileforifelseswitchcase

defaultgotocontinue

breakreturn (2)與存儲類別有關(guān)的:

autoexternregisterstatic

(3)與程序控制結(jié)構(gòu)有關(guān)的(12):(2)與存儲類別有關(guān)的三、常量和變量1、常量概念:在程序運行中,其數(shù)值不能被改變的量。2、變量概念:在程序運行中,其數(shù)值能夠改變的量。數(shù)據(jù)有常量和變量之分。三、常量和變量1、常量概念:在程序運行中,其數(shù)值不能被改變的(一)常量和符號常量常量:在程序運行過程中值不能改變的量??煞譃椴煌念愋汀語言中有3種常量:算術(shù)型運算常量(如整型常量、實型常量等)、字符型常量(如字符常量、字符串常量)以及標(biāo)識符所定義的常量(符號常量)。符號常量:用一個標(biāo)識符來代表一個常量,也就是標(biāo)識符形式的常量,它的值在其作用域中不能改變,也不能再被賦值。習(xí)慣上符號常量名一般用大寫字母表示。使用符號常量的好處:(1)含義清楚,在定義符號常量名時最好考慮“見名知意”。(2)在需要改動一個常量時能做到“一改全改”。

(一)常量和符號常量符號常量:用一個標(biāo)識符來代表一個常量,也(二)變量其值可以改動的量稱做變量,一個變量應(yīng)該有一個名字,在內(nèi)存中占據(jù)一定的存儲單元。在該存儲單元中存放變量的值。變量定義必須放在變量使用之前。一般放在函數(shù)體的開頭部分。要區(qū)分變量名和變量值是兩個不同的概念。(二)變量變量定義必須放在變量使用之前。一般放在函數(shù)體的開頭變量名實質(zhì)是個符號地址,由系統(tǒng)來分配給它,每次程序中讀取變量值,實際上就是通過變量名找到相應(yīng)的內(nèi)存地址,并從其存儲單元中讀取數(shù)據(jù)。注意:在C語言中,要求對所有用到的變量“先定義,后使用”。

變量名實質(zhì)是個符號地址,由系統(tǒng)來分配給它,每次程序中讀取變量

inta,b,c;floatx,y;charc1,c2;或intc1,c2;

自己設(shè)定,滿足標(biāo)識符的規(guī)定。如:int,float,char;不可省變量定義形式:類型標(biāo)識符變量名1[,變量名2,變量名3,...];例如:inta,b,c;自己設(shè)定,滿足標(biāo)識符

類型說明符指定了變量的數(shù)據(jù)類型,例如int、char,變量名一般用小寫字母表示,命名規(guī)則要符合用戶自定義標(biāo)識符規(guī)則,最好也做到“見名知意“,長度不超過8個字符,并且最好選取有含義的英文單詞(或其縮寫)作標(biāo)識符。除了數(shù)值計算程序外,一般不要用代數(shù)符號做變量名,以增加程序的可讀性。類型說明符指定了變量的數(shù)據(jù)類型,例如int、char,變量

字符型(char)整型(short,int,long,unsigned)

基本類型數(shù)值類型單精度型(float)實型雙精度型(double)枚舉類型(enum)

數(shù)據(jù)類型數(shù)組類型([])構(gòu)造類型結(jié)構(gòu)體類型(struct)共用體類型(union)指針類型(*)空類型(void)四、C語言的數(shù)據(jù)類型:四、C語言的數(shù)據(jù)類型:

1、基本數(shù)據(jù)類型:特點:它的值不可以再分解為其它類型。也就是說,基本數(shù)據(jù)類型是自我說明的。

2、構(gòu)造數(shù)據(jù)類型:構(gòu)造數(shù)據(jù)類型是根據(jù)已定義的一個或多個數(shù)據(jù)類型用構(gòu)造的方法來定義的。也就是說,一個構(gòu)造類型的值可以分解成若干個“成員”或“元素”。每個“成員”都是一個基本數(shù)據(jù)類型或又是一個構(gòu)造類型。在C語言中,構(gòu)造類型有以下幾種:

·數(shù)組類型

·結(jié)構(gòu)體類型

·共用體(聯(lián)合)類型1、基本數(shù)據(jù)類型:特點:它的值不可以再分解為其它類型。也就3、指針類型:指針是一種特殊的,同時又是具有重要作用的數(shù)據(jù)類型。其值用來表示某個變量在內(nèi)存儲器中的地址。4、空類型:在調(diào)用函數(shù)值時,通常應(yīng)向調(diào)用者返回一個函數(shù)值。這個返回的函數(shù)值是具有一定的數(shù)據(jù)類型的,應(yīng)在函數(shù)定義及函數(shù)說明中給以說明,例如在例1.3中給出的show函數(shù)定義中,函數(shù)頭為:voidshow(x,y);void表明調(diào)用后并不需要向調(diào)用者返回函數(shù)值。在本章中,我們先介紹基本數(shù)據(jù)類型中的整型、浮點型和字符型。其余類型在以后各章中陸續(xù)介紹。3、指針類型:指針是一種特殊的,同時又是具有重要作用的數(shù)據(jù)類1、整型常量有三種表現(xiàn)形式:十進制形式:與數(shù)學(xué)上的整數(shù)表示相同。例如:12,-100,0八進制形式:在數(shù)碼前加數(shù)字0。例如:012=1*81+2*80=10(十進制)十六進制形式:在數(shù)碼前加0X(數(shù)字0和字母X,大小寫均可)。例如:0x12=1*161+2*160=18(十進制)五、整型數(shù)據(jù)1、整型常量十進制形式:與數(shù)學(xué)上的整數(shù)表示相同。

十六進制的數(shù)碼除了數(shù)字0-9外,

還使用英文字母a-f(或A-F)表示10-15。如:0x1e、0Xabcdef、0x1000

但:0X2defg、0x100L都是錯誤的。注意事項:

八進制的數(shù)碼范圍為0--7;則:018、091、0A2都是錯誤的數(shù)據(jù)表示方法。十六進制的數(shù)碼除了數(shù)字0-9外,注意事項:八進制的數(shù)碼范2、整型變量(一)整型變量的分類基本型,以int表示。短整型,以shortint表示,或以short表示。長整型,以longint表示,或以long表示。無符號型,其中無符號型又分為無符號整型,無符號短整型和無符號長整型,分別以unsignedintunsignedshortunsignedlong表示。2、整型變量(一)整型變量的分類基本型,以int表示。短整型intx;longy;2000200120022005xy內(nèi)存內(nèi)存地址20032004intx;2000200120022005xy內(nèi)存內(nèi)存地整型數(shù)據(jù)的取值范圍數(shù)據(jù)類型取值范圍int-32768-32767shortint-32768-32767longint-2147483648-2147483647unsignedint0-65535unsignedshort0-65535unsignedlong0-4294967295整型數(shù)據(jù)的取值范圍數(shù)據(jù)類型取值范圍int-32768-32、整型常量的類型在將一個整型常量賦給一個整型變量時如何進行類型匹配?其值在-32768-+32767范圍內(nèi),認(rèn)為它是int型,它可以賦值給int型和longint型變量。其值在-2147483648-+2147483647范圍內(nèi),則認(rèn)為它是longint型,可以將它賦值給一個longint型變量。.短整型常量:.長整型常量:2、整型常量的類型其值在-32768-+32767范圍內(nèi).如果某一計算機系統(tǒng)的C版本確定的shortint

與int型數(shù)據(jù)在內(nèi)存中占據(jù)的長度相同,則它的表示范圍與int型相同。我們所用的TURBOC是一樣的因此一個int型的常量也同時是一個shortint型常量,可以賦值給int型或shortint型變量。.如果某一計算機系統(tǒng)的C版本確定的shortint與數(shù)據(jù)后加一個字母1或L,則認(rèn)為是longint型常量.

.長整型常量的表示:例如:1231,432L,0L等等。

這往往用于函數(shù)調(diào)用中,如果函數(shù)的形參為longint型,則要求實參也為longint型,此時用123作實參不行,而要用123L作實參。數(shù)據(jù)后加一個字母1或L,則認(rèn)為是longint型常量.一般格式:printf(格式控制(或者稱格式字符串),輸出表列)如printf(“%d,%c\n”,i,c)3、用printf顯示整型數(shù)據(jù)printf()函數(shù)的作用:向計算機系統(tǒng)默認(rèn)的輸出設(shè)備(一般指終端或顯示器)輸出一個或多個任意類型的數(shù)據(jù)。一般格式:3、用printf顯示整型數(shù)據(jù)printf()函②普通字符:即原樣輸出的字符。(1)“格式控制”是用雙撇號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息:①格式說明,由“%”和格式字符組成,如%d,%f等。它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換成指定的格式輸出。格式說明必須用“%”開頭,以一個格式控制符結(jié)束,在格式字符的前面還可以插入“寬度說明”、坐對齊符號“-”等附加字符。②普通字符:即原樣輸出的字符。(1)“格式控制”是用雙撇號括如果要輸出的數(shù)據(jù)不止1個,相鄰2個之間用逗號分開。下面的printf()函數(shù)都是合法的:(1)printf("%d%d",a,b);

(2)printf("%d",3+2);

(3)printf("a=%fb=%5d\n",a,a+3);

(2)“輸出表列”是需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。如果要輸出的數(shù)據(jù)不止1個,相鄰2個之間用逗號分開。下面的pr格式字符意義

d以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)o以八進制形式輸出無符號整數(shù)(不輸出前綴0)x,以十六進制形式輸出無符號整數(shù)(不輸出前綴Ox)u以十進制形式輸出無符號整數(shù)(正整數(shù))

對于整型數(shù)據(jù)常用的輸出格式有:格式字符2)如果顯示的整數(shù)是長整型數(shù),一定要在轉(zhuǎn)換字符前加l

注意:1)除了%d,其余的格式都將數(shù)據(jù)作為無符號數(shù)輸出?注意試一試,看%o\%x能否輸出負(fù)數(shù)3)注意域?qū)挕R方式以及普通字符的輸出。2)如果顯示的整數(shù)是長整型數(shù),一定要在轉(zhuǎn)換字符前加l注意:一般格式:

scanf(“格式信息”,地址表列);5、用scanf輸入整型數(shù)據(jù)函數(shù)介紹scanf()函數(shù)稱做格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。一般格式:5、用scanf輸入整型數(shù)據(jù)函數(shù)介紹其中,“格式信息”與printf()函數(shù)用法相似,通過在格式信息字符串中使用%和轉(zhuǎn)換字符來指定不同數(shù)據(jù)類型數(shù)據(jù)的輸入方式,地址表列中給出各變量的地址。地址是由地址運算符“&”后跟變量名組成的。其中,“格式信息”與printf()函數(shù)用法相似,通過在格式按指定的寬度結(jié)束。例如“%3d”,只取3列。使用scanf函數(shù)時應(yīng)注意的問題:

1)輸入數(shù)據(jù)時,遇到以下情況,系統(tǒng)認(rèn)為該數(shù)據(jù)結(jié)束:遇到空格,或者回車鍵,或者Tab鍵。遇到非法輸入。例如,在輸入數(shù)值數(shù)據(jù)時,遇到字母等非數(shù)值符號(數(shù)值符號僅由數(shù)字字符0-9、小數(shù)點和正負(fù)號構(gòu)成)。按指定的寬度結(jié)束。例如“%3d”,只取3列。使用scanf函假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為:12,36↙2)“格式信息”中出現(xiàn)的除格式轉(zhuǎn)換以外的字符,則在輸入數(shù)據(jù)時在對應(yīng)位置輸入與這些字符相同的字符。例如:scanf("%d,%d",&num1,&num2);假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為1、浮點常量有二種表現(xiàn)形式:1)十進制小數(shù)形式:與數(shù)學(xué)上的實數(shù)表示相同。如127.32)指數(shù)形式:類似于數(shù)學(xué)中的指數(shù)形式。C語言中,它由整數(shù)部分、小數(shù)部分和指數(shù)部分組成。其中,前兩部分用小數(shù)點連接,后兩部分用e(或E)連接。e(或E)代表10的冪次例如1.273E+2等。六、浮點數(shù)1、浮點常量1)十進制小數(shù)形式:與數(shù)學(xué)上的實數(shù)表示相同。如1指數(shù)部分可以省略(相當(dāng)于用小數(shù)表示法)。浮點常量的構(gòu)成規(guī)則是:整數(shù)部分可以不寫,小數(shù)部分也可以不寫,但不能同時不寫。如有指數(shù)部分,則字母E(e)前必須有數(shù)字,該數(shù)字可以為整數(shù)也可以為小數(shù);字母E(e)后必須為整數(shù)(范圍為1到3位的整數(shù)),可以為正或負(fù),正號可以省略。所有的指數(shù)都是整數(shù)指數(shù)部分可以省略(相當(dāng)于用小數(shù)表示法)。浮點常量的構(gòu)成規(guī)則是2、浮點變量在標(biāo)準(zhǔn)C語言中,浮點數(shù)分為單精度(float型)、雙精度(double型),有的C版本還支持長雙精度型(longdouble)。1)單精度型。類型關(guān)鍵字為float,一般占4字節(jié)(32位)、其數(shù)值表示范圍為10-37~1038,提供7位有效數(shù)字,保留6位小數(shù)位。如floata,b;2)雙精度型。類型關(guān)鍵字為double,一般占8個字節(jié)(64位)、其數(shù)值范圍為10-307~10308,提供15~16位有效數(shù)字。如doublec,d;2、浮點變量在標(biāo)準(zhǔn)C語言中,浮點數(shù)分為單精度(float型)注意:C編譯系統(tǒng)將浮點常量作為雙精度(double型)來處理。浮點常量也象整型常量一樣,如果浮點常量超過了機器所能表示的范圍,否則發(fā)生溢出,得不到一個正確的數(shù)值。注意:C編譯系統(tǒng)將浮點常量作為雙精度(double型)來處理格式字符意義

f以小數(shù)形式輸出單、雙精度實數(shù)

e,E以指數(shù)形式輸出單、雙精度實數(shù)3、用printf顯示浮點數(shù)據(jù)輸出浮點數(shù)可以用的轉(zhuǎn)換說明符是%f和%e。輸出雙精度(double)類型時,還需要加上字母l。格式字符意義3、用printf顯輸出浮點數(shù)不僅可以控制域?qū)?,還可以控制小數(shù)部分的輸出位數(shù)(精度)。方法是在在%與f(或e)之間加上兩個數(shù)字并在這兩個數(shù)字之間加上一個句點“.”。例如%10.3f表示輸出格式是域?qū)?0,有效位3。注意:1)域?qū)挷皇侵刚麛?shù)位的域?qū)挘钦麄€浮點數(shù)的域?qū)?,還包括了小數(shù)點,小數(shù)位。如果不指定域?qū)捄途?,默認(rèn)的精度是6。輸出浮點數(shù)不僅可以控制域?qū)?,還可以控制小數(shù)部分的輸出位數(shù)(精2)如果指定的域?qū)挻笥谒@示的數(shù)的實際域?qū)?,未用的位置用空格填寫。如果指定的域?qū)捫∮谒@示的數(shù)的實際域?qū)?,按?shù)的實際域?qū)掞@示。3)左對齊符號同樣適用于浮點數(shù)。2)如果指定的域?qū)挻笥谒@示的數(shù)的實際域?qū)挘从玫奈恢糜每崭?、用scanf輸入浮點數(shù)據(jù)

浮點數(shù)的輸入也是使用轉(zhuǎn)換字符f和e,直接使用%f和%e可以輸入float類型數(shù)據(jù),使用%lf和%le則輸入double類型數(shù)據(jù)。4、用scanf輸入浮點數(shù)據(jù)浮點數(shù)的輸入也是使用轉(zhuǎn)換字符f練習(xí)1main(){intn1=123;longn2=123456;printf("n1=%d,n1=%5d,n1=%5d,n1=%2d\n",n1,n1,n1,n1);printf("n2=%ld,n2=%8ld,n2=%5ld\n",n2,n2,n2);printf("n1=%ld\n",n1);}

練習(xí)1程序運行結(jié)果如下:n1=123,n1=□□123,n1=123□□,n1=123n2=123456,n2=□□123456,n2=123456n1=16908411 對于整數(shù),還可用八進制、無符號形式(%o(小寫字母o))和十六進制、無符號形式(%x)輸出。對于unsigned型數(shù)據(jù),也可用%u格式符,以十進制、無符號形式輸出。所謂無符號形式是指,不論正數(shù)還是負(fù)數(shù),系統(tǒng)一律當(dāng)作無符號整數(shù)來輸出。例如,printf("%d,%o,%x\n",-1,-1,-1);程序運行結(jié)果如下:對于整數(shù),還可用八進制、無符號形式(%o(類型轉(zhuǎn)換字符f的使用。main(){floatf=123.456;doubled1,d2;d1=111

溫馨提示

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

評論

0/150

提交評論