Trong bài trước mình đã hướng dẫn bạn phương pháp tạo project. Tiếp nối bài trước, bài viết này mình sẽ trình bày một số qui ước cơ bản trong lập trình. Bên cạnh đó mình cũng sẽ hướng dẫn một số cú pháp lệnh để bạn có thể bắt đầu xây dựng ngay được chương trình Hello World đầu tiên. Từ đó bạn sẽ nắm được cấu trúc chương trình C++ cơ bản như thế nào. Do đó bạn hãy thật tập trung nhé.
Hello World
Trong phần này, mình sẽ hướng dẫn bạn lập trình một chương trình đầu tiên. Đó là chương trình “Hello World”, đây là chương trình cực kỳ nổi tiếng để khởi đầu cho việc học lập trình đó bạn ạ. ^^
Đoạn code đầu tiên
Trước tiên, bạn hãy mở lại project mà mình đã tạo trong bài trước lên nhé. Đối với bạn nào đang dùng XCode hoặc Code::Blocks thì đã được tạo sẵn chương trình Hello World rồi. Còn bạn nào đang dùng Visual Studio thì hãy nhập đoạn code bên dưới trong tập tin main.cpp.
Có lẽ với những bạn mới học thì chưa hiểu đoạn code này có ý nghĩa gì đâu phải không nào. Bạn hãy yên tâm, đừng vội gì cả nhé, mình sẽ lần lượt giải thích ý nghĩa từng dòng lệnh cho bạn. Nhưng trước tiên, bạn cần hiểu rằng, cả đoạn code trên chỉ làm một việc đơn giản là in một câu có nội dung “Hello World” ra màn hình mà thôi.
Biên dịch mã nguồn
Sau khi viết đoạn code trên, bạn đã có thể chạy thử chương trình đầu tiên của bạn rồi đó. Trước tiên, hãy ngó qua thư mục project của bạn đã nhé.
Ban đầu khi mới tạo project, bạn chỉ cần chú ý tập tin main.cpp là được (ngoài ra thì cũng không còn cái gì khác để chú ý cả). Đây chính là tập tin chứa source code của bạn. Hiện tại bạn chỉ có một tập tin này thôi, sau này viết những chương trình phức tạp hơn thì bạn sẽ có nhiều tập tin source code khác nữa.
Để chạy chương trình, trước tiên bạn hãy biên dịch source code của bạn đã nhé. Biên dịch là quá trình chuyển đổi source code của bạn thành chương trình máy tính (dịch sang ngôn ngữ máy tính). Nhờ đó mà bạn có thể chạy thực thi chương trình của mình trên máy tính. Để biên dịch chương trình, bạn vào menu Build ➜ Build Solution (hoặc nhấn phím F7).
Nếu bạn nhận được kết quả như bên dưới thì việc biên dịch của bạn đã thành công. Ngoài ra nếu có lỗi phát sinh thì trình biên dịch cũng sẽ thông báo cho bạn tại đây luôn.
Đến đây, bạn hãy ngó lại thư mục project của bạn xem có gì thay đổi không nhé.
➤ Tóm lại: Bạn có thể hiểu về cơ bản quá trình biên dịch sẽ diễn ra theo trình tự bên dưới:
Chạy thử chương trình đầu tiên
Bây giờ, bạn hãy chạy thử tập tin HelloWorld.exe xem nhé. Đây chính là chương trình mà bạn đã lập trình ra đó. Nếu thực hiện đúng, bạn sẽ nhận được kết quả như hình bên dưới.
➤ Lưu ý: Mình trình bày những bước trên nhằm giúp bạn nắm được cách thức chương trình được biên dịch. Không nhằm mục đích chạy thử trong quá trình code.
Để chạy thử trong quá trình code, bạn vào menu Debug chọn 1 trong 2 chức năng sau:
➜ Start Debugging (hoặc phím F5): Nếu bạn muốn chạy thử ứng dụng kèm theo trình Debug (gỡ rối).
➜ Start Without Debugging (hoặc phím Ctrl + F5): Nếu bạn chỉ muốn chạy ứng dụng mà không kèm theo trình Debug.
Về cơ bản thì tại thời điểm này chỉ có thể giải thích bạn như vậy. Có thể bạn vẫn chưa hiểu trình Debug là gì, tạm thời ở thời điểm này bạn chỉ cần biết cách chạy chương trình bằng Debug ➜ Start Without Debugging (hoặc phím Ctrl + F5). Còn cụ thể hơn về trình Debug thì mình sẽ trình bày ở một bài viết riêng, lúc đó bạn sẽ hiểu rõ hơn.
Cấu trúc chương trình C++
Bây giờ bạn hãy nhìn lại đoạn chương trình Hello World mà bạn đã viết nhé. Mình sẽ giải thích cho bạn từng dòng lệnh, phần này bạn hãy thật tập trung nhé.
Hàm main()
Bạn hãy chú ý hàm main tại dòng thứ 4 nhé. Đây là hàm chính của chương trình C++ và cũng là điểm khởi đầu của một chương trình. Khi chạy một chương trình C++, hệ thống sẽ tìm tới hàm main đầu tiên và chạy thực thi nó. Vì vậy mọi dòng lệnh bạn viết trong hàm main (tất cả các lệnh nằm trong cặp dấu “{” và “}” từ dòng 5 tới dòng 10) đều sẽ được thực hiện một cách tuần tự lần lượt từ trên xuống dưới.
➤ Lưu ý: Bất kỳ chương trình C++ nào cũng bắt buộc phải xây dựng hàm main. Và trong một chương trình C++ chỉ được có 01 hàm main duy nhất.
Lệnh cout
Lệnh cout tại dòng thứ 6, có chức năng in một nội dung bất kỳ nào đó lên màn hình. Trong ví dụ trên, bạn có thể thấy lệnh cout thực hiện việc in dòng “Hello World” lên màn hình. Và bạn cũng cần nhớ là nội dung muốn in lên màn hình phải được đặt trong cặp dấu ngoặc kép “” (ngoại trừ biến/hằng) và theo sau toán tử “<<” . Từ khoá endl trong ví dụ trên có chức năng đánh dấu xuống dòng.
Lệnh system(“PAUSE”)
Đây là lệnh dừng màn hình, nó có tác dụng dừng màn hình lại cho bạn theo dõi kết quả. Nếu không có lệnh này thì chương trình vẫn sẽ chạy, nhưng sẽ chỉ “nhá” lên rồi tắt ngay lập tức. Phần này bạn có thể tự thử nghiệm bằng cách xoá lệnh này đi, sau đó chạy thử để thấy sự khác nhau.
Lệnh return 0
Tạm thời phần này bạn hãy cứ “lờ” lệnh này đi nhé. Bây giờ giải thích cho bạn lệnh này sẽ chỉ làm bạn rối mà thôi. Tới phần học cách thức viết ham thì mình sẽ trình bày về lệnh này cho bạn được rõ.
Lệnh #include <iostream>
Đây là lệnh đầu tiên nằm trên cùng, ý nghĩa của nó là khai báo thư viện iostream. Thư viện iostream là thư viện chứa các lệnh nhập/xuất (lệnh cout ở trên chính là một lệnh thuộc thư viện iostream này). Do đó nếu bạn thiếu dòng lệnh khai báo thư viện này thì khi biên dịch hệ thống sẽ báo lỗi tại dòng lệnh cout.
Lệnh using namespace std
Lệnh này có chức năng khai báo “không gian tên”, trong ví dụ này là std. Đây là không gian tên chứa lệnh cout và endl. Khác với khai báo thư viện, nếu không có dòng này thì chương trình bạn chưa chắc sẽ bị lỗi. Chỉ là cách viết sẽ dài hơn mà thôi, lúc này lệnh cout bạn sẽ phải đổi thành std::cout, và endl cũng sẽ đổi thành std::endl. Do đó để cho tiện trong lập trình thì việc khai báo “không gian tên” thế này sẽ giúp tiết kiệm thời gian cho bạn hơn rất nhiều.
Tổng kết
Trong bài này mình đã hướng dẫn bạn cách thức để xây dựng và chạy một chương trình đầu tiên. Chương trình này tuy đơn giản, nhưng nó có nhiều khái niệm cơ bản đầu tiên cho bạn. Vì vậy bạn hãy cố gắng xem thật kỹ nhé, có gì không hiểu thì bạn hãy comment bên dưới.