Danh mục tài liệu

Session 17 - Chuỗi – Lý thuyết

Số trang: 15      Loại file: doc      Dung lượng: 145.00 KB      Lượt xem: 5      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu session 17 - chuỗi – lý thuyết, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Session 17 - Chuỗi – Lý thuyết ChuỗiBài 17Mục tiêu:Kết thúc bài học này, bạn có thể: Giải thích các biến và hằng kiểu chuỗi Giải thích con trỏ trỏ đến chuỗi Thực hiện các thao tác nhập/xuất chuỗi Giải thích các hàm thao tác chuỗi Giải thích cách thức truyền mảng vào hàm như tham số Mô tả cách thức sử dụng chuỗi như các tham số của hàm.Giới thiệuCác chuỗi trong C được cài đặt như là các mảng ký t ự k ết thúc b ởi ký t ự NULL (‘\0’). Bài này s ẽthảo luận về công dụng và thao tác trên chuỗi.17.1 Các biến và hằng kiểu chuỗiCác biến chuỗi được sử dụng để lưu trữ một chuỗi các ký tự. Như các biến khác, các biến nàyphải được khai báo trước khi sử dụng. Ví dụ khai báo một biến chuỗi: char str[10];str là một mảng các ký tự có thể lưu tối đa 10 ký tự. Giả sử str được gán m ột hằng chu ỗi, “WELL DONE”Một hằng chuỗi là một dãy các ký tự nằm trong dấu nháy kép. Mỗi ký t ự trong m ột chu ỗi đ ượclưu trữ như là một phần tử của mảng. Trong bộ nhớ, chuỗi được lưu trữ như sau: ‘W’ ‘E’ ‘L’ ‘L’ ‘’ ‘D’ ‘O’ ‘N’ ‘E’ ‘\0’Ký tự ‘\0’ (null) được tự động thêm vào trong cách biểu diễn bên trong của chuỗi để đánh d ấuđiểm kết thúc chuỗi. Vì vậy, khi khai báo một chuỗi, phải tăng kích thước của nó thêm m ột phầntử để chứa kí hiệu kết thúc null.17.1.1 Con trỏ trỏ đến chuỗiChuỗi có thể được lưu và truy cập bằng cách sử dụng con trỏ kiểu ký t ự. Một con tr ỏ kiểu ký t ựtrỏ đến một chuỗi được khai báo như sau: char *pstr = “WELCOME”; 237Chuỗipstr là một con trỏ được khởi tạo để trỏ đến một hằng chuỗi. Con trỏ pstr có thể thay đổi để trỏđến bất kì một chuỗi nào khác. Mặc dù khi con trỏ pstr trỏ đến một chuỗi khác thì ta không thểtruy xuất đến chuỗi “WELCOME”được nữa.17.1.2 Các thao tác nhập xuất chuỗiCác thao tác nhập/xuất (I/O) chuỗi trong C được thực hiện bằng cách g ọi các hàm. Các hàm này làmột phần của thư viện nhập/xuất chuẩn tên stdio.h. Một chương trình muốn sử dụng các hàmnhập/xuất chuỗi phải có câu lệnh khai báo sau ở đầu chương trình: #include ;Khi chương trình có chứa câu lệnh này được biên dịch, thì nội dung của t ập tin stdio.h sẽ trở thànhmột phần của chương trình. Các thao tác nhập/xuất chuỗi đơn giản Sử dụng hàm gets() là cách đơn giản nhất để nhập một chuỗi thông qua thiết bị nhập chu ẩn. Các ký tự sẽ được nhập vào cho đến khi nhấn phím Enter. Hàm gets() thay thế ký tự kết thúc trở về đầu dòng ‘\n’ bằng ký tự ‘\0’. Cú pháp hàm này như sau: gets(str); Trong đó str là một mảng ký tự đã được khai báo. Tương tự, hàm puts() được sử dụng để hiển thị một chuỗi ra thiết bị xuất chuẩn. Ký tự xuống dòng sẽ kết thúc việc xuất chuỗi. Cú pháp hàm như sau: puts(str); Trong đó str là một mảng ký tự đã được khai báo và khởi tạo. Chương trình sau đây nh ận vào một tên và hiển thị một thông báo. Ví dụ 1: #include void main() { char name[20]; /* name is declared as a single dimensional character array */ clrscr(); /* Clears the screen */ puts(Enter your name:); /* Displays a message */ gets(name); /* Accepts the input */ puts(Hi there: ); puts(name); /* Displays the input */ getch();238 Lập trình cơ bản C } Nếu tên Lisa được nhập vào, chương trình trên cho ra kết quả: Enter your name: Lisa Hi there: Lisa Các thao tác Nhập/Xuất chuỗi có định dạng Có thể sử đụng các hàm scanf() và printf() để nhập và hiển thị các giá trị chuỗi. Các hàm này được dùng để nhập và hiển thị các kiểu dữ liệu hỗn hợp trong một câu lệnh duy nhất. Cú pháp để nhập một chuỗi như sau: scanf(“%s”, str); Trong đó ký hiệu định dạng %s cho biết rằng một giá trị chuỗi sẽ được nhập vào. str là một mảng ký tự đã được khai báo. Tương tự, để hiển thị chuỗi, cú pháp sẽ là: printf(“%s”, str); Trong đó ký hiệu định dạng %s cho biết rằng một giá trị chuỗi sẽ được hiển thị và str là một mảng ký tự đã được khai báo và khởi tạo. Hàm printf() có thể dùng để hiển th ị ra các thông báo mà không cần kí tự định dạng. Có thể sửa đổi chương trình bên trên để nhập vào và hiển thị m ột tên, sử d ụng hàm scanf() và printf(). Ví dụ 2: #include void main() { char name[20]; /* name is declared as a single dimensional character array */ clrscr(); /* Clears the screen */ printf(Enter your name: ); /* Displays a message */ scanf(“%s”, name); /* Accepts the input */ printf(Hi there: %s, name); /* Displays the input */ getch(); } Nếu nhập vào tên Brendan , chương trình trên cho ra k ết quả: Enter your name: Brendan Hi there: Brendan17.2 Các hàm về chuỗi 239ChuỗiC hỗ trợ rất nhiều hàm về chuỗi. Các hàm này có th ể tìm th ấy trong t ập tin string.h. M ột s ố thaotác mà các hàm này thực hiện là: Nối chuỗi So sánh chuỗi Định vị một ký tự trong chuỗi Sao chép một chuỗi sang chuỗi khác Xác định chiều dài của chuỗi.17.2.1 Hàm strcat()Hàm strcat() được sử dụng để nối hai chuỗi vào nhau. Cú pháp hàm là: strcat(str1, str2);trong đó str1 và str2 là hai chuỗi đã được khai báo và k ...

Tài liệu được xem nhiều:

Tài liệu có liên quan: