Bước tới nội dung

Lập trình C/Chương trình đầu tiên

Tủ sách mở Wikibooks
Trước: Cần gì trước khi học C Mục lục Tiếp theo: Cơ bản về biên dịch

Giống như hầu hết các sách về ngôn ngữ lập trình, chúng ta sử dụng chương trình Hello World để giới thiệu về C.

#include <stdio.h>

int main(void)
{
   printf("Hello, world!\n");
   return 0;
}

Chương trình này in ra màn hình dòng chữ "Hello, world!" rồi thoát.

Hãy nhập đoạn mã này vào trình soạn thảo hoặc IDE của bạn rồi lưu lại thành "hello.c".

Nếu bạn đang sử dụng GCC (hoặc MinGW), nhập vào cửa sổ lệnh gcc -o hello hello.c. Lệnh này làm gcc dịch hello.c thành mã máy. Đoạn '-o hello' làm nó gọi chương trình đã được dịch có tên 'hello'.

Trên Code::Blocks, ngay sau khi bạn tạo một dự án và mở tệp mã nguồn, bạn sẽ thấy chương trình náy đã có sẵn. Chọn menu "Build" > "Build and run" hoặc ấn F9 để tạo tệp thực thi và chạy nó.

Nếu mọi thứ diễn ra đúng, bạn sẽ thấy một tệp có tên "hello". Đó là phiên bản nhị phân (mã máy) của chương trình của bạn, và khi chạy nó trong cửa sổ lệnh bạn sẽ nhận được dòng chữ "Hello, world!".

Diễn giải

[sửa]

#include <stdio.h> làm cho trình dịch tìm tệp tiêu đề (header file) stdio.h và thêm nó vào mã nguồn chương trình. Trong C, bạn sẽ thường kéo thêm các thành phần bên ngoài vào chương trình khi bạn cần sử dụng chúng. stdio.h chứa các mô tả về các hàm nhập xuất chuẩn mà bạn sẽ dùng để đưa thông tin ra ngoài hoặc lấy thông tin từ người dùng.

int main(void) là dòng mã mà bạn sẽ thấy ở mọi chương trình C. Mỗi chương trình đều có một và chỉ một hàm main. Thông thường hàm main là nơi bắt đầu chạy của một chương trình. Tuy nhiên, một chương trình C có thể trải dài trên nhiều tệp và do đó không phải trong tệp nào bạn cũng thấy có hàm main. int ở ngay trước hàm main cho biết hàm main trả về một giá trị có kiểu số nguyên (integer) khi nó kết thúc.

printf("Hello, world!\n"); là lệnh làm hiển thị dòng chữ "Hello, world!" lên màn hình. printf là hàm in có định dạng (formatted printing) đã được khai báo sẵn trong stdio.h - đó là lí do chúng ta phải gộp tệp này vào chương trình bằng lệnh #include ở đầu chương trình. \n là một "kí tự thoát" có tác dụng thêm một dòng mới vào cuối văn bản đã được in ra.

return 0; trả về môi trường mà chương trình chạy trên đó (thường là hệ điều hành). Một chương trình chạy thành công nếu nó trả về giá trị 0 (GCC4 sẽ có cảnh báo nếu nó không tìm thấy được dòng lệnh nào như vậy trong khi dịch). Một giá trị trả về khác không chỉ ra rằng đã có lỗi xảy ra.

Dòng trống ở cuối cùng (không nhìn thấy do MediaWiki tự động loại bỏ nó) được thêm vào là một cách thực hành tốt (ít nhất là trên UNIX) khi kết thúc một tệp.

Trước: Cần gì trước khi học C Mục lục Tiếp theo: Cơ bản về biên dịch