1. Trang chủ
  2. » Thể loại khác

BaiGiang c++ ppsx

51 1,1K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 193,78 KB

Nội dung

ThS. Đỗ Đình Trang KỸ THUẬT LẬP TRÌNH dodinhtrang@gmail.com ThS. Đỗ Đình Trang CHƯƠNG 4 : CHUỖI dodinhtrang@gmail.com Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 3 Khái niệm  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 (‘\0’)  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ự và phải được khai báo trước khi sử dụng  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ưu trữ như là một phần tử của mảng Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 4 Khai báo chuỗi  char Array-Name[Array-Size];  char Array-Name[];  char *Array-Name;  Có thể gán giá trị cho chuỗi ký tự bằng những cách sau:  char arr_str[7] = {`H', `e', `l', `l', `o', `!', `\0'};  char str[7] = "Hello!";  char str[] = "I like C.";  char *ptr_str = "I teach myself C."; Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 5  Phân biệt giữa ký tự và chuỗi ký tự:  char ch = `x'; /*1 byte*/  char str[] = "x"; /*2 bytes*/  Con trỏ trỏ đến chuỗi  Chuỗ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 *ptr_str;  ptr_str = "A character string."; Khai báo chuỗi (tt) ptr_str = `x'; /* Sai */ *ptr_str = `x'; /* Đúng */ Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 6 Nhập xuất chuỗi  Cá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  Hàm gets() dùng để đọc các ký tự từ một giao tiếp nhập chuẩn (stdin). Cú pháp : gets(str); trong đó str là một mảng ký tự đã được khai báo  Hàm puts() dùng để xuất các ký tự cho một giao tiếp xuất chuẩn (stdout). Cú pháp : puts(str); Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 7 Ví dụ về nhập xuất chuỗi  void main() {char name[20]; clrscr(); puts("Enter your name:"); gets(name); puts("Hi there: "); puts(name); getch(); }  void main() { char str[80]; int i=0, delt = `a' - `A'; gets( str ); while (str[i]){ if ((str[i] >= `a') && (str[i] <= `z')) str[i] -= delt; ++i; } puts( str ); } Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 8  Các thao tác Nhập/Xuất chuỗi có định dạng  Có thể sử dụng các hàm scanf() và printf() để nhập và hiển thị các giá trị chuỗi  Cú pháp để nhập một chuỗi như sau:  scanf(“%s”, str);  Định dạng %s cho biết rằng một giá trị chuỗi sẽ được nhập vào  Cú pháp để hiển thị chuỗi:  printf(“%s”, str); Nhập xuất chuỗi (tt) Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 9 Các hàm về chuỗi  Các hàm này có thể tìm thấy trong tập tin string.h  strlen(char *str): Xác định chiều dài của chuỗi str  char str1[] = {`A', ` `,`s', `t', `r', `i', `n', `g', ` `,`c', `o', `n', `s', `t', `a', `n', `t', `\0'};  char str2[] = "Another string constant";  char *ptr_str = "Assign a string to a pointer.";  printf(“str1 is: %d bytes\n", strlen(str1)); // 17  printf(“str2 is: %d bytes\n", strlen(str2)); // 23  printf(“ptr_str is: %d bytes\n",strlen(ptr_str)); // 29 Bài giảng: KỸ THUẬT LẬP TRÌNH ThS. Đỗ Đình Trang 10  Định vị một ký tự trong chuỗi : strchr()  Xác định vị trí xuất hiện của một ký tự trong một chuỗi  Cú pháp hàm là: strchr(str, chr);  str là một mảng ký tự hay chuỗi.  chr là một biến ký tự chứa giá trị cần tìm.  Hàm trả về con trỏ trỏ đến giá trị tìm được đầu tiên trong chuỗi, hoặc NULL nếu không tìm gặp thấy Các hàm về chuỗi (tt)

Ngày đăng: 29/06/2014, 17:20

Xem thêm

TỪ KHÓA LIÊN QUAN

w