C/C++ Basics

Hello World và cấu trúc chương trình C, C++

Trong bài học này, bạn sẽ so sánh chương trình hoàn chỉnh ngắn nhất viết bằng C và C++, đồng thời tìm hiểu cấu trúc cơ bản của một chương trình.

Giới thiệu

Mọi chương trình C và C++ đều bắt đầu chạy từ hàm main. Dù có cấu trúc giống nhau, hai ngôn ngữ dùng thư viện chuẩn khác nhau để in dữ liệu ra màn hình. C dùng hàm printf trong thư viện stdio.h, còn C++ dùng đối tượng std::cout trong thư viện iostream.

Những điểm quan trọng

  • Luôn bật cảnh báo của trình biên dịch (compiler warning) và sửa hết các cảnh báo.
  • Hiểu rõ kiểu dữ liệu và thời gian tồn tại (lifetime) của từng giá trị.
  • Luôn kiểm tra dữ liệu đầu vào và giới hạn chỉ số của mảng.

Code ví dụ bằng C và C++

C
Chạy code →
main.c
#include <stdio.h>

int main(void) {
    printf("Hello from C!\n");
    return 0;
}
Kết quả khi chạy
Hello from C!
C++
Chạy code →
main.cpp
#include <iostream>

int main() {
    std::cout << "Hello from C++!\n";
    return 0;
}
Kết quả khi chạy
Hello from C++!

So sánh C và C++

Dòng #include đưa thư viện cần thiết vào chương trình trước khi biên dịch. Trong C, printf in chuỗi theo định dạng cho trước, còn trong C++, toán tử << đưa dữ liệu vào std::cout và trình biên dịch tự kiểm tra kiểu dữ liệu. Câu lệnh return 0 ở cuối main báo cho hệ điều hành biết chương trình đã kết thúc thành công.

C

C dùng các hàm thủ tục gọn nhẹ và thể hiện rõ cách dữ liệu được biểu diễn trong bộ nhớ.

C++

C++ vẫn cho phép làm việc ở mức thấp nhưng bổ sung các kiểu dữ liệu thư viện và công cụ trừu tượng an toàn hơn.

Bài tập mở rộng

Hãy chạy cả hai phiên bản, sau đó thử thay đổi code để quan sát sự khác biệt về mức độ an toàn mà mỗi ngôn ngữ mang lại.

  • Thử nhập dữ liệu sai và các giá trị ở biên.
  • Biên dịch với các cờ -Wall -Wextra -Wpedantic để bật thêm cảnh báo.
  • Tách phần khai báo dùng chung ra file header và phần cài đặt ra file riêng.

Luyện tập với thử thách

Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.

Tất cả thử thách