2.I.6.I. Hằng
Hăng lă đại lượng có giâ trị khơng thay đổi trong q trình tỉnh tôn.
Có hai loại hằng lă hằng khơng có tín, nó mang giâ trị bình thường tức thời như lă: 8, 15.7 hay ‘a’. Loại thứ hai lă hằng có tín. Sau năy gọi
chung lă hằng.
Khai bâo của hằng có tín:
const <kiểu_dữ_liệu> <tín_hằng> - <giâ_trị>;
Trong đó:
const: Từ khóa khai bâo hằng
kiễu_dữ_liệu: kiểu dữ liệu của hằng, do người dùng định nghĩa hoặc
theo kiểu có sẵn
tín_hằng: Tín của hằng đặt theo qui tắc đặt tín giâ_trị: Giâ trị của hằng.
Ví dụ 2.1.1
const int X = 5; // khai bâo hằng kiểu int tín lă X có giâ trị 5
const char a = ‘h’; // khai bâo hằng kiểu char tín lă a, có giâ trị lă kí tựh
const char* s = “hi”; // khai bâo một hằng xđu kí tự, tín lă s, có giâ
trị lă “hi”
Khi gân giâ trị cho hăng, trình biín dịch ngầm hiểu lă hệ 10 nhưng
cũng có thể biểu diễn ở câc hệ khâc:
Hệ 16: Thím Ox ở đầu giâ trị. Ví dụ: 0x24, OxAl Hệ 8: Thím 0 ở đầu giâ trị. Ví dụ: 025, 057
Như đê giới thiệu ở trín, câc kí tự được viết trong chương trình phải đặt ữong cặp nhây đơn lă ‘ ‘. Ví dụ ‘A’ lă một hăng kí tự. Trong khi đó
câc hằng xđu kí tự được đặt trong cặp nhây kĩp. Ví dụ: “hi” lă một xđu. Xđu năy nếu cho in ra măn hình thì chỉ xuất hiện hai kí từ lă h vă i liền
nhau nhưng thực chất xđu “hi” có ba kí tự: ‘h’ ‘i’ ‘\0’ trong đó kí tự ‘\0’ lă kí tự điều khiển bâo cho trình biín dịch biết lă đê kết thúc một xđu.
Khai bâo hằng xđu kí tự cũng khâc so với câc kiểu dữ liệu khâc. Chủ yếu
khi lăm việc với câc xđu kí tự, chúng ta phải dùng hằng con ưỏ:
const char * s =“Xin chao cac ban”;
Như khai bâo trín thì s lă một con trỏ hằng trỏ tới địa chỉ ơ nhớ đầu tiín của vùng nhớ có chứa xđu “Xin chao cac ban”. Chi tiết về xđu chúng
ta cũng sẽ có một chương giới thiệu cụ thể.
Khai bâo hằng trong ngôn ngữ c chỉ có hai vị trí để khai bâo như sau:
• Ở ngoăi mọi hăm: Hằng lúc đó sẽ mang giâ trị vĩnh viễn kể từ khi
chương trình dịch gọi đến dòng khai bâo hăng cho tới hết chương trình. Ví dụ như chương trình sau lă hoăn toăn hợp lệ:
Ví dụ 2.1.2
#include <conio.h> //Khai bâo tệp thư viện hăm văo với giao diện
DOS
const int A =5; int main()
{
printf (“hang a co gia tri:%d ”,A); //Hăm xuất dữ liệu: “hang a co
gia tri:5”
return -1;
}
const char * s - 'hello";
Tuy nhiín, nín viết tất că câc khai bâo hằng ở ngoăi mọi hăm lín
phần hín của chương trình, dưới câc chỉ dđn tiền xử lý để chương trình hợp logic vă có hệ thống từ trín xuống dưới hơn. Vă nếu không quâ cần
thiết, chỉ cần khai bâo hằng trong một hăm năo đỏ lă đủ.
•Ở trong một hăm năo đó: Khi đó phải viết lệnh khai bâo hằng ở trín
tất cả câc cđu lệnh điều khiển, câc phĩp tôn v.v... Như ví dụ dưới đđy:
Ví dụ 2.1.3 #include <stdio.h> #include <conio.h> int main() { const int a =5;
printf (“hang a co gia tri:%d ”,a);
return -1; }
Chú ý. Neu khai bâo một hăng như sau: const A = 5 vẫn khơng có
lỗi. Ngầm định thì A sẽ lă hằng có kiểu int.
Để khai bâo một hằng chúng ta còn cộ thể dùng định nghĩa macro với từ khoâ define (Macro sẽ được giới thiệu chi tiết ở cuối chương).
Ví dụ 2.1.4: Xĩt chương trình sau: #include <stdio.h> #include <conio.h> #define A 5 int main() { //a=l; printf("%c %d\n", A,A); return -1; }
Chương trình năy sẽ ỉn ra hình con đầm pich trong bộ băi Tđy vă mê
của hình đó có giâ trị 5. Để chương trình được tường minh, dễ đọc, dễ
phđn biệt với biến thì câc hằng nín được đặt tín bằng chữ in hoa.
2.1.6.2. Biển
Biến lă một đại lượng có giâ trị thuộc một kiểu dữ liệu năo đó vă giâ
trị năy có thể thay đổi trong thịi gian tồn tại của biến. Ví dụ int X lă một biến tín lă X có giâ trị kiểu int. Để khai bâo biến ta sử dụng cú phâp sau:
<kiểu_dữ_liíu> <tín_biếnl> [=<giâ_trịl>, <tín_biến2> [= <giâ_tr|2>...JJ;
Trong đó:
<kiểu_dữ_liệu>: lă tín kiểu dữ liệu đê có. Đó cỏ thể lă kiểu dữ liệu
chuẩn, kiểu dữ liệu cơ sở đê giới thiệu ở fren hoặc kiểu dữ liệu do người dùng tự định nghĩa.
<tín_biếnl>,<tín_bỉến2>: Tín biến cần khai bâo, tuđn thủ theo qui
tắc đặt tín.
<giâ_trịl>, <giâ_tr|2>: Giâ trị khởi đầu sẽ được gân cho câc biến
tương ứng khi khai bâo biến. Biến sẽ có giâ trị năy nếu khơng gân lại giâ trị cho biến.
Trín một dịng lệnh có thể khai bảo nhiều biến cùng kiểu cùng một lúc, câch nhau ben dấu phẩy , vă dòng khai bâo sẽ kết thúc bằng dấu; . Tín của biến nín được đặt bằng câc chữ câi in thường, có thể kết hợp với
cả chữ số. Lưu ý khi đặt tín biến chỉ nín mang tính chất gợi nhớ, ngắn
gọn cho chương trình đỡ rườm ră, phức tạp.
Ví dụ 2.1.5. Câc câch đặt tín biến hợp lệ vă khơng hợp lệ
int tempi =0; temp2 =1; int X, y = 2;
int long; float 2yx5;
char ngay-sinh; char ngay sinh:
// hợp lệ