Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Hệ điều hành Giáo trình c c++chuong 3 [compatibility mode]...

Tài liệu Giáo trình c c++chuong 3 [compatibility mode]

.PDF
31
123
86

Mô tả:

Chæång III HÀÒNG, BIÃÚN VAÌ MAÍNG Trong chæång trçnh C sæí duûng caïc daûng thäng tin (kiãøu giaï trë) sau: säú nguyãn (int), säú thæûc hay säú dáúu pháøy âäüng (float), säú dáúu pháøy âäüng coï âäü chênh xaïc gáúp âäi (double) vaì kyï tæû (char). Hàòng chênh laì mäüt giaï trë thäng tin cuû thãø. Biãún vaì maíng laì caïc âaûi læåüng mang tin. Mäùi loaûi biãún (maíng) coï thãø chæïa mäüt daûng thäng tin naìo âoï, vê duû biãún kiãøu int chæïa âæåüc caïc säú nguyãn, biãún kiãøu float chæïa âæåüc caïc Ngæåìi ta chia biãn ( maíng) thaình: Biãún (maíng) tæû âäüng Biãún (maíng) ngoaìi Biãún (maíng) ténh. Biãún (maíng) tæû âäüng chè täön taûi (âæåüc cáúp phaït bäü nhåï) khi naìo chuïng âæåüc sæí duûng. Biãún (maíng) ngoaìi vaì ténh täön taûi trong suäút thåìi gian laìm viãûc cuía chæång trçnh. Caïch täø chæïc nhæ váûy væìa tiãút kiãûm bäü nhåï (vç cuìng mäüt khoaíng nhåï luïc thç phán cho biãún naìy, luïc thç phán cho biãún khaïc), væìa cho pheïp sæí duûng mäüt tãn biãún cho caïc âäúi tæåüng khaïc nhau maì khäng gáy ra mäüt sæû nháöm láùn naìo. I Kiãøu dæî liãûu Trong C sæí duûng caïc kiãøu dæî liãûu sau: Kyï tæû (char) Säú nguyãn (int) Säú dáúu pháøy âäüng âäü chênh xaïc âån (float) Säú dáúu pháøy âäüng âäü chênh xaïc gáúp âäi (float) 1. Mäüt giaï trë kiãøu char chiãúm mäüt byte (8bit) vaì biãøu diãùn âæåüc mäüt kyï tæû thäng qua baíng maî ASCII Thæûc cháút dæî liãûu kiãøu char laì mäüt säú nguyãn khäng dáúu trong khoaíng tæì 0 âãún Dæåïi âáy laì phaûm vi vaì kêch cåî biãøu diãùn cuía giaï trë kiãøu char Kiãøu Phaûm vi biãøu diãùn Säú kyï tæû Kêch thæåïc char 0  255 256 1 byte 2. Giaï trë kiãøu nguyãn (int). Trong C cho pheïp sæí duûng: Säú nguyãn (int), säú nguyãn daìi (long) vaì säú nguyãn khäng dáúu (unsigned). Kêch thæåïc vaì phaûm vi biãøu diãùn cuía chuïng laì: Kêch Kiãøu int long int unsigned Phaûm vi biãøu diãùn -32768  32767 -2145483648 2145483648 0  65535 thæåïc 2 byte 4 byte 2 byte 3. Giaï trë dáúu pháøy âäüng. Trong C cho pheïp sæí duûng 2 loaûi giaï trë dáúu pháøy âäüng laì float vaì double. Kêch thæåïc vaì phaûm vë biãøu diãøn laì: Säú chæî Kiãøu Phaûm vi biãøu diãùn säú coï nghéa Kêch thæåïc 1.5e-45  3.4e+38 float 7-8 4 byte 5.0e-324  Giaíi doublethêch: Maïy coï thãø læu træî âæåüc säú 15-16 8 byte 1.7e+308 dáúu phaíy däüng coï giaï trë tuyãût âäúi trong khoaíng tæì 1.5e-45 âãún 3.4e+38. Säú coï giaï trë tuyãût âäúi nhoí hån 1.5e-45 âæåüc xem bàòng 0. Phaûm vi biãøu diãùn cuía säú double âæåüc hiãøu theo nghéa tæång tæû. II. Hàòng Hàòng laì caïc âaûi læåüng maì caïc giaï trë cuía noï khäng thay âäøi trong quaï trçnh tênh toaïn. Caïc loaûi hàòng âæåüc sæí duûng:  Hàòng dáúu cháúm âäüng (float vaì double) âæåüc viãút theo hai caïch Caïch 1: (Kyï phaïp tæû nhiãn): Säú âæåüc viãút theo caïch thäng thæåìng chè coï khaïc laì dáúu pháøy tháûp phán âæåüc thay båíi dáúu cháúm. Vê duû: 44.356, -43442.54546 Caïch 2: (Kyï phaïp khoa hoüc): Säú âæåüc taïch thaình hai pháön laì pháön âënh trë vaì pháön báûc. Pháön âënh trë laì mäüt säú nguyãn hoàûc säú thæûc âæåüc viãút theo kyï phaïp tæû nhiãn, pháön báûc laì mäüt säú nguyãn. Hai pháön naìy caïch nhau båíi kyï tæû e hoàûc E Vê duû: 123.456e-5 (Biãøu diãùn giaï trë 0.00123456) 0.123E5 (Biãøu diãùn giaï trë 12300)  Hàòng int laì säú nguyãn coï giaï trë trong khoaíng tæì -32768  32767  Hàòng long âæåüc viãút theo kiãøu: -4234253l hoàûc -4234253l (Thãm l hoàûc L). Mäüt säú nguyãn væåüt ra ngoaìi miãön xaïc âënh cuía int cuîng âæåüc xem laì hàòng long.  Hàòng int hãû 8 âæåüc viãút theo caïch: 0x1x2x3... ÅÍ âáy x1, x2, x3, ... laì säú nguyãn trong khoaíng tæì 0 âãún 7. Hàòng nguyãn hãû 8 luän luän nháûn giaï trë dæång.  Hàòng int hãû 16 âæåüc viãút theo caïch: 0xx1x2x3... hoàûc 0Xx1x2x3... ÅÍ âáy x1, x2, x3, ... laì säú nguyãn trong khoaíng tæì 0 âãún 9 vaì caïc chæî caïi tæì a(A) âãún f(F). Hàòng  Hàòng kyï tæû laì mäüt kyï tæû riãng biãût âæåüc viãút trong dáúu nhaïy âån (‘), vê duû: ‘a’, giaï trë ‘a’ chênh laì maî ASCII cuía chæî a. Nhæ váûy giaï trë cuía ‘a’ laì 97. Hàòng kyï tæû coï thãø tham gia vaìo caïc pheïp toaïn nhæ moüi säú nguyãn khaïc. Vê duû, giaï trë cuía biãøu thæïc: ‘a’ - ‘A’ = 97 - 65 = 32 Hàòng kyï tæû coìn coï thãø âæåüc viãút theo caïch ‘\x1x2x3...’ ÅÍ âáy x1, x2, x3, ... laì mäüt säú hãû 8 maì hãû giaï trë cuía noï bàòng maî ASCII cuía kyï tæû cáön biãøu diãùn. Vê duû: Chæî a coï maî hãû 10 laì 97 âäúi ra hãû 8 laì 141.  Hàòng xáu kyï tæû: laì mäüt daîy caïc kyï tæû báút kyì âàût giæîa hai dáúu nhaïy keïp (“) Vê duû: “Dai Hoc Su Pham” “” /* Xáu räùng */ Caïch âënh nghéa mäüt hàòng: #define Hoàûc: const = III. Biãún Moüi biãún cáön phaíi khai baïo træåïc khi sæí duûng. Caïch khaïi baïo mäüt biãún: type Vë trê khaïi baïo biãún: Caïc biãún khai baïo cáön âàût ngay sau dáúu { âáöu tiãn cuía thán haìm vaì cáön âæïng træåïc moüi cáu lãûnh. Nhæ váûy, sau mäüt cáu lãûnh gaïn chàông haûn thç khäng âæåüc khai baïo næîa. Viãûc khåíi âáöu cho caïc biãún: Nãúu trong khai baïo, ngay sau tãn iãún ta âàût dáúu = vaì mäüt giaï trë naìo âoï thç âáy chênh laì caïch væìa khai baïo væìa khåíi âáöu cho mäüt biãún. Vê duû: int a, b = 45, c =50; Caïc kiãøu dæî liãûu TYPE FORMAT BYTES MINIUM MAXIMUM Integer char signed char unsigned char short [int] unsigned short int unsigned int long unsigned long %c %c %c %hi %hu %i %u %li %lu CHAR_MIN 1 SCHAR_MI 1 N 1 0 2 SHRT_MIN 2 0 2 or 4 INT_MIN 2 or 4 0 4 LONG_MIN 4 0 CHAR_MAX SCHAR_MAX UCHAR_MAX SHRT_MAX USHRT_MAX INT_MAX UNIT_MAX LONG_MAX ULONG_MAX TYPE FORMAT BYTES MINIUM MAXIMUM Real float %f %e %g 4 double %lf %le %lg 8 long double %Lf %Le %Lg 10 FLT_MIN DBL_MIN LDBL_MIN FLT_MAX DBL_MAX LDBL_MAX IV Mäüt säú vê duû vãö hàòng vaì biãún: Vê duû 1: Chæång trçnh hiãøn thë caïc giaï trë låïn nháút vaì nhoí nháút trong kiãøu säú nguyãn #include "stdio.h" #include "limits.h" int main(void) { unsigned long big = ULONG_MAX; clrscr(); printf(" Minimum int = %i ", INT_MIN); printf(" \n Maximum int = %i ", INT_MAX); printf(" \n Maximum unsigned = %u ", UINT_MAX); printf(" \n Maximum long int = %li ", LONG_MAX); printf(" \n Maximum unsigned long = %lu ", big); getch(); return 0; } Vê duû 2: Chæång trçnh hiãøn thë caïc giaï trë trong kiãøu char #include "stdio.h" #include "limits.h" int main(void) { char lower_a ='a'; char lower_z ='z'; clrscr(); printf(" Minimum char = %i ", CHAR_MIN); printf(" \n Maximum char = %i ", CHAR_MAX); printf(" \n Sau ky tu '%c' la ky tu '%c' ",lower_a, lower_a+1); printf(" \n Ky tu hoa cua '%c' la '%c' ", lower_z,lower_z-'a'+'A'); getch(); return 0; } Vê duû 3: Haîy viãút chæång trinh chuyãøn âäøi giæîa caïc hãû cå säú: #include "stdio.h" int main(void) { int dec = 45 , oct = 045, hex = 0xA5, heX =0XA5; clrscr(); printf("Decimal = %d Octan = %d Hexa = %d, Hexa = %d \n", dec, oct, hex,heX); printf("Decimal = %d Octan = %o Hexa = %x\n", dec, oct, hex); printf("Decimal = %d Octan = %o Hexa = %X", dec, oct, heX); getch(); return 0; } VI. Maíng Mäüt biãún chè coï thãø biãøu diãùn âæåüc mäüt giaï trë. Âãø biãøu diãùn mäüt daîy hay mäüt baíng säú ta coï thãø duìng nhiãöu biãún nhæng caïhc naìy khäng tiãn låüi. Viãûc sæí duûng maíng laì caïch täút hån nhiãöu trong nhæîng træåìng håüp nhæ váy. Maíng coï thãø hiãøu laì táûp håüp nhiãöu pháön tæí coï cuìng mäüt kiãøu giaï trë vaì coï chung mäüt tãn. Mäùi pháön tæí cuía maíng biãøu diãùn âæåüc mäüt giaï trë Coï bao nhiãu kiãøu biãún thç cuîng coï báúy nhiãu kiãøu maíng. Maíng cáön âæåüc khai baïo âãø âënh roî: - Loaûi maíng (int, float, double,...) - Tãn maíng Khai baïi maíng: Maíng mäüt chiãöu: [Number of elements] Maíng nhiãöu chiãöu: [Num of elements1][Num of elements ] Vê duû: Khai baïo maíng 1 chiãu: int a[10] /*Khai baïo mäüt maíng chæïa 10 säú nguyãn*/ Khai baïo maíng 2 chiãöu: int b[5][4] /Khai baïo mäüt ma tráûn coï 5doìng 4 cäüt*/ Chuï yï: Caïc pháön cuía maíng âæåüc cáúp phaït caïc khoaíng nhåï liãn tiãúp nhau trong bäü nhåï. Noïi caïch khaïc pháön tæí coï âëa chè liãn tiãúp nhau trong bäü nhåï. Trong bäü nhåï, caïc pháön tæí cuía maíng hai chiãöu âæåüc sàõp xãúp theo haìng. Truy cáûp âãún tæìng pháön tæí cuía maíng: – Mäùi pháön tæí cuía maíng âæåüc xaïc âënh nhåì caïc chè säú cuía noï. – Chè säú cuía maíng phaíi coï giaï trë int khäng væåüt quaï kêch thæåïc cuía chiãöu tæång æïng. Vê duû: a[i] V. 1. Chuï yï: Cho pheïp láúy âëa chè cuía maíng mäüt chiãöu: &a[I] Vaì khäng cháúp nháûn pheïp tênh: &b[i][j] Khäúi lãûnh: Âënh nghéa: Mäüt khäúi lãûnh laì gäöm daîy caïc cáu lãûnh âæåüc bao båíi caïc dáúu { vaì } Vê duû: { a = 4; b = 5; printf(“\n %6d%6d”,a,b) Maïy xem mäüt khäúi lãûnh cuîng nhæ mäüt cáu lãûnh riãng leí. Noïi caïhc khaïc, chäø naìo trong chæång trçnh âàût âæåüc mäüt cáu lãûnh thç coï thãø âàût mäüt khäúi lãûnh 2. Khai baïo biãún åí âáöu khäúi lãûnh: Caïc khai baïo chàóng nhæîng coï thãø âàût åí âáöu mäùi haìm maì coìn coï thãø viãút åí âáöu khäúi lãûnh. Vê duû: { int a ,b; float x, y,z; a=b=3; x=5; y=a*x; z= 5-b*y; printf(“\ny = %8.2f\nz = %8.2f”,y,z);
- Xem thêm -

Tài liệu liên quan