Các khái niệm cơ bản (2)
Hằng là các đại lượng mà giá trị của nó không thay đổi trong quá trình tính toán. Tên hằng : Nguyên tắc đặt tên hằng ta đã xem xét trong mục 1.3. Để đặt tên một hằng, ta dùng dòng lệnh sau : ...
Hằng là các đại lượng mà giá trị của nó không thay đổi trong quá trình tính toán.
Tên hằng :
Nguyên tắc đặt tên hằng ta đã xem xét trong mục 1.3.
Để đặt tên một hằng, ta dùng dòng lệnh sau :
#define tên hằng giá trị
Ví dụ :
#define MAX 1000
Lúc này, tất cả các tên MAX trong chương trình xuất hiện sau này đều được thay bằng 1000. Vì vậy, ta thường gọi MAX là tên hằng, nó biểu diễn số 1000.
Một ví dụ khác :
#define pi 3.141593
Đặt tên cho một hằng float là pi có giá trị là 3.141593.
Các loại hằng :
Hằng int :
Hằng int là số nguyên có giá trị trong khoảng từ -32768 đến 32767.
Ví dụ :
| #define number1 -50 | Định nghiã hằng int number1 có giá trị là -50 | ||
| #define sodem 2732 | Định nghiã hằng int sodem có giá trị là 2732 |
Chú ý :
Cần phân biệt hai hằng 5056 và 5056.0 : ở đây 5056 là số nguyên còn 5056.0 là hằng thực.
Hằng long :
Hằng long là số nguyên có giá trị trong khoảng từ -2147483648 đến 2147483647.
Hằng long được viết theo cách :
1234L hoặc 1234l
( thêm L hoặc l vào đuôi )
Một số nguyên vượt ra ngoài miền xác định của int cũng được xem là long.
Ví dụ :
| #define sl 8865056L | Định nghiã hằng long sl có giá trị là 8865056 | |
| #define sl 8865056 | Định nghiã hằng long sl có giá trị là 8865056 |
Hằng int hệ 8 :
Hằng int hệ 8 được viết theo cách 0c1c2c3....Ở đây ci là một số nguyên dương trong khoảng từ 1 đến 7. Hằng int hệ 8 luôn luôn nhận giá trị dương.
Ví dụ :
| #define h8 0345 | Định nghiã hằng int hệ 8 có giá trị là | |
| 3*8*8+4*8+5=229 |
Hằng int hệ 16 :
Trong hệ này ta sử dụng 16 ký tự : 0,1..,9,A,B,C,D,E,F.
| Cách viết | Giá trị | ||
| a hoặc A | 10 | ||
| b hoặc B | 11 | ||
| c hoặc C | 12 | ||
| d hoặc D | 13 | ||
| e hoặc E | 14 | ||
| f hoặc F | 15 |
Hằng số hệ 16 có dạng 0xc1c2c3... hặc 0Xc1c2c3... Ở đây ci là một số trong hệ 16.
Ví dụ :
#define h16 0xa5
#define h16 0xA5
#define h16 0Xa5
#define h16 0XA5
Cho ta các hắng số h16 trong hệ 16 có giá trị như nhau. Giá trị của chúng trong hệ 10 là :
10*16+5=165.
Hằng ký tự :
Hằng ký tự là một ký tự riêng biệt được viết trong hai dấu nháy đơn, ví dụ 'a'.
Giá trị của 'a' chính là mã ASCII của chữ a. Như vậy giá trị của 'a' là 97. Hằng ký tự có thể tham gia vào các phép toán như mọi số nguyên khác. Ví dụ :
'9'-'0'=57-48=9
Ví dụ :
| #define kt 'a' | Định nghiã hằng ký tự kt có giá trị là 97 |
Hằng ký tự còn có thể được viết theo cách sau :
' c1c2c3'
trong đó c1c2c3 là một số hệ 8 mà giá trị của nó bằng mã ASCII của ký tự cần biểu diễn.
Ví dụ : chữ a có mã hệ 10 là 97, đổi ra hệ 8 là 0141. Vậy hằng ký tự 'a' có thể viết dưới dạng '141'. Đối với một vài hằng ký tự đặc biệt ta cần sử dụng cách viết sau ( thêm dấu ) :
| Cách viết | Ký tự | ||
| ' | ' | ||
| '"' | " | ||
| ' | |||
| ' ' | (chuyển dòng ) | ||
| ' ' |