GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C
Chào các bạn, ngôn ngữ C là một ngôn ngữ thuật giải,
tức là tự nó có thể diễn tả thuật giải cần thực hiện. Nó có rất nhiều ưu điểm
hơn hẳn so với các ngôn ngữ trước đó. Ngày nay có rất nhiều loại ngôn ngữ lập
trình được sử dụng như : C++, C#.... Nhưng cơ bản nó vẫn bắt nguồn từ ngôn ngữ
C. Vì tính tiện dụng cũng như dễ dàng lập trình của nó mà ngôn ngữ C được sử dụng
một phần vào các ứng dụng lập trình cho VĐK. Trong loạt bài giới thiệu về ngôn
ngữ C này, tôi xin phép chỉ đi vào những vấn đề cơ bản nhất của ngôn ngữ C để
phục vụ cho việc lập trình nhúng cho VĐK. Rất hi vọng các bạn sau khi tham khảo
bài đọc có thể hiểu được một cách tổng quan về ngôn ngữ C cũng như cách sử dụng
cơ bản của nó với VĐK. Để có thể sử dụng nhúng ngôn ngữ C trên một số các phần
mềm lập trình cho VĐK : 8051, PIC, AVR…v.v.. mời các bạn có thể chuyển qua các
bài TAB hướng dẫn khác kết hợp. Xin chân thành cảm ơn!
I. Giới thiệu về ngôn ngữ C
v Cha đẻ ngôn ngữ Clà Dennis Ritchie tại Bell Telephone năm 1972, tiền thân
của ngôn ngữ B, KenThompson, cũng tại Bell Telephone. Đây là ngôn ngữ lập trình
có cấu trúc và phân biệt chữ Hoa - thường
(case sensitive).
v Một số ưu điểm của C:
·
Rất mạnh và linh động
có khả năng thể hiện bất cứ ý tưởng nào
·
Được sử dụng rông rãi bởi
các nhà lập trình chuyên nghiệp
·
Có tính khả chuyển,
ít thay đổi trên các hệ thống máy tính khác nhau
·
Rõ ràng,
cô đọng
·
Lập trình đơn thể,
tái sử dụng thông qua hàm.
v Môi trường lập trình Borlan C++ 3.1 for DOS
, Visual C++ 6.0, win 32 Console Application.
II.
Đặc điểm ngôn ngữ C
2.1. Các
kí tự được sử dụng trong C
Ngôn
ngữ C được xây dựng trên bộ kí tự gồm :
·
26chữ cái Latinh hoa và thường : A, B, C,
…, Z, a, b, c, …, z.
·
Bộ chữ số thập phân
: 0, 1, 2, …, 9
·
Các kí hiệu toán học
: + -
* / = <>
( )
·
Các kí tự đặc biệt
: . , : ; [ ]
% \ #
$ ‘
·
Kí tự gạch nối
và khoảng trắng
2.2. Từ khóa trong C
Là các từ có 1 ý nghĩa
xác định. Nó có thể dùng để diễn đạt các phát biểu như khai báo các kiểu dữ liệu,
viết các toán tử và câu lệnh.
Tôi sẽ chia ra thành
các nhóm từ khóa như sau :
v Nhóm từ khóa khai báo kiểu dữ liệu
·
Kiểu số nguyên
: Char, int, short, unsigned, long…
·
Kiểu số thực
: float , double …
·
Kiểu rỗng :
void
·
Kiểu hằng
: const
·
Kiểu rời rạc :
enum
·
Kiều cấu trúc
: struct, union
·
Khai báo biến
: static, extern, volatille …
v Nhóm từ khóa dành cho phát biểu
·
Dạng chọn
: if, if – else , switch – case – default
·
Dạng lặp
: for, while, do – while
·
Dạng điều khiển :
Break, continue, return, goto, …
2.3. Tên trong C
Dùng để xác định các đối
tượng khác nhau trong chương trình như : Hằng, biến, mảng, hàm … Cần chú ý
trong C phân biệt chữ hoa và chữ thường.
Quy tắc đặt tên trong C
·
Không bắt đầu bằng số
·
Không chứa kí tự đặc biệt và khoảng trắng.
2.4. Khái niệm kiểu dữ liệu
Là tập hợp các giá trị
mà biến có thể nhận được thuộc kiểu dữ liệu đó :
Các kiểu dữ liệu :
v Kiểu số nguyên :
· Kiểu số nguyên có dấu :
n
bit có dấu : -2n-1 … + 2n-1 – 1
· Kiểu số nguyên không dấu :
n
bit không dấu : 0 … 2n-1
v Kiểu số thực :
v Chú ý :
· Kiểu Boolean trong C chưa được định nghĩa rõ ràng
và thường coi là dạng số nguyên.
Trong
C, một số nguyên có giá trị bằng 0 sẽ được hiểu là False (sai), còn các số
nguyên khác 0 sẽ được hiểu là True (đúng), thường ta lấy là 1.
Với
kết quả tính là True thì luôn có giá trị nguyên là 1
· Trong C kiểu Char thực chất là một kiểu kí tự,
tuy nhiên trong C cũng cho phép dùng kiểu kí tự này như là 1 số nguyên ( Đây là
1 đặc tính mềm hay linh hoạt với ngôn ngữ C )
Do
đó trong biểu thức số học thì char là kiểu nguyên còn trong biểu thức kí tự thì
char lại là kí tự và kí tự kiểu char được biểu diễn thông qua bảng mã ASCII.
2.5. Đặc điểm lệnh trong C.
Là một chỉ thị trực tiếp, hoàn chỉnh nhằm ra lệnh cho máy tính thực hiện
một số tác vụ nhất định nào đó. Để tiện theo dõi tôi chia ra làm các trường lệnh
sau :
· Lệnh đơn giản là những lệnh đơn không chứa các lệnh
khác: gán, gọi hàm, …
· Lệnh cấu trúc: Rẽ nhánh, vòng lặp, khối lệnh đặt
trong {} …
· Giữa các câu lệnh ngăn cách với nhau bằng dấu
“;”
· Bên trong khối lệnh có thể thêm nhiều khối
lệnh khác nữa
· Rộng ra thân hàm cũng là 1 khối lệnh
2.6. Biến, Hằng trong C
2.6.1 Biến :
Là đại lượng có thể
thay đổi được giá trị.
Cách khai báo :
v C2
: Khai báo thông qua sử dụng từ khóa typedef.
Typedef int a;
a x, y, z ;
Chú
ý : Cần chú ý tới kích thước kiểu dữ liệu khi khai báo cho biến để tránh lãng
phí.
2.6.2. Hằng
Là
đại lượng không thay đổi giá trị
Ngoài
lập trình C trên turboC hay Cfree việc định nghĩa hằng được thực hiện bằng từ
khóa : const
Cú
pháp: Const kiểu dữ
liệu tên hằng = giá trị;
Trong
lập trình C cho VĐK hằng được định nghĩa qua từ khóa define vì từ khóa Const
không tươn thích cho một số phần mềm lập trình biên dịch. (Bản chất define là một
kiểu định nghĩa nhãn thay thế không phải hằng) . Tuy nhiên ta có thể tạm sử dụng
trong trường hợp này.
Cú
pháp:
#define tên hằng giá trị
Chú
ý :
v Tên hằng thường được viết hoa để phân biệt với biến
v Hằng được chia làm 2 loại hằng thường và hằng kí hiệu :
·
Hằng thường :
Cú pháp : <kiểu dữ
liệu> tên hằng = giá trị;
·
Hằng kí hiệu :
Cú
pháp : #define
tên hằng giá trị
Hằng kí tự, hay hằng xâu kí tự cũng thường
được dùng :
VD1 : #define M ‘a’
=> 1byte
Ở đây là hằng kí tự : chỉ kí tự a có giá
trị nguyên là 97
‘a’ được sử dụng trong biểu thức số học
VD2 : #define M “a”
=> 2 byte
Đây là hằng xâu kí tự. Chiếm 2 byte bộ
nhớ.
Như
vậy trong bài viết đầu tiên này tôi đã giới thiệu đến các bạn một số đặc điểm
cơ bản của ngôn ngữ C. Trong bài thứ 2 tôi sẽ đi tiếp sang biểu thức và các
toán tử trong C. Cám ơn các bạn đã đón xem!
Mọi ý kiến thắc mắc các bạn có thể gửi qua địa chỉ
gmail, hoặc số điện thoại cung cấp từ trang chủ của Blog hoặc comment trực tiếp
phía dưới.
Nếu
copy bài mong bạn đọc để lại nguồn, xin cảm ơn !
Mọi thắc mắc vui lòng liên hệ qua:
Facebook: Rid HaUI
Gmail: dienturid@gmail.com
0 nhận xét:
Đăng nhận xét