Giống như trong C#, C++ cũng có chứa hằng (Hằng và Literal). Để tìm hiểu chi tiết về Hằng và Literal trong C++, bạn đọc có thể tham khảo bài viết dưới đây của Mytour.
Mục Lục bài viết:
1. Hằng và Literal trong C++ là gì?
2. Hằng số nguyên (Integer Literal) trong ngôn ngữ C++
3. Boolean Literal trong ngôn ngữ C++
4. Hằng số thực (Floating Point Literal) trong C++
5. Hằng ký tự (Character Literal) trong C++
6. Hằng chuỗi trong C++
7. Định nghĩa hằng trong C++
7.1. Sử dụng bộ tiền xử lý #define trong C++
7.2. Từ khóa const trong C++
1. Khái Niệm về Constant và Literal trong C++
Trong ngôn ngữ lập trình C++, constant (hằng) đề cập đến các giá trị 'không thay đổi'. Những giá trị này, gọi là literal, không thể được thay đổi trong quá trình thực thi chương trình.
Các hằng (constant) tương đương với các biến và có thể thuộc các kiểu dữ liệu cơ bản trong chương trình C++.
2. Hằng số nguyên (Integer Literal) trong ngôn ngữ C++
1. Các Kiểu Hằng Số Nguyên trong C++
Trong ngôn ngữ lập trình C++, có nhiều loại hằng số nguyên khác nhau như decimal (cơ số 10), hexadecimal (cơ số 16) và octal (cơ số 8). Chúng có giá trị tiền tố để xác định cơ số: 0X hoặc 0x cho hexadecimal, 0 cho octal và decimal không có giá trị tiền tố.
Hằng số nguyên cũng có thể đi kèm với hậu tố, bao gồm hậu tố U là viết tắt của Unsigned và L là viết tắt của Long.
Dưới đây là một ví dụ về các hằng số nguyên trong C++:
212 // hợp lệ
215u // hợp lệ
0xFeeL // hợp lệ
078 // không hợp lệ: 8 không phải là ký tự trong hệ cơ số octal
032UU // không hợp lệ: không lặp lại hậu tố
3. Boolean Literal trong ngôn ngữ C++
Trong một chương trình C++, có 2 Boolean Literal và các từ khóa C++ chuẩn. Trong đó giá trị (1) đại diện cho True và (2) đại diện cho False.
Cần lưu ý rằng chúng không thể được đặt là 1 cho giá trị True và 0 cho giá trị False.
4. Số thực không đổi (floating point literal) trong C++
Để khai báo số thực không đổi trong C++ rất đơn giản. Số thực không đổi trong C++ bao gồm các phần số nguyên (integer), phần số phân (fractional), số thập phân (decimal) và phần số mũ (exponent). Do đó, chúng ta có thể biểu diễn số thực không đổi theo nhiều dạng khác nhau.
Tuy nhiên, cần lưu ý một số điểm về hậu tố khi sử dụng số thực không đổi. Khi sử dụng dạng thập phân, chúng ta phải bao gồm phần số thập phân hoặc phần số mũ hoặc cả cả hai. Khi thể hiện dạng mũ, phải bao gồm cả phần nguyên, phần thập phân hoặc cả hai. Dạng này có thể chứa các ký tự E hoặc e.
Dưới đây là ví dụ về số thực không đổi trong C++:
3.14159 // giá trị đúng
3.14159E-5L // giá trị đúng
510E // không hợp lệ: thiếu phần số mũ
210f // không hợp lệ: thiếu phần thập phân hoặc số mũ
.e55 // không hợp lệ: thiếu phần nguyên hoặc phân số
5. Hằng ký tự (character literal) trong C++
Trong C++, hằng ký tự được đặt trong dấu nháy đơn, bạn có thể viết bất kỳ số lượng ký tự nào tùy ý, miễn là hằng đó nằm trong dấu nháy đơn.
Nếu ký tự hằng bắt đầu bằng L (viết hoa), điều này chỉ định rằng đó là hằng ký tự mở rộng (wide character literal), và do đó, chúng ta cần lưu trữ nó trong biến kiểu wchar_t. Nếu không, chúng ta có thể lưu trữ nó trong biến kiểu char.
Chú ý:
Hằng ký tự trong C++ có thể là một ký tự đơn giản, chuỗi ký tự hoặc Escape Sequence.
Dưới đây là bảng danh sách escape sequence trong C++:
Escape sequence Mô tả
\n Dòng mới
\\ Kí tự gạch nối \
\' Ký tự gạch đôi \'
\' Ký tự gạch đơn \'
\? Ký tự hỏi
\a Ký tự báo động hoặc chuông
\f Dòng mới (Form Feed)
Ký tự Backspace
\ooo Số hệ cơ số 8, có độ dài từ 1 đến 3 chữ số
\xhh . . . Số hệ cơ số 16 của một hoặc nhiều chữ số (hh là các ký số hex)
\r Xuống dòng (Carriage return)
\t Tab ngang
\v Tab dọc
Dưới đây là một ví dụ về ký tự escape sequence:
#include
using namespace std;
int main() {
cout << 'Xin chào';
return 0;
}
Khi chương trình được biên dịch và chạy, nó sẽ hiển thị kết quả sau:
Xin chào Mytour
6. Chuỗi hằng trong C++
Bài tiếp theo là về chuỗi hằng trong ngôn ngữ lập trình C++. Chuỗi hằng trong C++ được đặt trong dấu nháy đôi vì nó chứa nhiều ký tự, tương tự như hằng ký tự.
Chuỗi hằng trong C++ có thể là chuỗi ký tự, các ký tự đơn giản hoặc Escape Sequence, và được sử dụng để phá vỡ dòng dài.
Ví dụ về chuỗi hằng trong C++:
'xin chào, Mytour'
'xin chào, \
'Mytour'
'xin chào, ' 'T' 'aimienphi'
7. Khái báo hằng trong C++
Để khai báo hằng trong C++ chúng ta có thể sử dụng bộ tiền xử lý #define hoặc từ khóa const.
7.1 Sử dụng bộ tiền xử lý #define trong C++
Dưới đây là mẫu cú pháp sử dụng bộ tiền xử lý #define trong C++:
#define macro_name giá_trị
7.2 Từ khóa const trong C++
Để khai báo hằng, chúng ta sử dụng từ khóa const. Cú pháp khai báo hằng với từ khóa const như sau:
const kiểu_dữ_liệu tên_hằng = giá_trị;
Ngoài ra, khi định nghĩa hằng trong chương trình C++, chúng ta nên sử dụng chữ viết hoa cho tên hằng.
Bài viết trên đây từ Mytour giới thiệu về Constant và Literal trong C++. Trong những bài viết tiếp theo, Mytour sẽ tiếp tục giới thiệu về Modifier trong C, áp dụng trong lập trình. Bài viết về Modifier trong C sẽ trình bày về các kiểu Modifier cùng những lưu ý quan trọng khi sử dụng chúng.