第03數(shù)據(jù)類型與輸入輸出1._第1頁
第03數(shù)據(jù)類型與輸入輸出1._第2頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、鼻 第3章 基本數(shù)據(jù)類型與 數(shù)據(jù)的輸入輸出 31 C語言的基本數(shù)據(jù)類型簡介 3.2標(biāo)識(shí)符、常量、變量 33基本數(shù)據(jù)類型 34數(shù)據(jù)的輸入與輸出 3.1 C語言的基本數(shù)據(jù)類型簡介 J 整型(int) 廠基本類型 字符型(畑) 單精度型(float) I 實(shí)型(浮點(diǎn)型)雙(J 度型(double) 數(shù)組類型 數(shù)據(jù)類型構(gòu)造類型 J 結(jié)構(gòu)體類型(struct) I 共用體類型(union) J 菠傘契型(enum) 指針類型 I 無值型(void) 32標(biāo)識(shí)符、常量、變量 3.2.1 標(biāo)識(shí)符 1 標(biāo)識(shí)符 標(biāo)識(shí)符:用來標(biāo)識(shí)變量名、函數(shù)名、數(shù)組名、類 型名和文件名的有效字符序列。 用戶定義標(biāo)識(shí)符時(shí)要注意以下

2、規(guī)則: (1) 標(biāo)識(shí)符由字母.數(shù)字、下劃線組成 (2) 數(shù)字不能打頭 (3) 標(biāo)識(shí)符區(qū)分大小寫 如 SUIVI 與 sum 代表不同的標(biāo)識(shí)符。 (4)不能用 C 語言的關(guān)鍵字 如 charjnt 等關(guān)鍵字,已被 C 系統(tǒng)使用,不能用 作變量名。 正確 不正確 smart Ssniart 第一個(gè)字符不是字母或下劃線 decision bomb? key_board FLOAT key.board float 含有非法字符? 含有非法字符. 不能用 Turbo C 保留字 PI a+b 含有非法字符“+片 下面舉出幾個(gè)正確和不正確的標(biāo)識(shí)符: 2標(biāo)識(shí)符的種類 在 Turbo C 中標(biāo)識(shí)符有以下三種:

3、 (1)關(guān)鍵字:所謂關(guān)鍵字就是已被 Turbo C2.0 本 身使用,不能作其它用途使用的字。 (2)編譯預(yù)處理的命令單詞:如:#inchide、 #define 等。 (3)用戶標(biāo)識(shí)符:用戶自己定義的變量名、常量 名、函數(shù)名等。 由ANSI標(biāo)準(zhǔn)定義的Turbo C2.0關(guān)鍵字 有以下共32個(gè): auto double int long switch case char extern return short unsigned continue default goto sizeof while static struct break else enum register typedef un

4、ion const float for signed void volatile do if 3.2.2常量 常量是指程序運(yùn)行過程中不能變化的量,分為兩 種:數(shù)值常量和字符常量。 1 數(shù)值常量 數(shù)值常量有兩種:整型常量和實(shí)型常量,分別表 示整數(shù)和實(shí)數(shù) (1)整型常量:如:207, 30, 181。 有十進(jìn)制、八進(jìn)制、十六進(jìn)制等。 2)八進(jìn)制整數(shù):如 012=(10) , 017= (15)10 3)十六進(jìn)制整數(shù):如 Oxl2=(18)lo 0 xlf=) 整型常量的三種形式: 1)十進(jìn)制整數(shù):如:12.()、3 十六進(jìn)制數(shù)碼:( (M9,b, 符號(hào)常量:用標(biāo)識(shí)符代表一常量。 #define 常

5、量名 整常數(shù)值 #define M 30 表示定義了一個(gè)符號(hào)常量 M,它的值為 30 例:#define PI 3.1416 main() float s, r=2; s= Pl * r * r; print area = %f H,s); (2)實(shí)型常量 帶小數(shù)點(diǎn)的數(shù)。 實(shí)數(shù)的兩種形式: 小數(shù)形式: 例如:2.14 指數(shù)形式: 例如:2.31el0 表示 2.31X1010 實(shí)數(shù)的兩種類型: 單精度(67 位有效位數(shù)) 雙精度(1516 位有效位數(shù)) (1)用單引號(hào)括起來的一個(gè)字符:如處,、F、IT等。 其實(shí)際值足字符的ASCII碼值. 轉(zhuǎn)義字符:(見表31)是以開頭的特殊字符。 表示控制字

6、符。如 換行 t跳格 b回退一格r回車 表示特殊符號(hào)。如、”、等。 例:printf(nI say:M HeIlo!V nM); 結(jié)果顯示:Isay: M Hello!M ddd(ddd表示逾八建制數(shù)表示的ASCII碼),表示任何字 符。 xhh(hh表示2位十六進(jìn)制表示的ASCII碼)表示任何字符。 2字符常量 如*x6r= *141*= *3*, *012f = Xn* printf(nabtcdefgbhijknM); printf(MABCDefgrEFGH012n); printf(Hc:examtest ); EFGHefg c:examtest 其值可以改變的量稱為變量。每個(gè)變量

7、有名字, 在內(nèi)存中占一定的存儲(chǔ)空間,用來存放數(shù)據(jù)。 1 變量定義 類型名變量名列表; 變量名列表 例如: 運(yùn)行結(jié)果: ab cdethijk 例轉(zhuǎn)義字符的使用 main() 3.2.3變量 int i,j, k; long c; 3.3基本數(shù)據(jù)類型 整型(int)、實(shí)數(shù)類型(float 或 double).字符型 (char)o 3.3.1 整型(int) 1 整型變量定義 整數(shù)類型變量名; Turbo C有幾種整型(int)數(shù)據(jù),見表32所示 類型 簡寫 字長 說明 數(shù)的范圍 signed short int short 或 int. 2 字節(jié) 有符號(hào)短整型數(shù) -32768-32767 si

8、gned long int long 4 字節(jié) 有符號(hào)長整型數(shù) -2I4748364S -2147483647 unsigned short int unsigned int 2 字節(jié) 無符號(hào)短整型數(shù) 0-65535 unsigned long int unsigned long 4 字節(jié) 無符號(hào)長整型數(shù) 0-4294967295 例如:定義幾個(gè)不同的變量。 匚 int a. b. c; unsigned int d. e;按有無符號(hào)分有符號(hào) 無符號(hào) 按數(shù)據(jù)長短 長整數(shù) 短整數(shù) abc取值范圍: 32768 +32767。 d疋兩個(gè)變量定義為無符號(hào)整數(shù),數(shù)值范圍: 0 65535之間。 2整型

9、數(shù)的存儲(chǔ)形式 數(shù)據(jù)在內(nèi)存中以二進(jìn)制形式存放。 一個(gè) inf 型數(shù)據(jù)占 2 字節(jié),即 16 位二進(jìn)制數(shù)位。 一個(gè) lonj? int 型數(shù)據(jù)占 4 字節(jié). 例:10(int 型)的占位情況:0000 0000 0000 1010 有符號(hào)數(shù):負(fù)數(shù)將以補(bǔ)碼形式存放。 例: 10 的補(bǔ)碼 1 (MM) 0000 ()000 1010 1 111 1111 1111 0110 補(bǔ)碼=原碼取反+1 符號(hào)位 3整型變量賦值及其說明 (1)變量的初始化。 int a=3, b=100; unsigned long c=65535 ; (2)八進(jìn)制數(shù)、十六進(jìn)制數(shù). int f = 022; /*f 的值是八進(jìn)制

10、數(shù) 22,即十進(jìn)制的 18 */ (3)在整型常數(shù)后添加一個(gè)或”字母表示該數(shù) 為長整型數(shù)如 22L, 773L。 例如:long a=22L ; 如果表示為 0773L 表示該數(shù)為八進(jìn)制的長整型數(shù) 3.3.2 實(shí)數(shù)類型(float和double) 有 float、double 類型。 1 實(shí)數(shù)類型變量定義 v 實(shí)數(shù)類型變量列表; 三種:單精度實(shí)數(shù)、雙精度實(shí)數(shù)和長雙精度實(shí)數(shù)。 單精度實(shí)數(shù)(float) 4 字節(jié) 67 位有效數(shù)字 博精度實(shí)數(shù)叭皿)停 Z 位有效 可以用下列語句定義實(shí)數(shù)類型變量: float aj; double b; float a=12.5, f=0.12346; 2實(shí)數(shù)類型的

11、存儲(chǔ)形式 實(shí)數(shù)類型在內(nèi)存中以指數(shù)形式存儲(chǔ)。 例:float是單精度實(shí)數(shù)類型,占4字節(jié),內(nèi)存形式為:以 高24位表示小數(shù)部分,最高位表示符號(hào)位;低8位代表指 數(shù)部分。實(shí)數(shù)類型數(shù)3.1415926的存儲(chǔ)形式如 雙精度實(shí)數(shù)(double) 8 字節(jié) 1516 位有效數(shù)字 3 實(shí)數(shù)類型變量賦初值及其說明 例如:float a=29.56, f= -6.8e-18; 說明: (1)實(shí)數(shù)類型常數(shù)只有十進(jìn)制。 (2)所有實(shí)數(shù)類型常數(shù)都被默認(rèn)為 double 型。 (3)絕對值小于 1 的實(shí)型數(shù), 其小數(shù)點(diǎn)前面的零 可以省略。 如:022 可寫為.22, -0.0015E3 可寫為-.0015E-3o 1 字

12、符型變量的定義及存儲(chǔ) 字符型變量定義形式如下: 字符類型數(shù)據(jù)可分為有符號(hào)和無符號(hào)有兩種類型。 字符類型 變量 列表; 3.3.3 字符型(char) 例如: char a; unsigned char c; 字符型數(shù)據(jù)的存儲(chǔ) 字符在計(jì)算機(jī)中以其 ASCII 碼方式表示,其長度 占 1 個(gè)字節(jié)的存儲(chǔ)單元 9 有符號(hào)字符型數(shù)取值范圍為-128-127, 無符號(hào)字符型數(shù)取值范圍是 0255 在 Turbo C 語言中,字符型數(shù)據(jù)在操作時(shí)將按整 型數(shù)處理,如果某個(gè)變量定義成 char,則表明該 變量是有符號(hào)的,即它將轉(zhuǎn)換成有符號(hào)的整型 數(shù)(int)。 字符型數(shù)據(jù)的存儲(chǔ) 例 char c ; char

13、dLd2; 將字符賦給變量,就是將字符的ASCII碼 存放到變量所占的內(nèi)存單元中。為變量賦值:dl= ; d2 01100010 dl 01100001 例:將小寫字母轉(zhuǎn)換為大寫形式。 main() char cl,c2; cl-a;c2-b;相當(dāng)于 cl=97 ; c2=98; cl=cl-32; 相當(dāng)于 cl =97-32=65 ; c2=c2-32; 相當(dāng)于 c2=98-32=66 ; printf(n%c %c M ,cl ,c2); 運(yùn)行結(jié)果: AB 在字符型數(shù)的取值范圍內(nèi)字符型數(shù)據(jù)與整型數(shù) 據(jù)之間可以通用。 實(shí)際是對 ASCII 碼值進(jìn)行運(yùn)算。 例 main() char cl,c

14、2; cl=97;c2=98; printf(n%c ,%cM,cl,c2); printf(M%d,%dH,cl,c2); 運(yùn)行結(jié)果: a, b 97, 98 2 字符變量的賦值及字符常數(shù)表示 如也可用該字符的 ASCII 碼值表示。 char a=fAf; char a=65; char c = fnf; 一些不能用符號(hào)表示的控制符,只能用 ASCII 碼值 八進(jìn)制數(shù) 033 表示 Esc 字符串常量 字符串常量是一對雙引號(hào)括起來的字符序列。如: ftcomputcrft ftChinaM naw 規(guī)定:字符串的結(jié)尾有一個(gè)字符箭,作為字符串 的結(jié)束標(biāo)志(的 ASCII 碼值為 0)。 5”

15、實(shí)際存放形式是:*a* W,占兩個(gè)字節(jié)。 char c; c=naM;是錯(cuò)誤的。 C 語言中沒有字符串變量,存放字符串只能存放 在字符數(shù)組中。 3.4數(shù)據(jù)的輸入與輸出 輸入:指從外部輸入設(shè)備(如鍵盤)向計(jì)算機(jī)輸 入數(shù)據(jù)。 輸出:指計(jì)算機(jī)向外部輸出設(shè)備(如顯示器、打印 機(jī))輸出數(shù)據(jù)。 C 語言中用庫函數(shù)實(shí)現(xiàn)數(shù)據(jù)的輸入輸出。C 標(biāo)準(zhǔn) 函數(shù)庫中提供了一些標(biāo)準(zhǔn)輸入輸出函數(shù)。如 printf N scanf putchar getchar、puts、gets o 使用庫函數(shù)時(shí),要用預(yù)編譯命令 門# include 在頭文件中包含了與所調(diào)用函數(shù)有關(guān)的信息。 如:putchar() getchar() 3.

16、4.1字符輸出函數(shù) 函數(shù)的格式: putchar( ch ); 將變量 ch 中的內(nèi)容以一個(gè)字符形式輸出到屏幕上。 其中 ch 可以是字符型變量,也可以是整型變量, 還可以是字符型常量或整型常量。 【例32】putchar()函數(shù)的使用 char x = ,y = B; int i=97; putchar(x); putchar(y); putchar(C*); putchar(i); putchar(98); putcharC!*); /*輸出字符常量*/ /* C03_02.C */ include main() 程序的輸出結(jié)果如下: ABCab! putchar()也可以輸出轉(zhuǎn)義控制字符

