Thông tin tài liệu:
Cá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 (‘ ’). 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ỗi Cá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ày phả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ự. ...
Nội dung trích xuất từ tài liệu:
GIÁO TRÌNH LẬP TRINH C_BÀI 17Bài 17 ChuỗiMụ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 (‘ ’). Bài này sẽ thảoluậ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ày phả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 được lưutrữ 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’ ‘ ’Ký tự ‘ ’ (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ểmkế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ần tử để chứakí 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”;pstr 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ỏ đếnbấ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.Chuỗi 23717.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 ‘
’ bằng ký tự ‘ ’. 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(); } 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 Lập trình cơ bản C238 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(); ...