Kiển dữ liệu, biến và hằng

8 408 0
Kiển dữ liệu, biến và hằng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chỉång II : Kiãøu dỉỵ liãûu, biãún v hàòng Trang 8 Ch−¬ng II. KIÃØU DỈỴ LIÃÛU, BIÃÚN V HÀỊNG I. Kiãøu dỉỵ liãûu: Kiãøu dỉỵ liãûu l táûp håüp cạc giạ trë m cạc biãún thüc kiãøu âọ cọ thãø nháûn âỉåüc. Mäùi kiãøu dỉỵ liãûu cọ mäüt säú phẹp toạn tỉång ỉïng. Cạc kiãøu dỉỵ liãûu âỉåüc phán loải nhỉ sau : II. Biãún v hàòng, cạc phẹp gạn cå bn: Biãún dng âãø lỉu dỉỵ liãûu cọ thãø thay âäøi giạ trë âỉåüc. Hàòng dng âãø lỉu dỉỵ liãûu khäng thãø thay âäøi. Biãún v hàòng l vng nhåï lỉu trỉỵ dỉỵ liãûu âỉåüc âàût tãn cho dãù truy cáûp (khäng phi dng âëa chè) . Trỉåïc khi sỉí dủng biãún v hàòng ta cáưn khai bạo trỉåïc. II.1. Khai bạo v khåíi tảo biãún: Khai bạo biãún : kiãøu_dỉỵ_liãûu danh_sạch_cạc_tãn_biãún Ta cọ thãø khai bạo nhiãưu biãún cng kiãøu cng mäüt lục, cạc biãún cạch nhau dáúu pháøy. Vê dủ : int dem, tam, x, y; float tr_binh; Khåíi tảo biãún : biãún = biãøu thỉïc Vê dủ : int x ; x = 10; hồûc : int x =10 ; Ta cáưn chụ x = y khäng phi l x bàòng y m l gạn giạ trë ca y vo x. Vê dủ : int x,y; y=x; kiãøu säú ngun kiãøu säú thỉûc kiãøu kê tỉû kiãøu logic kiãøu cå såí kiãøu vä hỉåïng tỉû âënh nghéa kiãøu liãût kã kiãøu vä hỉåïng âån gin kiãøu dỉỵ liãûu cọ cáúu trục kiãøu file kiãøu array kiãøu struct kiãøu con tr Kiãøu dỉỵ liãûu Chỉång II : Kiãøu dỉỵ liãûu, biãún v hàòng Trang 9 Ta nãn nhåï ràòng bäü nhåï mạy tênh khäng räùng khi mạy tênh lm viãûc. Cạc khäúi nhåï cáúp phạt cho biãún cọ thãø â cọ giạ trë trỉåïc âọ. Ta chỉa khåíi tảo x nãn ta khäng biãút âỉåüc giạ trë x. II.2. Khai bạo v khåíi tảo hàòng: Khai bạo hàòng : const kiãøu_dỉỵ_liãûu tãn_hàòng = giạ trë hàòng Vê dủ : const int so_luong = 50 ; const float sai_so = 0.5 ; II.3. Phẹp gạn: Biãún nháûn giạ trë qua phẹp gạn våïi dáúu bàòng : tãn_biãún = biãøu thỉïc Vê dủ : a = 5; // gạn cho a giạ trë l 5 b = a - 4; // tênh giạ trë a - 4 räưi gạn giạ trë âọ cho b Phẹp gạn kẹp : Vê dủ : a = b = c = 7 ; a = (b = 4 ) + ( c = 5 ) ; Khi ta sỉí dủng phẹp gạn kẹp, cáu lãûnh s ngàõn hån tuy nhiãn khäng nãn lảm dủng. III. Kiãøu säú ngun: Cạc kiãøu säú ngun l nhỉỵng táûp håüp con ca táûp Z, khäng phi l ton bäü táûp Z . • Cạc kiãøu säú ngun ca C våïi cạc di giạ trë khạc nhau : Kiãøu biãún Tỉì khoạ Säú byte Di giạ trë Character char 1 -128 ÷ 127 Integer int 2 -32768 ÷ 32767 Short integer short 2 -32768 ÷ 32767 Long integer long 4 -2147483648 ÷ 2147483647 Unsigned character unsigned char 1 0 ÷ 255 Unsigned integer unsigned int 2 0 ÷ 65535 Unsigned short integer unsigned short 2 0 ÷ 65535 Unsigned long integer unsigned long 4 0 ÷ 4294967295 Våïi táút c cạc kiãøu, ta chè nãn gạn cho biãún cạc giạ trë nàòm trong di giạ trë ca kiãøu âọ, nãúu khäng ta s nháûn âỉåüc kãút qu khäng mong mún màûc d C khäng thäng bạo läùi. Kiãøu int l kiãøu thäng dủng nháút. Kiãøu char thỉûc ra l kiãøu kê tỉû nhỉng C cho phẹp sỉí dủng kiãøu char nhỉ l kiãøu ngun: trong biãøu thỉïc säú hc thç char âỉåüc hiãøu l kiãøu ngun. • Cạc phẹp tênh säú hc âäúi våïi säú ngun : Phẹp toạn Kê hiãûu Vê dủ Cäüng + x+y Trỉì - x-y Nhán * x*y Chia láúy pháưn ngun / x/y Chia láúy pháưn dỉ % x%y Tàng ++ x++ hồûc ++x Gim -- x--hồûc --x Chỉång II : Kiãøu dỉỵ liãûu, biãún v hàòng Trang 10 Vê dủ : 10 % 3 =1 ; 5 / 3 = 1 ; • Biãøu diãùn säú ngun dỉåïi dảng Hexa ( hãû tháûp lủc phán) : Hãû tháûp phán sỉí dủng : 0 1 2 3 4 5 6 7 8 9 Hãû nhë phán sỉí dủng : 0 1 Hãû tháûp lủc phán sỉí dủng : 0 1 2 3 4 5 6 7 8 9 A B C D E F Vê dủ : säú 53 åí dảng nhë phán l 110101, åí dảng Hexa l 35. Säú ngun âỉåüc biãøu diãùn dỉåïi dảng Hexa : 0xgiạ_trë_Hexa hồûc 0Xgiạ_trë_Hexa Vê dủ : 0x12 (=18) ; 0X12 (=18) Âäúi våïi säú hãû 8 ta viãút thãm säú 0 vo trỉåïc : 0giạ_trë_Oct Vê dủ : 0123 (=83) • Biãøu diãùn säú ám trong mạy tênh: Säú ám : Vê dủ : int x= - 21 ; 21 : 0000 0000 0001 0101 Säú b 1 : 1111 1111 1110 1010 Säú b 2 : 1111 1111 1110 1011 • Hiãûn tỉåüng trn säú : Hiãûn tỉåüng ny xy ra khi kãút qu dỉû kiãún ca phẹp tênh säú hc vỉåüt ra khi di giạ trë cọ thãø biãùu diãùn âỉåüc ca kiãøu dỉỵ liãûu âọ. Lục âọ kãút qu thỉûc tãú s l kãút qu sai. Vê dủ : 32767 + 1 s cọ kãút qu -32768 Âãø khàõc phủc ta chuøn sang sỉí dủng cạc kiãøu dỉỵ liãûu cọ di giạ trë cho phẹp räüng hån Chụng ta nãn khai bạo våïi kiãøu dỉỵ liãûu täúi ỉu âãø vỉìa cọ kãút qu mong mún vỉìa tiãút kiãûm bäü nhåï. Nãúu chụng ta âàût mäüt säú ám vo biãún khäng dáúu hồûc âàût mäüt säú vo kiãøu dỉỵ liãûu cọ di giạ trë nh hån säú âọ thç trçnh biãn dëch s khäng bạo läùi nhỉng ta s cọ kãút qu khäng mong mún. • Hàòng säú ngun cọ kiãøu âënh trỉåïc : Âäi khi chụng ta mún ghi cạc hàòng säú våïi kiãøu âënh trỉåïc mäüt cạch tỉåìng minh âãø âm bo âäü chênh xạc : ghi thãm 1 kê tỉû vo cúi säú âọ Vê dủ : U : unsigned int UL : unsigned long int 0x123L: hàòng säú ngun dỉåïi dảng Hexa kiãøu long. Vê dủ : signed char ch= 0xFF; int x= 0xFFFF; unsigned int y= 0xFFFFu; printf("\n The decimal of signed 0xFF is %d", ch); -1 printf("\n The decimal of signed 0xFFFF is %d", x); -1 printf("\n The decimal of unsigned 0xFFFFu is %u", y); 65535 printf("\n The hex of decimal 12 is %#X ", 12); 0XC printf("\n The hex of decimal -12 is %#X ", -12); 0XFFF4 Chỉång II : Kiãøu dỉỵ liãûu, biãún v hàòng Trang 11 IV. Kiãøu säú thỉûc: • Cạc kiãøu säú thỉûc ca C : Kiãøu biãún Tỉì khoạ Säú byte Di giạ trë Säú thỉûc cọ âäü chênh xạc âån float 4 1.2E-38 ÷ 3.4E38 Säú thỉûc cọ âäü chênh xạc kẹp double 8 2.2E-308 ÷ 1.8E308 Säú thỉûc cọ âäü chênh xạc kẹp âäü di låïn long double 10 3.4E-4932 ÷ 3.4E4932 Biãøu diãùn säú thỉûc åí dảng tháûp phán : Vê dủ : 3.14 ; 2.718281828 Biãøu diãùn säú thỉûc åí dảng khoa hc : Vê dủ : 6.023e23=6.023E23 (= 6.023 * 10 23 ) Trong vê dủ trãn, pháưn âënh trë l 6.023, pháưn m l 23 Pháưn âënh trë v pháưn m cọ thãø cọ dáúu âi km, chụng âỉåüc viãút liãưn nhau khäng cọ dáúu ngàn cạch. Vê dủ : -12.23e-23 Pháưn ngun hay pháưn tháûp phán cọ thãø khäng cọ nhỉng dáúu cháúm khäng thãø thiãúu. Vê dủ : 3. .14 Ta âãø : 3 l säú ngun nhỉng 3. l säú thỉûc. • Biãøu diãùn säú tháûp phán trong mạy tênh: Säú tháûp phán : Vê dủ : 12.5 : 1100.1 0.25 : 0.01 Quy trçnh chuøn âäøi . • Hàòng säú thỉûc cọ kiãøu âënh trỉåïc : Tỉång tỉû nhỉ säú ngun : F : kiãøu float L : kiãøu long • Cạc phẹp toạn våïi kiãøu säú thỉûc : Phẹp cäüng ( + ) , trỉì ( - ) , nhán ( * ) , chia ( / ) , phẹp tàng gim. Phẹp chia (/) âäúi våïi säú thỉûc s cho kãút qu l säú thỉûc. Säú thỉûc khäng cọ phẹp %. Khai bạo v khåíi tảo säú thỉûc : tỉång tỉû nhỉ säú ngun : float x; x=0.3333; Hồûc float x=0.3333; Do cạch lỉu trỉỵ säú thỉûc trong mạy tênh, ta khäng nãn kiãøm tra sỉû bàòng nhau giỉỵa 2 säú thỉûc m ta kiãøm tra fabs( a - b ) < esp hay khäng. V. Kiãøu Boolean: Thỉûc ra ngän ngỉỵ C khäng âënh nghéa r rng kiãøu Boolean. Kiãøu ny täưn tải dỉåïi dảng säú ngun. Säú ngun cọ giạ trë 0 âỉåüc hiãøu l FALSE, cn lải âỉåüc hiãøu l TRUE. Nãúu kãút qu l FALSE thç cọ giạ trë l 0, nãúu kãút qu l TRUE thç cọ giạ trë l 1. Cạc phẹp toạn logic v cạc phẹp toạn quan hãû cho kãút qu kiãøu Boolean Chổồng II : Kióứu dổợ lióỷu, bióỳn vaỡ hũng Trang 12 Caùc toaùn tổớ vồùi kióứu Boolean : Toaùn tổớ Pheùp toaùn logic Yẽ nghộa && AND Pheùp vaỡ || OR Pheùp hoỷc ! NOT Pheùp phuớ õởnh Caùc pheùp toaùn quan hóỷ : Kờ hióỷu Yẽ nghộa != so saùnh khaùc nhau == so saùnh bũng nhau >= so saùnh lồùn hồn hoỷc bũng <= so saùnh nhoớ hồn hoỷc bũng > so saùnh lồùn hồn < so saùnh nhoớ hồn VI. Kióứu kờ tổỷ (character): Mọựi giaù trở kióứu char chióỳm 1 byte vaỡ õổồỹc bióứu dióựn thọng qua baớng maợ ASCII. Caùc kióứu kờ tổỷ trong C : Kióứu bióỳn Tổỡ khoaù Sọỳ byte Daới giaù trở Kióứu coù dỏỳu char ( signed char) 1 -128 ữ 127 Kióứu khọng dỏỳu unsigned char 1 0 ữ 255 Phỏn loaỷi : Caùc kờ tổỷ vn baớn coù maợ tổỡ 32 õóỳn 126, coù thóứ õổa ra maỡn hỗnh vaỡ maùy in. Caùc kờ tổỷ naỡy gọửm caùc kờ tổỷ ! # $ % & , caùc con sọỳ, caùc chổợ caùi thổồỡng vaỡ hoa, . Caùc kờ tổỷ õióửu khióứn coù maợ tổỡ 0 õóỳn 31, noùi chung caùc kờ tổỷ naỡy khọng thóứ õổa ra maỡn hỗnh. Mọỹt sọỳ kờ tổỷ õióửu khióứn : Ta cỏửn phỏn bióỷt hai kờ tổỷ 0 vaỡ \0 : Kờ tổỷ 0 laỡ sọỳ 0 coù maợ 48, coỡn kờ tổỷ \0 laỡ kờ tổỷ NULL coù maợ 0. Kờ tổỷ Daợy maợ Giaù trở hexa Giaù trở thỏỷp phỏn õọứ chuọng BEL \a x07 7 xoaù traùi BS \b x08 8 nhaớy caùch ngang \t x09 9 nhaớy caùch õổùng \v x0B 11 xuọỳng doỡng mồùi \n x0A 10 sang trang \f x0C 12 vóử õỏửu doỡng \r x0D 13 dỏỳu \ x22 34 dỏỳu \ x27 39 dỏỳu ? \? x3F 63 dỏỳu \ \\ x5C 92 dỏỳu NULL \0 x00 0 Chổồng II : Kióứu dổợ lióỷu, bióỳn vaỡ hũng Trang 13 Vờ duỷ : óứ in ra mọỹt doỡng vồùi tióỳng chuọng trổồùc vaỡ sau doỡng chổợ : printf(\aHello%c,7); Caùc kờ tổỷ õọử hoỹa coù maợ sọỳ tổỡ 127 õóỳn 255. Caùc kờ tổỷ naỡy coù thóứ õổa ra maỡn hỗnh nhổng khọng thóứ õổa ra maùy in nhồỡ caùc lóỷnh DOS. Hũng kờ tổỷ õổồỹc bióứu dióựn nũm giổợa 2 dỏỳu nhaùy õồn : a,7, Kờ tổỷ õổồỹc bióứu dióựn dổồùi daỷng Hexa : \xHHH Kờ tổỷ õổồỹc bióứu dióựn dổồùi daỷng Octal : \DDD Vờ duỷ : A coù thóứ vióỳt nhổ sau : \x41 hoỷc \101 Mọỹt sọỳ haỡm xổớ lờ kờ tổỷ : (õổồỹc cung cỏỳp trong thổ vióỷn ctype.h) Haỡm Taùc duỷng int toascii(int c) chuyóứn c thaỡnh maợ ASCII int tolower(int c) chuyóứn c thaỡnh chổợ thổồỡng int toupper(int c) chuyóứn c thaỡnh chổợ hoa Vờ duỷ : Nhỏỷp chổợ thổồỡng tổỡ baỡn phờm vaỡ chuyóứn thaỡnh chổợ hoa: #include <stdio.h> #include <conio.h> #include <ctype.h> main() { int chu_thuong,chu_hoa; chu_thuong=getchar(); chu_hoa=toupper(chu_thuong); putchar(chu_hoa); getch(); return 0; } Vờ duỷ : Chuyóứn mọỹt sọỳ thaỡnh maợ ASCII #include <stdio.h> #include <conio.h> #include <ctype.h> main() { int number,result; number=511; result=toascii(number); printf(\n%d %d %c\n, number, result, result); getch(); return 0; } Chỉång II : Kiãøu dỉỵ liãûu, biãún v hàòng Trang 14 Hm toascii xọa táút c cạc bit ngoải trỉì 7 bit cúi -> kãút qu thüc [0,127] Kãút qu : 511 127 ∆ Hàòng xáu kê tỉû : l dy kê tỉû nàòm giỉỵa 2 dáúu ngồûc kẹp Vê dủ : “Ngän ngỉỵ” Xáu kê tỉû âỉåüc lỉu trong 1 mng ä nhåï liãưn nhau cọ cạc pháưn tỉí l cạc kê tỉû riãng biãût, pháưn tỉí cúi cng l kê tỉû NULL ( \0 l kê hiãûu kãút thục ca xáu kê tỉû ) . Vê dủ : Sỉû khạc nhau giỉỵa ‘Z’ v “Z” : - ‘Z’ gäưm 1 byte, “Z” gäưm 2 byte lỉu trong bäü nhåï - ‘Z’ cọ thãø âỉåüc sỉí dủng trong biãøu thỉïc toạn hc, cn “Z” thç khäng. VII. Khai bạo bàòng cạc hàòng tỉåüng trỉng: Máùu khai bạo : #define tãnbanâáưu dy_ thay_thãú trong âọ dy_ thay_thãú cọ thãø l hàòng säú, hàòng xáu kê tỉû, hàòng logic Trçnh biãn dëch s thay thãú táút c tãnbanâáưu trong chỉång trçnh bàòng dy_thay_thãú Vê dủ : #define PI 3.141592653589793 #define TRUE 1 #define FALSE 0 #define begin { #define end } Chụ : Khäng cọ dáúu = v dáúu ; åí cúi cáu vç âáy khäng phi l lãûnh VIII. Cạc kiãøu dỉỵ liãûu tỉû âënh nghéa: VIII.1. Kiãøu liãût kã : Khi mún âënh nghéa 1 kiãøu dỉỵ liãûu bàòng cạch liãût kã táút c cạc tãn, cạc giạ trë m ta mún cọ, ta sỉí dủng tỉì khọa enum nhỉ sau : enum tãn_kiãøu {pt1,pt2, } biãún_1,biãún_2; enum tãn_kiãøu {pt1,pt2, }; enum {pt1,pt2, } biãún_1,biãún_2; enum {pt1,pt2, }; Vê dủ : enum colors {BLUE,GREEN,RED}; enum colors color ; color = RED ; Dy cạc pháưn tỉí âỉåüc liãût kã tỉång ỉïng våïi dy säú tỉû nhiãn bàõt âáưu tỉì 0. Vê dủ : theo vê dủ trãn : printf(“%d%d”,BLUE,RED); s cọ kãút qu l 02. Âãø pháưn tỉí bàõt âáưu cọ giạ trë khạc 0, ta âënh nghéa nhỉ sau : T O I \0 Chổồng II : Kióứu dổợ lióỷu, bióỳn vaỡ hũng Trang 15 enum thu {hai=2,ba,tu,nam,sau,bay,cn}; VIII.2. Kióứu typedef: Tổỡ khoùa typedef khọng taỷo ra kióứu dổợ lióỷu mồùi maỡ noù õỷt tón mồùi cho kióứu dổợ lióỷu õaợ tọửn taỷi. Mỏựu : typedef tón_kióứu_cuợ tón_kióứu_mồùi Vờ duỷ : typedef int nguyen; typedef float thuc; sau õoù ta khai baùo bióỳn : nguyen a,b; typedef coỡn coù taùc duỷng maỷnh hồn: char line1[81], line2[81], line3[81]; Ta coù thóứ õởnh nghộa laỷi : typedef char line[81]; line line1,line2,line3; IX. Baỡi tỏỷp : 1. Tờnh 30/4; 30%4; 2. int x,y; x=0xAB; y=0x23; printf(\n x+y = %#x\n x-y = %#x, x+y, x-y ); 3. Bióứu dióựn caùc sọỳ sau dổồùi daỷng nhở phỏn : 127, -129, 12.12 4. Chuyóứn õọứi giổợa caùc cồ sọỳ 2, 8, 10, 16 : 1234.1234 (10) , 11001011.10110011 (2) , 1234.5671 (8) , ABC.1234 (16) . 5. Bióứu dióựn caùc sọỳ sau dổồùi daỷng khoa hoỹc : 1234567890; -123.456; -0.00123 ( 1.23456789E9 ; -1.23456E2 ; -1.23E-3 ) 6. ọỳi vồùi caùc dổợ lióỷu sau, ta duỡng kióứu dổợ lióỷu naỡo cho hồỹp lyù : Ngaỡy, thaùng, nm sinh ; õióứm trung bỗnh mọn hoỹc 7. Vióỳt chổồng trỗnh nhỏỷp sọỳ giỏy, xuỏỳt ra dổồùi daỷng giồỡ : phuùt : giỏy 8. Vióỳt chổồng trỗnh nhỏỷp giồỡ : phuùt : giỏy, xuỏỳt ra sọỳ giỏy. 9. Vióỳt chổồng trỗnh nhỏỷp giồỡ1 : phuùt1 : giỏy1 vaỡ giồỡ2 : phuùt2 : giỏy2, xuỏỳt ra tọứng. 10. Tờnh : (4<5) || (5<4) !(4-4) && (2+3) 11. Nóỳu ta gaùn mọỹt sọỳ coù dỏỳu chỏỳm thỏỷp phỏn vaỡo sọỳ nguyón thỗ sao ? TL: giaù trở õổồỹc gaùn vaỡo seợ bở cừt mỏỳt phỏửn thỏỷp phỏn .vờ duỷ : 3.14 thỗ chố coỡn laỷi 3. 12. Sọỳ nguyón ỏm laỡ TRUE hay FALSE ?

Ngày đăng: 02/10/2013, 20:20

Hình ảnh liên quan

Mỗi giá trị kiểu char chiếm 1 byte và được biểu diễn thông qua bảng mã ASCII. Các kiểu kí tự trong C :  - Kiển dữ liệu, biến và hằng

i.

giá trị kiểu char chiếm 1 byte và được biểu diễn thông qua bảng mã ASCII. Các kiểu kí tự trong C : Xem tại trang 5 của tài liệu.
• Các kí tự văn bản có mã từ 32 đến 126, có thể đưa ra màn hình và máy in. Các kí tự này gồm các kí tự ! ” # $ % &amp; , các con số, các chữ cái thường và hoa, .. - Kiển dữ liệu, biến và hằng

c.

kí tự văn bản có mã từ 32 đến 126, có thể đưa ra màn hình và máy in. Các kí tự này gồm các kí tự ! ” # $ % &amp; , các con số, các chữ cái thường và hoa, Xem tại trang 5 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan