Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
501,55 KB
Nội dung
CHƯƠNG 7CHƯƠNG 7 CHUỔI KÝ TỰCHUỔI KÝ TỰ (String)(String) (String)(String) 1. Giớithiệu1. Giớithiệu 1. Giới thiệu1. Giới thiệu y Chuổilàm ộ tmản g k ý t ự đư ợ ckết thúc ộ g ý ự ợ bằng ký tự null (‘\0’). y Ký tự null ( ‘ \ 0 ’ ) là ký tự dùng để kết Ký tự null ( \ 0 ) là ký tự dùng để kết thúc chuổi y Hằng chuổi là chuổi được bao quanh bởi y Hằng chuổi là chuổi được bao quanh bởi cặpdấu nháy đôi. Ví dụ: "Hello" 2.2. KhaiKhai báobáo vàvà khởikhởi tạotạo chuổichuổi 2. 2. KhaiKhai báobáo vàvà khởikhởi tạotạo chuổichuổi Có 2 cách khai báo và khởit ạ ochuổi ạ y Cách 1: Dùng mảng mộtchiều h Tê biế [ Chiề dài tối đ ] Ví d h t [12] c h ar < Tê n biế n> [ Chiề u dài tối đ a ] y Ví dụ : c h ar s t r [12] ; Trong khai báo này, bộ nhớ sẽ cung ấ ể ữ ộ c ấ p12+1bytesđ ể lưutr ữ n ộ idun g củachuỗikýtự str; byte cuối cùng lưu ữ ký ‘ \ ’ để kế hú h ỗ tr ữ ký tự ‘ \ 0 ’ để kế tt hú cc h u ỗ i. 2. 2. KhaiKhai báobáo v à v àkhởikhởit ạ ot ạ ochuổichuổi ạạ Cách 2: Dùn g con trỏ g char *<Tên biến> y Ví dụ: char *str; T kh i bá à bộ hớ ẽ dà h 2 T ron g kh a i bá on ày , bộ n hớ s ẽ dà n h 2 byte để lưutrữđịachỉ củabiếncontrỏ t đ hỉ đế hư ấ ơi để s t r đ an g c hỉ đế n, c hư acun g c ấ pn ơi để lưutrữ dữ liệu. 2.2. KhaiKhai báobáo vàvà khởikhởi tạotạo chuổichuổi 2. 2. KhaiKhai báobáo vàvà khởikhởi tạotạo chuổichuổi y Chuổik ý t ự g iốn g như mản g do đó đ ể ý ự g g g khởitạomộtchuổikýtự vớinhững giá tr ị xác đ ị nh ta có th ể th ự chi ệ ntươn g t ự ị ị ự ệ g ự như vớimảng. char <Biến>[ ]=<”Hằng chuổi”> 2.2. KhaiKhai báobáo vàvà khởikhởi tạotạo chuổichuổi 2. 2. KhaiKhai báobáo vàvà khởikhởi tạotạo chuổichuổi y V íd ụ : ụ char str[] = {‘H’, ’e’, ’l’, ’l’, ’o’, ’\0’}; char str [] = “ Hello ” ; char str [] = Hello ; char *str = “Hello”; 3.3. NhậpNhập chuổichuổi 3. 3. NhậpNhập chuổichuổi y Đ ể nh ập dữ li ệ uchobiếnchuổi , ta dùn g ập ệ , g hàm gets() củathư việnstdio.h. h * t(h *)h * t(h *) y Hàm gets() đọc các ký tự từ bàn phím c h ar * ge t s ( c h ar * s ) ;c h ar * ge t s ( c h ar * s ) ; y Hàm gets() đọc các ký tự từ bàn phím vào trong mảng trỏđếnbởischođến khi nhấn Enter Ký tự null sẽ được đặt khi nhấn Enter . Ký tự null sẽ được đặt sau ký tự cuối cùng củachuổinhậpvào trong mảng trong mảng . y Hoặctacóthể dùng cin >> s; 4.4. XuấtXuất chuổichuổi 4. 4. XuấtXuất chuổichuổi y Đ ể xuấtchuổiramànhình , ta dùn g hàm , g puts() củathư việnstdio.h. int puts(const char * s ); y Hoặc ta có thể dùng cout int puts(const char * s ); y Hoặc ta có thể dùng cout y cout << s; VíVí dụdụ :: VíVí dụdụ :: #include <iostream.h> #include <stdio.h> int main() { { char str[20]; cout <<" nhap chuoi :"; cout <<" nhap chuoi :"; gets(str); cout << " \ nXuat chuoi : " ; cout << \ nXuat chuoi :; puts(str); return 0; return 0; } 5.5. CácCác hàmhàm thaothao táctác trêntrên chuổichuổi 5. 5. CácCác hàmhàm thaothao táctác trêntrên chuổichuổi y strcpy(s1, s2): Sao chép chuổis2 vàos1 í d V í d ụ: #include <iostream.h> #include < stdio h > #include < stdio . h > #include <string.h> void main () () { char str1[20], str2[20]; t " h hi 1" t(t1) cou t << " n h ap c h uo i 1 : " ; ge t s ( s t r 1) ; strcpy(str2,str1); cout << " \ nXuat chuoi 2: " ; puts(str2); cout << \ nXuat chuoi 2: ; puts(str2); } . j++) cout << "" <<list[j]; cout << <<list[j]; } 7. 7. MảngMảng concon trỏtrỏ đếnđến cáccác chuổichuổi 7. 7. MảngMảng con con trỏtrỏ đếnđến cáccác chuổichuổi y Ngoài cách. CHƯƠNG 7CHƯƠNG 7 CHUỔI KÝ TỰCHUỔI KÝ TỰ (String)(String) (String)(String) 1. Giớithiệu1. Giớithiệu 1. Giới . str[5][80]; Khai báo một mảng của 5 chuổi mỗi Khai báo một mảng của 5 chuổi , mỗi chuổicóchiềudàitối đal 79 kýtự. 6.6. MảngMảng cáccác chuổichuổi 6. 6. MảngMảng cáccác chuổichuổi y Khai báo v àkhởi t ạ omản g các