Bài giảng Lập trình C các thao tác trên chuỗi - Chuỗi ký tự - Nguyễn Văn Khiết

Nội dung

Chuỗi ký tự

Các thao tác trên chuỗi

Bài tập

Chuỗi ký tự

Chuỗi là một mảng của các ký tự và giá trị sau ký tự cuối cùng của chuỗi là null.

Ví dụ

char str[] = “hello“;

Hoặc

char str[6];

str[0] = ‘h';

str[1] = ' e';

str[2] = 'l';

str[3] = ‘l';

str[4] = ‘o';

str[5] = 0;

ppt15 trang | Chia sẻ: hienduc166 | Lượt xem: 843 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Lập trình C các thao tác trên chuỗi - Chuỗi ký tự - Nguyễn Văn Khiết, để tải tài liệu về máy bạn click vào nút TẢI VỀ ở trên
Chuỗi ký tựNguyễn Văn KhiếtNội dungChuỗi ký tựCác thao tác trên chuỗiBài tậpChuỗi ký tựChuỗi là một mảng của các ký tự và giá trị sau ký tự cuối cùng của chuỗi là null.Ví dụchar str[] = “hello“;Hoặcchar str[6]; str[0] = ‘h'; str[1] = ' e'; str[2] = 'l'; str[3] = ‘l'; str[4] = ‘o'; str[5] = 0;Chuỗi ký tựKhi C gặp một chuỗi hằng, bản thân chuỗi đó được xem như tên của mảng ẩn. Tên của mảng tương đương với địa chỉ phần tử đầu tiên, vì vậy chuỗi hằng cũng là một con trỏ chỉ tới phần tử đầu tiên của mảng ẩnHiddenstring.cpp Chuỗi ký tựThao tác sau là không đúng:char s[80] = “This is a string”, *p;s = “This new string”; vì s là con trỏ hằng.scanf, gets, putsscanf : không nhập chuỗi đến ký tự trắngchar s[100]; scanf("%s",s);printf ("%s\n",s);gets : nhập chuỗi bao gồm ký tự trắngchar s[100]; gets(s);printf ("%s\n",s);puts : xuất cả chuỗiputchar : xuất ký tựCác thao tác trên chuỗistrlenstrlen(s) : trả về chiều dài của chuỗi s. (không tính ký tự null)Các thao tác trên chuỗistrcpy và strncpystrcpy(s1,s2): copy chuỗi s2 vào chuỗi s1. (strcpy1.cpp)strncpy(s1,s2,n): copy n ký tự đầu tiên của chuỗi s2 vào chuỗi s1. s1 phải có đội lớn đủ để chứa n ký tự.n>strlen(s2): giống strcpynphải thêm s1[n] = ‘\0’;Các thao tác trên chuỗistrcmp và strncmpstrcmp(s1,s2): so sánh 2 chuỗi s1 và s2 (dựa vào ASCII)	-1: s1s2stricmp(s1,s2): so sánh không phân biệt hoa thườngstrncmp(s1,s2, n)strcmp1.cppCác thao tác trên chuỗistrcat và strncatstrcat(s1,s2): nối chuỗi s2 vào sau chuỗi s1. s1 phải đủ lớn để chứa cả 2 chuỗi strncat(s1,s2, n)Strcat1.cppCác thao tác trên chuỗistrstr strstr(s1,s2): tìm vị trí xuất hiện của chuỗi s2 trong s1. Trả về con trỏ tại vị trí xuất hiện nếu tìm thấy, trả về NULL nếu không tìm thấy.(strstr1.cpp)strchr strchr(s1,ch): tìm vị trí xuất hiện của ký tự ch trong s1. Trả về con trỏ tại vị trí xuất hiện nếu tìm thấy, trả về NULL nếu không tìm thấy.(strchr1.cpp)Chuyển đổi kiểu dữ liệuatoi() : chuyển chuỗi sang intatol( ) : chuyển chuỗi sang longatof( ) : chuyển chuỗi sang floatAtoi1.cppBài tậpCài đặt lại các hàm strcpy, strcat, strstr, strchr, strcmp, Cài đặt các hàm thêm một ký tự/chuỗi vào một vị trí cho trướcCài đặt hàm xóa một ký tự tại một vị trí cho trước trong chuỗiBài tậpCài đặt hàm đổi các ký tự trong chuỗi thành ký tự hoa/thườngCài đặt hàm đổi toàn bộ các ký tự bắt đầu 1 từ trong chuỗi thành ký tự hoa, các ký tự còn lại thành ký tự thườngCài đặt hàm bỏ toàn bộ khoảng trắng đầu chuỗi, cuối chuỗi và giữa hai từ trong chuỗi còn đúng một khoảng trắngBài tậpCài đặt hàm tìm từ có chiều dài lớn/nhỏ nhất trong chuỗi.Cài đặt hàm đếm số từ có trong chuỗiCài đặt hàm xuất ra chuỗi con chung lớn nhất của hai chuỗi

File đính kèm:

  • pptLap trinh C Cac thao tac tren chuoi.ppt
Bài giảng liên quan