Mục đích
Chương trình đầu tiên thường có nhiệm vụ rất đơn giản: in ra một dòng văn bản để kiểm tra môi trường biên dịch hoặc thông dịch đã hoạt động đúng. Dù nội dung nhỏ, bài này cho thấy cấu trúc tối thiểu mà một chương trình cần có.
Ví dụ Hello World
print("Xin chao, the gioi!")
program HelloWorld;
begin
Writeln('Xin chao, the gioi!');
end.
#include <stdio.h>
int main(void) {
printf("Xin chao, the gioi!\n");
return 0;
}
#include <iostream>
int main() {
std::cout << "Xin chao, the gioi!\n";
return 0;
}
Console.WriteLine("Xin chao, the gioi!");
console.log("Xin chao, the gioi!");
console.log("Xin chao, the gioi!");
package main
import "fmt"
func main() {
fmt.Println("Xin chao, the gioi!")
}
fn main() {
println!("Xin chao, the gioi!");
}
Điều cần quan sát
- Một số ngôn ngữ yêu cầu khai báo điểm bắt đầu của chương trình một cách tường minh.
- Một số ngôn ngữ cho phép viết trực tiếp câu lệnh mà không cần bao ngoài bởi hàm
mainhoặc khối lệnh lớn hơn. - Lệnh in ra màn hình có thể là hàm, thủ tục hoặc macro, nhưng mục tiêu đều giống nhau: gửi dữ liệu ra thiết bị xuất chuẩn.
Ghi chú theo ngôn ngữ
Pascal dùng cặp begin ... end. để xác định thân chương trình. Dấu chấm ở cuối end. đánh dấu kết thúc toàn bộ chương trình.
C yêu cầu hàm main và thường trả về mã trạng thái bằng return 0;. Tệp tiêu đề stdio.h cung cấp hàm printf.
C++ dùng thư viện chuẩn với std::cout. Toán tử << được dùng để đưa dữ liệu vào luồng xuất.
C# hiện đại hỗ trợ top-level statements, vì vậy ví dụ đơn giản có thể không cần khai báo lớp và phương thức Main riêng.
Go luôn đặt mã thực thi trong hàm main của package main. Tên package là một phần của cấu trúc bắt buộc.
Rust dùng macro println! thay vì hàm thường. Dấu ! cho biết lời gọi đó được xử lý theo cơ chế macro.
Kết luận
Bài này giúp kiểm tra môi trường làm việc và làm quen với hình thức tổ chức mã nguồn tối thiểu. Sau khi chạy được ví dụ đầu tiên, nên chuyển sang Cú pháp cơ bản để hiểu cách viết câu lệnh và khối lệnh.
Bình luận