tailieunhanh - Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - Trần Minh Thái

Bài giảng "Kỹ thuật lập trình nâng cao - Chương 4: Chuỗi ký tự" cung cấp cho người học các kiến thức: Chuỗi ký tự, khai báo, nhập chuỗi, các hàm thư viện. Cuối bài giảng có phần bài tập để người học ôn tập và củng cố kiến thức. | Bài giảng Kỹ thuật lập trình nâng cao Chương 4 - Trần Minh Thái TRẦN MINH THÁI 1 Chuỗi kýtựlà trường hợp đặc biệt của mảng 1 chiều là một dãy các phần tử mỗi phần tửcó kiểu ký tự Khai báo Cách 1 Con trỏhằng char lt Tên chuỗi gt lt Sốkýtựtối đa gt Ví dụ char chuoi 25 Ý nghĩa khai báo 1 mảng kiểu kýtựtên là chuoi có 25 phần tử như vậy tối đa ta có thểnhập 24 kýtựvì phần tửthứ25 đã chứa ký tự kết thúc chuỗi 0 Lưu ý Chuỗi kýtự đượ c kết thúc bằng kýtự 0 . Do đó khi khai báo độdài của chuỗi luôn luôn khai báo dư 1 phần tửđểchứa kýtự 0 . 2 Ví dụ Chuỗi NGUYEN VAN A được lưu N G U Y E N V A N A 0 0 1 2 3 4 5 6 7 8 9 10 11 12 Cách 2 Con trỏ char lt Tên chuỗi gt Ví dụ char chuoi Cấp phát bộ nhớ trước khi sử dụng chuỗi 3 chuỗi số ký tự tối đa Ví dụ char str str new char 30 str 30 4 Tính độ dài của chuỗi s int strlen char s Sao chép nội dung chuỗi nguồn vào chuỗi đích strcpy char đích char nguồn Chép n ký tự từ chuỗi nguồn sang chuỗi đích. Nếu chiều dài nguồn lt n thì hàm sẽ điền khoảng trắng cho đủ n ký tự vào đích strncpy char đích char nguồn int n phải có đích n 0 5 Nối chuỗi s2 vài chuỗi s1 strcat char s1 char s2 Nối n ký tự đầu tiên của chuỗi s2 vào chuỗi s1 strncat char s1 char s2 int n So sánh 2 chuỗi s1 và s2 theo nguyên tắc thứ tự từ điển. Phân biệt chữ hoa và thường. Trả về 0 nếu s1 bằng s2. gt 0 nếu s1 lớn hơn s2. So sánh n ký tự đầu tiên của s1 và s2 giá trị trả về tương tự hàm strcmp int strncmp char s1 char s2 int n So sánh chuỗi s1 và s2 nhưng không phân biệt hoa thường giá trị trả về tương tự hàm strcmp int stricmp char s1 char s2 So sánh n ký tự đầu tiên của s1 và s2 nhưng không phân biệt hoa thường giá trị trả về tương tự hàm strcmp int strnicmp char s1 char s2 int n 7 Tìm sự xuất hiện đầu tiên của ký tư c trong chuỗi s. Trả về NULL nếu không có Địa chỉ c nếu tìm thấy char strchr char s char c Tìm sự xuất hiện đầu tiên của chuỗi s2 trong chuỗi s1. Trả về NULL nếu không có Ngược lại Địa chỉ bắt đầu chuỗi s2