Ký tự trong C (character literal) | Laptrinhcanban.com

Ký tự trong C (character literal)

Cùng tìm hiểu về ký tự trong C. Bạn sẽ học được khái niệm ký tự trong C là gì, cách biểu diễn và in ký tự trong C, cũng như lưu ý khi xử lý ký tự tiếng Việt có dấu trong C sau bài học này.

Ký tự trong C là gì

Ký tự trong C được định nghĩa là chữ cái được biểu diễn bởi một mã ký tự, ví dụ như 1 chữ, 1 chữ số, hoặc là một dấu chẳng hạn.

Các chữ cái như chữ a, chữ Z, chữ số 1, chữ số 2, dấu phẩy , hay ký tự khoảng trắng tạo bởi phím cách đều là ký tự trong C.

Để biểu diễn ký tự trong C, chúng ta đặt ký tự đó vào giữa hai dấu nháy đơn '' như sau:

'a'
'D'
'1'
'2'
','
' '

Cần lưu ý là nếu một số được đặt trong cặp dấu nháy đơn '' thì số đó sẽ được coi là chữ số trong C. Khi đó chúng ta không thể tính toán với chữ số này tương tự với số được. Hãy nhớ hai cách viết dưới đây biểu diễn hai kiểu dữ liệu khác nhau trong C.

1
2
'1'
'2'

Lại nữa, nếu chữ, chữ số hoặc là dấu có từ 2 ký tự trở lên, thì chúng không còn là ký tự nữa mà sẽ trở thành chuỗi ký tự (string literal) trong C. Khi đó, thay vì cặp dấu nháy đơn thì chúng ta sẽ sử dụng cặp dấu nháy kép "" để biểu diễn chuỗi ký tự, ví dụ như "Việt Nam" hay "I love you!" chẳng hạn.

Cách in ký tự trong C ra màn hình

Để in ký tự trong C ra màn hình, chúng ta sử dụng hàm printf với cú pháp sử dụng với ký tự như sau:

printf("%c\n", 'ký tự');

Trong đó printf là hàm xuất dữ liệu trong C, và tham số %c có ý nghĩa chỉ định dữ liệu cần in ở kiểu dữ liệu ký tự.

Ví dụ cụ thể, chúng ta in ra màn hình các ký tự như sau:

#include <stdio.h>
int main(void){
printf("%c\n",'a');
printf("%c\n",'Z');
printf("%c\n",'1');
printf("%c\n",'.');
printf("%c\n",'!');
}

Kết quả:

a
Z
1
.
!

Lưu ý khi xử lý ký tự tiếng Việt có dấu trong C

Trong C, các ký tự tiếng Việt có dấu (ví dụ như ă, ú,đ…) được biểu diễn bởi nhiều hơn 2 mã ký tự, do đó chúng không được coi là ký tự trong C, và chúng ta không thể sử dụng cặp dấu nháy đơn để biểu diễn chúng được.

Ví dụ các cách viết 'ế' hay 'đ' là sai trong C và chương trình sẽ báo lỗi khi chạy như sau:

#include <stdio.h>
int main(void){
printf("%c\n",'đ');
}

>>>Main.c:3:19: error: character too large for enclosing character literal type
>>> printf("%c\n",'đ');

Tương tự thì các ký tự như hán tự tiếng Trung, kanji hoặc hankaku tiếng Nhật (ví dụ như , ) đều được biểu diễn bởi 2 mã ký tự trong C, và chúng thuộc kiểu chuỗi ký tự chứ không phải kiểu ký tự.

Về cách biểu diễn và in chúng ra màn hình như thế nào, hãy tham khảo ở bài viết sau:

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về ký tự trong C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.