50 ký tự là gì
Chào các bạn, trong bài viết này, ta sẽ cùng nhau tìm hiểu về kiểu dữ liệu ký tự. Liệu kiểu dữ liệu ký tự có gì giống, khác so với kiểu dữ liệu số? Khi xài kiểu ký tự cần lưu ý các đặc điểm nào? Các kiến thức cơ bản về kiểu ký tự? Cùng nhau đọc bài viết này và các bạn sẽ có được sự nhìn nhận cơ bản về 0Ký tự là gì?Ký tự character (ký hiệu trong c++ là char) là 1 kiểu dữ liệu có kích thước là 1Ký tự trong c++ được hiểu là ký tự trong bảng mã 2.
Ký tự thứ 32 là ký tự khoảng trắng. Kiểu ký tự char luôn được đặt ở giữa 2 dấu nháy đơn 3 .Cách khai báo kiểu ký tự cũng giống như khai báo kiểu dữ liệu số:
Ký tự trong c++ khi được lưu trữ vào bộ nhớ máy sẽ được lưu như kiểu số nguyên, và khi in ra màn hình sẽ chuyển về dạng ký tự rồi xuất ra, tức là:
Chính vì vậy, ta có thể cộng kiểu ký tự với 1 số nguyên n, kết quả xuất ra là ký tự mang mã số của ký tự đầu cộng với n trong bảng mã ASCII:
Mảng ký tựMảng ký tự là tập hợp các ký tự một cách tuần tự, bên trong dấu ngoặc kép 4Để khai báo mảng ký tự, ta có thể khai báo bằng từ khóa 5 trong thư viện 6 hoặc từ khóa char ten_bien [so_luong_phantu].
Tính số lượng phần tử có trong mảngĐể khai báo số ký tự có trong mảng, ta sử dụng hàm 7 có sẵn trong thư viện 6.
Ta cần phân biệt rõ 2 khái niệm là số phần tử của mảng, và số ký tự có trong mảng. Ta có khai báo sau:
Trong đó hàm 9 là số lượng phần tử có trong mảng, sẽ bao gồm phần tử rỗng và phần tử ký tự, còn hàm 7 sẽ chỉ tính các phần tử ký tự.Vậy nếu ta bị cấm sử dụng thư viện 6 thì sao?Chúng ta có thể sử dụng vòng lặp, vậy thì điều kiện để kết thúc vòng lặp là khi nào? Trước tiên, ta cần tìm hiểu về ký tự 2.Ký tự NullKý tự 2, ký hiêu là 4, đây là ký tự báo hiệu kết thúc chuỗi, VD ta có khai báo sau 5. Khi đó chương trình sẽ tự động chèn ký tự 4 vào cuối mảng, mảng sẽ có dạng như sau:a01234Ký tự'a''b''c''d''\0'Vậy khi khai báo 1 mảng có n ký tự, thì ta phải khai báo thêm 1 ký tự, tức là n+1 phần tử vào mảng để chừa 1 chỗ cho ký tự 4, nếu không có ký tự 4 thì khi in ra màn hình mảng sẽ có lỗi: 0 1Để khắc phục, t có thể chèn thêm ký tự 4 vào cuối. 2 3Trở lại vấn đề trên, bây giờ ta đã biết ở cuối mỗi mảng sẽ có ký tự 4 báo hiệu kết thúc mảng, vậy thì vòng lặp của chúng ta sẽ có dạng như sau: 4Nhập vào mảng ký tựPhương phức nhập mảng ký tự không giống nhập mảng trong kiểu số, phải nhập từng phần tử, đơn giản hơn nó giống như phương thức nhập một biến kiểu dữ liệu số. 5Nhưng có vấn đề với việc nhập mảng có chứa khoảng trắng. 6Nếu ta chỉ dùng hàm nhập cin thì khi gặp dấu cách, chương trình sẽ tự hiểu là kết thúc mảng, và đưa toàn bộ mảng phía sau dấu cách vào bộ nhớ đệm. Nếu phía sau lại là câu lệnh nhập chuỗi ký tự thì các ký tự trong bộ nhớ sẽ chuyển vào mảng phía sau 7Để giải quyết vấn đề này, ta có thể sử dụng câu lệnh 1 đối với 2 hoặc 3 đối với 5 , lấy luôn cả dấu cách khi nhập dữ liệu vào. 8Hoặc có thể dừng mảng ở 1 ký tự bất kỳ bằng cách 9Tạm kếtKiểu dữ liệu ký tự có phần giống và cũng có phần khác so với kiểu dữ liệu số, ở bài viết này mình sẽ dừng ở việc khai báo nhập xuất cho mảng ký tự, phần sau mình sẽ nói rõ thêm về bộ nhớ đệm và khai báo kiểu ký tự, các hàm hay được sử dụng nhiều trong mảng ký tự. Cảm ơn các bạn đã theo dõi, nếu được, nhớ đánh giá cho mình hoặc để lại comment ý kiến đóng góp của bạn về bài viết của mình. |