Những kiến thức cơ bản về lập trình C
Lệnh tiền xử lý
Lệnh tiền xử lý trong lập trình C được sử dụng để yêu cầu bộ xử lý thực hiện một số hành động trước khi tiến hành biên dịch chương trình. Các lệnh tiền xử lý thường bao gồm nhiều câu lệnh khác nhau. Một trong số đó là lệnh include, trong đó chúng ta có thể chứa các nội dung của tệp trước khi xử lý phần còn lại của chương trình.
Dưới đây là một ví dụ về lệnh tiền xử lý:
#include
Lệnh này yêu cầu ngôn ngữ C bao gồm các chức năng trong tệp stdio.h trước khi tiếp tục biên dịch chương trình. Tệp stdio.h chứa các hàm như printf và getchar, mà chúng ta có thể sử dụng bằng cách sử dụng lệnh include.
Chức năng
Các chương trình C chủ yếu được xây dựng bằng cách sử dụng các chức năng. Các chức năng này tạo thành các khối xây dựng chính của một chương trình C. Một chương trình C phải chứa ít nhất một hàm được gọi là "main ()". Hàm main trả về một giá trị kiểu số nguyên, được khai báo bằng từ khóa "int". Giá trị này được trả về từ hàm bằng cách sử dụng từ khóa return. Mỗi chức năng được định nghĩa bằng cách sử dụng dấu ngoặc nhọn. Mỗi dấu ngoặc nhọn tương ứng với một chức năng cụ thể. Ngoài ra, dấu ngoặc nhọn cũng được sử dụng để phân tích các khối mã trong lập trình C.
Ví dụ kiến thức cơ bản về lập trình C
#include int main() { /* Chương trình C đầu tiên của tôi */ printf("Tôi có thể lập trình trong C!\n"); return 0; }
Chú ý rằng chúng ta sử dụng tệp stdio.h để có thể truy cập vào hàm printf và các dấu ngoặc nhọn cho thấy rằng đây là một khối mã duy nhất. Tệp stdio là từ viết tắt của "đầu vào hoặc đầu ra tiêu chuẩn" và chứa nhiều hàm đầu vào và đầu ra được sử dụng trong ngôn ngữ C như printf, getchar và scanf.
Các biến trong C
picture Các biến trong C
Một trong những kiến thức cơ bản về lập trình C đó là về các biến. Tương tự như hầu hết các ngôn ngữ lập trình khác, C cho phép chúng ta khai báo biến. Có hai loại biến được công nhận trong ngôn ngữ C: biến cục bộ và biến toàn cục. Biến được khai báo bằng cách định nghĩa kiểu dữ liệu và gán tên cho biến. Các kiểu dữ liệu thường bao gồm int (lưu trữ số nguyên), char (lưu trữ một ký tự duy nhất), float (lưu trữ giá trị dấu phẩy động) và con trỏ (lưu trữ địa chỉ của một biến khác).
Biến cục bộ có phạm vi giới hạn trong khối mã mà chúng được định nghĩa. Chúng cũng được khai báo ở đầu khối mã áp dụng cho chúng. Biến cục bộ phải được khởi tạo bởi lập trình viên và không còn khả dụng khi khối mã hoàn thành. Mỗi tên biến phải là duy nhất, nhưng một chức năng có thể khai báo nhiều loại biến.
Biến toàn cục phải được khai báo khi chương trình được thực hiện. Chúng có thể được truy cập trong toàn bộ chương trình và có thể được thay đổi bởi bất kỳ chức năng nào trong chương trình. Biến toàn cục được tự động khởi tạo và có một giá trị cụ thể, trừ khi lập trình viên gán một giá trị khác. Số nguyên được khởi tạo với giá trị 0, char được khởi tạo với giá trị rỗng, float được tự động khởi tạo với giá trị 0, và con trỏ cũng được tự động khởi tạo với giá trị rỗng.
Dưới đây là một ví dụ mô tả cách hoạt động của biến cục bộ và biến toàn cục:
#include int main() { int x = 4; // Khai báo biến toàn cục x = 4 int a = 10; // Khai báo biến toàn cục a = 10 x++; // Tăng giá trị của x mỗi lần lặp if (a > 0) { // Không có biến cục bộ x, nên áp dụng biến toàn cục printf("x là %d\n", x); // In giá trị của x } if (a > 0) { // Biến cục bộ x được áp dụng, nên bỏ qua biến toàn cục int x = 100; printf("x là %d\n", x); // In giá trị của x } printf("x là %d\n", x); // x lại tham chiếu đến biến toàn cục return 0; }
Kết quả sẽ là:
x là 5 x là 100 x là 5
Trong ví dụ trên, chúng ta có một biến toàn cục có tên là X được khai báo và khởi tạo với giá trị là 4. Sau đó, X được tăng thêm một để tổng X là 5. Câu lệnh if đầu tiên không khai báo X, do đó câu lệnh printf sẽ in ra giá trị X là 5. Câu lệnh if tiếp theo bao gồm việc khai báo một biến cục bộ có tên là X với giá trị là 100. Do đó, hàm printf sẽ in ra giá trị X là 100. Biến cục bộ chỉ áp dụng cho khối mã này, do đó giá trị của biến cục bộ được giải phóng khi khối mã kết thúc. Khi chúng ta quay lại biến toàn cục của X, giá trị vẫn là 5.
Tuyên bố và biểu thức
Chương trình C cũng chứa các câu lệnh và biểu thức. Câu lệnh và biểu thức cho phép lập trình viên sử dụng các biến kết hợp với các cấu trúc lập trình để tạo ra mã hữu ích. Các câu lệnh và biểu thức bao gồm các câu lệnh điều khiển như câu lệnh if và câu lệnh switch, các vòng lặp như vòng lặp for và while. Mỗi biểu thức có yêu cầu cú pháp riêng và chỉ duy nhất một biểu thức hoặc câu lệnh mà lập trình viên sử dụng.
Bình luận
Chương trình C cũng cho phép chú thích bằng cách sử dụng ký hiệu "/.../". Chú thích có thể là chú thích dòng đơn hoặc nhiều dòng.
Chú thích là một phần quan trọng trong mọi chương trình. Chú thích giúp giải thích tất cả các chức năng của mã. Có một số phương pháp được sử dụng để chú thích trong một chương trình, nhưng ít nhất phải giải thích được cơ sở lý thuyết của các câu lệnh và chức năng được sử dụng trong mã. Chú thích cần phải đi kèm với việc giải thích mục đích của mã mà không giải thích ngôn ngữ của nó. Hơn nữa, các chú thích cần phải nhất quán về hình thức và ký hiệu. Ngoài ra, việc cập nhật chú thích cũng rất quan trọng nếu bạn đang cập nhật mã.
Tìm hiểu kiến thức cơ bản về lập trình C và bắt đầu ngay
Ngôn ngữ C được coi là ngôn ngữ mẹ của các ngôn ngữ lập trình khác như Java và PHP, và nó vẫn được sử dụng để phát triển các ứng dụng thực tế trên thị trường hiện nay. Việc tìm hiểu kiến thức cơ bản về lập trình C ngay bây giờ là rất cần thiết. Hiểu giá trị và ứng dụng của nó sẽ giúp bạn có động lực để bắt đầu tìm hiểu ngôn ngữ lập trình C này.
Tổng kết
Trên đây là những kiến thức cơ bản về lập trình C được tổng hợp và trình bày một cách chi tiết và đầy đủ bởi Box.edu. Hy vọng rằng những thông tin này sẽ hữu ích và cần thiết cho tất cả những ai đang có nhu cầu tìm hiểu về chương trình C.