Bài giảng Nhập môn lập trình - Chương 7: Giới thiệu con trỏ và chuỗi ký tự

Thông tin của một biến bao gồm:

Tên biến

Kiểu dữ liệu của biến

Giá trị của biến

Mỗi biến sẽ được lưu trữ tại một vị trí xác định trong ô nhớ, nếu kích thước của biến có nhiều byte thì máy tính sẽ cấp phát một dãy các byte liên tiếp nhau, địa chỉ của biến sẽ lưu byte đầu tiên trong dãy các byte này

 

ppt16 trang | Chia sẻ: phuongt97 | Lượt xem: 434 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Nhập môn lập trình - Chương 7: Giới thiệu con trỏ và chuỗi ký tự, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 7 GIỚI THIỆU CON TRỎ VÀ CHUỖI KÝ TỰ1ĐỊA CHỈ CỦA BIẾNThông tin của một biến bao gồm:Tên biếnKiểu dữ liệu của biếnGiá trị của biếnMỗi biến sẽ được lưu trữ tại một vị trí xác định trong ô nhớ, nếu kích thước của biến có nhiều byte thì máy tính sẽ cấp phát một dãy các byte liên tiếp nhau, địa chỉ của biến sẽ lưu byte đầu tiên trong dãy các byte này2ĐỊA CHỈ CỦA BIẾN (tt)Ví dụ khai báo: float x; int a;3Byte 1Byte 2Byte 3Byte 4Địa chỉ biến xCác ô nhớ của biến xByte 100Byte 101Byte 102Byte 103Địa chỉ biến aCác ô nhớ của biến aĐỊA CHỈ CỦA BIẾN (tt)Địa chỉ của biến luôn luôn là một số nguyên (hệ thập lục phân) dù biến đó chứa giá trị là số nguyên, số thực hay ký tự, Cách lấy địa chỉ của biến & tênbiếnVí dụ:void main(){int x=7;float y=10.5;cout] ; 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’.7KHAI BÁOCách 2: Con trỏ char *; Ví dụ: char *chuoi; Trước khi sử dụng phải dùng từ khóa new để cấp phát vùng nhớ Ví dụ: char *str; str = new char[51];//Cấp phát 51 ký tự8NHẬP CHUỖIcin.getline(chuoi, số ký tự tối đa);Ví dụ: char *str; str = new char [30]; cin.getline(str, 30);9VÍ DỤViết chương trình nhập và xuất chuỗi ký tự10#define MAX 255void main(){char str1[MAX];char *str2;cout0: nếu s1 lớn hơn s2.<0: nếu s1 nhỏ hơn s2. int strcmp(char s1[],char s2[]); 13So 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); 14Tì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 trong s1 char *strstr(char s1[], char s2[]); 15BÀI TẬPNhập vào một chuỗi ký tự, xuất ra màn hình chuỗi bị đảo ngược thứ tự các ký tự.Viết chương trình đếm có bao nhiêu khoảng trắng trong chuỗi.Viết chương trình nhập vào hai chuỗi s1 và s2, nối chuỗi s2 vào s1. Xuất chuỗi s1 ra màn hình. Đổi tất cả các ký tự có trong chuỗi thành chữ thường (không dùng hàm strlwr).Đổi tất cả các ký tự trong chuỗi sang chữ in hoa (không dùng hàm struppr).16

Các file đính kèm theo tài liệu này:

  • pptbai_giang_nhap_mon_lap_trinh_chuong_7_gioi_thieu_con_tro_va.ppt