2. Biến, hằng, câu lệnh và biểu thức
2.1. Hằng ký tự và hằng chuỗi
Hằng số cũng giống như biến nhưng nội dung của nó không thể thay đổi trong quá trình thực hiện chương trình. Trong C, ta có hai kiểu hằng số, đó là hằng thường (literal constant) và hằng ký hiệu (symbol constant).
2.1.1. Hằng thường
Cách khai báo hằng này thường được dùng để khởi tạo giá trị cho biến.
<kiểu> <tên hằng> = <giá trị>; Những hằng số nguyên có thể được viết theo 3 dạng sau:
- Một hằng số bắt đầu với bất kỳ một ký số nào khác 0 sẽ được hiểu là một số nguyên ở hệ thập phân.
- Một hằng số bắt đầu với số 0 sẽ được hiểu là một số nguyên ở hệ bát phân. - Một hằng số bắt đầu với 0x hoặc 0X sẽ đuợc hiểu là một số nguyên ở hệ thập lục phân. Ví dụ: int a = 1506; // 150610 int b = 01506; // 15068 int c = 0x1506; // 150616 int d = 0X1506; // 150616
Những hằng số chấm động có thể viết theo ký hiệu khoa học.
Ví dụ:
float a = 1.76E2; // = 1.76*102 = 176 float b = 29.12e2; // = 29.12*102 = 2912 float c = 15.6e-3; // = 15.6*10-3 = 0.0156
2.1.2. Hằng ký hiệu
Hằng ký hiệu là một hằng được gán cho một cái tên trong chương trình. Khác với hằng thuờng, hằng ký hiệu không thể thay dổi giá trị trong quá trình thực hiện chương trình.
Có hai cách để khai báo hằng ký hiệu như sau: - Sử dụng chỉ thị #define
Cú pháp khai báo hằng ký hiệu
#define <tên hằng> <giá trị>
Ví dụ:
#define MAX 100 #define PI 3.14
Dòng #define không kết thúc bằng dấu chấm phẩy vì nó chỉ là một chỉ thị tiền xử lý chứ không phải một câu lệnh. Cách làm này thực ra là thay thế cụm từ này bằng cụm từ kia. Chỉ thị #define có thể đặt ở bất cứ đâu trong chương trình nhưng thường được nhóm lại ở phần đầu chương trình.
- Sử dụng từ khóa const
Cách khai báo hằng này giống với cách khai báo hằng thường (tức là phải xác định kiểu của hằng).
Ví dụ:
const int max = 100; const float PI = 3.14;