Trong bài viết này, chúng ta sẽ khám phá về cú pháp lập trình C và tầm quan trọng của nó trong việc tránh các lỗi cú pháp. Hãy cùng tìm hiểu nhé!
Cú pháp lập trình C: Bước đầu vào thế giới lập trình
Cú pháp là cách các từ khóa và token trong ngôn ngữ lập trình C được sắp xếp sao cho có ý nghĩa. Nếu như bạn sắp xếp các chữ cái "T", "Ô", "T" thành từ "TÔI", thì nghĩa là "TÔI" là đúng, nhưng nếu bạn viết thành "TIÔ" thì không có ý nghĩa gì cả.
Dấu chấm phẩy (;) - Phần quan trọng không thể thiếu trong C
Trong ngôn ngữ lập trình C, dấu chấm phẩy (;) đóng vai trò là phần kết thúc của mỗi lệnh. Mọi lệnh trong C đều phải kết thúc bằng dấu chấm phẩy để đánh dấu sự kết thúc của một câu lệnh logic.
Dưới đây là ví dụ về hai đoạn lệnh:
printf("Xin chào, thế giới! \n");
return 0;
Cú pháp lệnh trong lập trình C
Một lệnh trong lập trình C bao gồm các token, có thể là từ khóa, định danh, hằng số, chuỗi hoặc ký tự. Có một số kiểu lệnh cơ bản như sau:
- Lệnh khai báo
- Lệnh gán
- Lệnh thực thi
- Lệnh so sánh và rẽ nhánh
- Lệnh lặp
Lệnh khai báo
Lệnh khai báo được sử dụng để khai báo các phần tử được sử dụng trong chương trình.
Với tiền xử lý, chúng ta sử dụng #include
và #define
.
Với khai báo biến và hằng, chúng ta sử dụng cấu trúc: Kiểu_dữ_liệu
Ví dụ:
int a;
float b;
unsigned char c;
Chúng ta cũng có thể khai báo và gán giá trị đầu tiên cho biến hoặc hằng như sau:
int a = 100;
float b = 0.11;
Lệnh gán
Lệnh gán được sử dụng để sao chép dữ liệu từ một biến này sang một biến khác hoặc gán giá trị vào biến. Cấu trúc của lệnh gán là: Tên_biến = Giá_trị;
Ví dụ:
a = 100; // gán giá trị 100 cho a
a = b; // gán giá trị b cho a
Khi sử dụng lệnh gán, chúng ta cần lưu ý về kiểu dữ liệu của biến đó. Nếu hai biến có kiểu dữ liệu khác nhau, có thể xảy ra lỗi. Trong trường hợp đó, chúng ta cần ép kiểu dữ liệu, điều này sẽ được học trong bài sau.
Lệnh thực thi
Lệnh thực thi thực chất là sử dụng các hàm và truyền các tham số vào. Máy tính sẽ thực thi và trả về kết quả.
Cú pháp: Giá_trị_trả_về = Tên_Hàm(Tham_số_1, Tham_số_2, Tham_số_3.... );
Ví dụ:
printf("Xin chào thế giới!"); // Thực chất là dùng hàm printf của thư viện
Lệnh so sánh và rẽ nhánh
Chúng ta sẽ học về câu lệnh if
, else
và cấu trúc rẽ nhánh trong bài viết tiếp theo.
Lệnh lặp
Chúng ta sẽ học về cấu trúc vòng lặp và câu lệnh for
, while
trong bài viết tiếp theo.
Khoảng trắng trong C
Một dòng có thể chứa khoảng trắng, có thể là các dòng comment và được bỏ qua khi biên dịch.
Một khoảng trắng trong C có thể là dòng trống, tab, dòng mới hoặc comment. Khoảng trắng giúp phân tách các thành phần trong một lệnh, như từ khóa int
, giúp bộ biên dịch hiểu và phân biệt chúng.
Ví dụ:
int diemthi;
Phải có ít nhất một khoảng trắng giữa int
và diemthi
để bộ biên dịch hiểu và phân biệt chúng.
Mặt khác, xem lệnh dưới đây:
luong = luongcoban + phucap; // Tính tổng lương
Không cần thiết có khoảng trắng giữa luong
và dấu =
, hoặc giữa dấu =
và luongcoban
vì các thành phần đã được phân tách bằng phép toán.
Comment trong C
Chú thích giống như việc trợ giúp trong chương trình C và được bỏ qua bởi bộ biên dịch. Chú thích bắt đầu bằng /*
và kết thúc bằng */
để chú thích nhiều dòng. Ngoài ra, chúng ta cũng có thể sử dụng //
để chú thích cho một dòng.
Định danh trong C
Một định danh trong C là một tên được sử dụng như một biến, hàm hoặc thành phần được người dùng định nghĩa. Một định danh có thể bắt đầu bằng các ký tự từ "A" đến "Z", "a" đến "z" và dấu gạch dưới (_) và số từ 0 đến 9.
Trong ngôn ngữ C, không cho phép sử dụng các dấu như @, $ và % trong tên định danh. Các định danh trong C phân biệt chữ thường và chữ hoa. Dưới đây là một số ví dụ về những định danh hợp lệ:
- nam
- hoangminh
- abc
- ha_noi
- a_123
- sinhvien
- _hocphi
- j
- d23b5
- nhanVien
Từ khóa trong C
Dưới đây là danh sách các từ khóa được dành riêng trong ngôn ngữ lập trình C. Các định danh hoặc biến, hằng không thể được đặt trùng với các từ khóa này, nếu không chương trình sẽ báo lỗi.
- auto
- else
- long
- switch
- break
- enum
- register
- typedef
- case
- extern
- return
- union
- char
- float
- short
- unsigned
- const
- for
- signed
- void
- continue
- goto
- sizeof
- volatile
- default
- if
- static
- while
- do
- int
- struct
- _Packed
- double
Kết
Hy vọng sau bài viết này, bạn đã nắm rõ hơn về cú pháp lập trình C. Điều này sẽ giúp viết mã ít lỗi hơn. Chúng ta sẽ tiếp tục với bài viết tiếp theo trong series Học lập trình C từ A tới Z.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ và tham gia nhóm Nghiện Lập Trình để giao lưu và học hỏi nhé.