Token (đơn vị từ vựng) là thành phần nhỏ nhất có nghĩa trong chương trình C, được trình biên dịch nhận diện.
Các loại Token
- Từ khóa (Keywords)
- Định danh (Identifiers)
- Hằng số (Constants)
- Chuỗi (Strings)
- Toán tử (Operators)
- Ký tự đặc biệt (Separators: ; , ( ) { } [ ])
Từ khóa (Keywords)
32 từ dành riêng, có ý nghĩa đặc biệt, không dùng làm tên biến.
| auto | double | int | struct |
| break | else | long | switch |
| case | enum | register | typedef |
| char | extern | return | union |
| continue | for | signed | void |
| do | if | static | while |
| default | goto | sizeof | volatile |
| const | float | short | unsigned |
C99 thêm: _Bool, _Complex, _Imaginary, inline, restrict. C11 thêm: _Alignas, _Alignof, _Atomic, _Generic, _Noreturn, _Static_assert, _Thread_local.
Định danh (Identifiers)
Tên do người dùng đặt cho biến, hàm, mảng,...
Quy tắc đặt tên
- Bắt đầu bằng chữ cái hoặc gạch dưới (_).
- Chỉ chứa chữ cái, số, gạch dưới.
- Không chứa khoảng trắng.
- Không trùng từ khóa.
- Độ dài tối đa 31 ký tự (chuẩn C89), hiện đại thường dài hơn.
Chuỗi (Strings)
Mảng ký tự kết thúc bằng \0. Mở ngoặc kép "...".
Khai báo
char s[20] = {'s','t','u','d','y','\0'};
char s[20] = "demo";
char s[] = "demo"; // Tự tính kích thước
Ví dụ tổng hợp
#include <stdio.h>
int main() {
char a1 = 'H'; // keyword char
int b = 8;
float d = 5.6;
char str[200] = "demodotcom"; // string
if (b < 10)
printf("Ky tu: %c\n", a1);
else
printf("Float: %f\n", d);
printf("Chuoi: %s\n", str);
return 0;
}
Ky tu: H Chuoi: demodotcom