17、。 如 putchar(rn );表示輸出換行符,即控制輸出位 置換到下一行的開頭。 #include main() char x= A 爲(wèi) y 二 *8*; putchar(x); putchar(*f); putchar(y); putchar(*n); putchar(C); putcharf*!*); c = getchar(); 鍔霹谿霍緞翼廳胸入個(gè)字符并將 例 33】撿入_個(gè)大寫超;|將酋芒誓嵯世|占 #inclu(le printf(11 Please input a c=getchar(); /* 輸入一個(gè)字符 */ c=c+32; 3.4.2字符輸入函數(shù) 程序的輸出結(jié)果如下:

18、 A B C! putchar(c); 使用getchar()函數(shù)應(yīng)注意以下兩點(diǎn): (1) getchar()函數(shù)可以作為 putchar()函數(shù)的參 數(shù),putchar(getchar(); (2)使用 getchar()函數(shù)時(shí), 回車鍵也會(huì)作為輸入 字符的一部分。尤其在連續(xù)使用getchar()函數(shù)時(shí) 要注意回車鍵將會(huì)作為換行符被下一 getcharO 所接受。 【例 3.4】連續(xù)使用 getcharO 時(shí)應(yīng)注意的問題。 /* C03_04.C / #includc main() char x; x=getchar(); y=gctchar(); putchar(x); putchar(y

19、); 要想為x輸入字符A,為y輸入字符B,則 輸入應(yīng)采用如下形式: AB J 運(yùn)行結(jié)果如下: A J A 輸出結(jié)果顯示: AB 1 343格式輸出函數(shù) printf(M格式控制”,輸出項(xiàng)列表); 按某種格式,向輸出設(shè)備輸出若干個(gè)指定類型的 數(shù)據(jù)。 printf ()函數(shù)的參數(shù)包括:格式控制和輸出項(xiàng)列 表兩部分。 格式控制部分要用一對雙撇號(hào)括起來,用于說明 輸出項(xiàng)所采用的格式; 輸出項(xiàng)列表是所要輸出的內(nèi)容,可以是變量、表 達(dá)式、或常量。 (1) )普通字符(包括轉(zhuǎn)義控制字符),將原樣輸出。 例:printf(HChinaM); 該例輸出普通字符串 China 例:printf(nt China

20、nM ); t輸出位置跳到下一個(gè)輸出區(qū)(一個(gè)輸出區(qū)為8個(gè)西文字 符位置),然后輸出字符串,最后輸出控制字符 5, 控制換行。 輸出結(jié)果如下: China格式控制部分又可分為:普通字符和格式說明兩部分。 (2)格式說明部分,以開頭,以格式說明符結(jié) 尾。用于控制輸巴數(shù)據(jù)的類型號(hào)形式。 例:printf(a $ b= b): 岸通?焙 U 式說話 列表 若設(shè) a 變量中的值是 10, b 變量的值是呃, 則輸出結(jié)果是: a= 10 b= E 格式控制中的各格式說明符與輸出項(xiàng)在個(gè)數(shù)、次序、類 型方面必須一一對應(yīng) 格式說明的一般格式如下: % -m.nl格式說明符 I定輸出項(xiàng)的類熨 附加說明符 格式說明

21、符:用單一字母表示,用來指定對應(yīng)輸出項(xiàng)的輸 出格式,其含義如下。 d 按十進(jìn)制有符號(hào)整型輸出 以八進(jìn)制無符號(hào)整數(shù)輸出 x 以十六進(jìn)制無符號(hào)整數(shù)輸出 匚 11 按十進(jìn)制無符號(hào)整型輸出 c 以字符格式輸出,只輸出一個(gè)字符. s 輸出字符串. 仁以小數(shù)形式輸出單、雙精度數(shù)輸出 6 位小數(shù). c 以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度數(shù). 如:%d一按十進(jìn)制有符號(hào)整型數(shù)輸出 % f 以小數(shù)形式輸出單、雙精度數(shù). _ 附加說明符的含義如下。 I :用于輸出long型數(shù)據(jù),如% I d, % I u m.n: 指定輸出域?qū)捈熬?,m和n都是正整數(shù) 左對齊輸出數(shù)據(jù)。 2整型格式說明符 (1)十進(jìn)制形式輸出 %md:控

22、制輸出項(xiàng)按十進(jìn)制有符號(hào)整數(shù)形式輸出。 m是一個(gè)整數(shù),用于指定輸出數(shù)據(jù)的最小占位寬度,若所 輸出數(shù)據(jù)的位數(shù)少于左端(高位)將以空格占位;若 輸出數(shù)據(jù)的位數(shù)大于in,則按數(shù)據(jù)的實(shí)際寬度輸岀;若省 略m則按所要輸出數(shù)據(jù)的實(shí)際長度輸出如: int a=123, b=12345; printf (Ma=%4d , b=%4d nM,a , h); printf C,sum=%8d, a+b); 輸出結(jié)果為: a= 123, b=12345 Sum Ru 12468 %mld:格式中的“廠符號(hào)用于輸出 long型數(shù)據(jù)。 long 型數(shù) 不能用d 格式輸出。如: long a= 123456; printf

23、(M%ldM,a); 輸出結(jié)果如下: 123456 printf(H%81dM, a); 的輸出結(jié)果為: M23456 % -nidsK% -mid: 表示輸出數(shù)據(jù)左對齊。 int a=123 ; long b= 12345; printf(H%4dn %-4dnfa ,a); printf(H%8ldn %81diT,b,b); 輸出結(jié)果為: J23 123- J 這是左對齊輸出的結(jié)果 223456 123456-2 J 這是左對齊輸出的結(jié)果 %imi 或%mlu:控制輸出項(xiàng)按十進(jìn)制無符號(hào)整型 數(shù)輸出。其中 m 和啲含義同前。 (2)八進(jìn)制形式 %mo:控制輸出項(xiàng)按八進(jìn)制整數(shù)形式輸出。 %mlo: 按八進(jìn)制長整數(shù)形式輸出。 (3)十六進(jìn)制形式 %mx:按十六進(jìn)制整數(shù)形式輸出。 %mlx:按十六進(jìn)制長整數(shù)形式輸出。 #include niain()

溫馨提示

  • 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

提交評論