Giới thiệu ngôn ngữ C
Ngôn ngữ C do ông Dennis Ritchie phát triển từ năm 1972 để tạo các chương trình cho Unix. Tới những năm 1980 thì ngôn ngữ C trở nên rất phổ biến. Một ví dụ điển hình là hệ điều hành Unix được phát triển bởi ngôn ngữ C.
C là một ngôn ngữ lập trình thủ tục (procedural programming). Trình biên dịch được thiết kế tương đối đơn giản để cung cấp quyền truy cập cấp thấp vào bộ nhớ và có thể ánh xạ hiệu quả tới tập lệnh máy tính.
C là một ngôn ngữ được biên dịch - có nghĩa là để chạy được, cần có trình biên dịch (ví dụ: gcc/g++
, clang
hoặc Visual Studio C/C++
) lấy mã nguồn mà chúng ta đã viết, xử lý mã nguồn để tạo một file thực thi.
Chương trình C đầu tiên
|
|
Sau đây là giải thích về đoạn code trên:
Comments
Các dòng comment sẽ được viết sau dấu //
, còn các đoạn comment được viết trong cặp dấu /*
và */
.
Các comment này sẽ được bỏ qua lúc biên dịch chương trình.
Headers
Các header
thường được khai bao ở đầu file. Header được bắt đầu bằng #
. Ví dụ để sử dụng hàm printf
thì chúng ta cần include thư viện vào ra chuẩn - stdio
(Standard Input and Output).
Hàm main
Ở các chương trình biên dịch như C thì cần hàm main
để chạy chương trình. Chương trình sẽ chạy hàm main
trước tiên và hàm main
có thể gọi các hàm khác.
Hàm printf
viết tắt của print formatted data có thể in số hoặc chuỗi ký tự.
Hàm main
trả về giá trị số 0
cho biết chương trình đã chạy thành công.
Biên dịch và thực thi chương trình
Chương trình C có thể được chạy trên Windows hoặc Linux. Trên Windows, chúng ta có thể sử dụng chương trình Window Studio C++, sau khi viết chương trình bạn có thể sử dụng nút bấm run để biên dịch và chạy chương trình.
Sau đây là cách chạy chương trình sử dụng trình biên dịch gcc trên Ubuntu.
Hãy bật terminal và cài đặt gói build-essential
(đã bao gồm gcc
, g++
, make
):
sudo apt install build-essential
Kiểm tra gcc đã cài đặt chưa bằng cách in phiên bản gcc:
gcc --version
Tiếp theo là biên dịch chương trình (tham số -o
là output)
gcc hello.c -o hello
Cuối cùng là thực thi chương trình (sẽ in ra chuỗi Hello World
)
./hello