Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Cấu trúc của một chương trình C++

  1. #1
    Ngày gia nhập
    07 2006
    Bài viết
    22

    Mặc định Cấu trúc của một chương trình C++

    Bài 1.1
    Cấu trúc của một chương trình C++
    Có lẽ một trong những cách tốt nhất để bắt đầu học một ngôn ngữ lập trình là bằng một chương trình. Vậy đây là chương trình đầu tiên của chúng ta :
    C++ Code:
    1. // my first program in C++
    2.  
    3. #include <iostream.h>
    4.  
    5. int main ()
    6. {
    7.   cout << "Hello World!";
    8.   return 0;
    9. }
    Chương trình trên đây là chương trình đầu tiên mà hầu hết những người học nghề lập trình viết đầu tiên và kết quả của nó là viết câu "Hello, World" lên màn hình. Đây là một trong những chương trình đơn giản nhất có thể viết bằng C++ nhưng nó đã bao gồm những phần cơ bản mà mọi chương trình C++ có. Hãy cùng xem xét từng dòng một :

    C++ Code:
    1. // my first program in C++
    Đây là dòng chú thích. Tất cả các dòng bắt đầu bằng hai dấu sổ (//) được coi là chút thích mà chúng không có bất kì một ảnh hưởng nào đến hoạt động của chương trình. Chúng có thể được các lập trình viên dùng để giải thích hay bình phẩm bên trong mã nguồn của chương trình. Trong trường hợp này, dòng chú thích là một giải thích ngắn gọn những gì mà chương trình chúng ta làm.
    C++ Code:
    1. #include <iostream.h>

    Các câu bắt đầu bằng dấu (#) được dùng cho preprocessor (ai dịch hộ tôi từ này với). Chúng không phải là những dòng mã thực hiện nhưng được dùng để báo hiệu cho trình dịch. Ở đây câu lệnh #include <iostream.h> báo cho trình dịch biết cần phải "include" thư viện iostream. Đây là một thư viện vào ra cơ bản trong C++ và nó phải được "include" vì nó sẽ được dùng trong chương trình. Đây là cách cổ điển để sử dụng thư viện iostream
    C++ Code:
    1. int main ()
    Dòng này tương ứng với phần bắt đầu khai báo hàm main. Hàm main là điểm mà tất cả các chương trình C++ bắt đầu thực hiện. Nó không phụ thuộc vào vị trí của hàm này (ở đầu, cuối hay ở giữa của mã nguồn) mà nội dung của nó luôn được thực hiện đầu tiên khi chương trình bắt đầu. Thêm vào đó, do nguyên nhân nói trên, mọi chương trình C++ đều phải tồn tại một hàm main.

    Theo sau main là một cặp ngoặc đơn bởi vì nó là một hàm. Trong C++, tất cả các hàm mà sau đó là một cặp ngoặc đơn () thì có nghĩa là nó có thể có hoặc không có tham số (không bắt buộc). Nội dung của hàm main tiếp ngay sau phần khai báo chính thức được bao trong các ngoặc nhọn ( { } ) như trong ví dụ của chúng ta

    C++ Code:
    1. cout << "Hello World";
    Dòng lệnh này làm việc quan trọng nhất của chương trình. cout là một dòng (stream) output chuẩn trong C++ được định nghĩa trong thư viện iostream và những gì mà dòng lệnh này làm là gửi chuỗi kí tự "Hello World" ra màn hình.

    Chú ý rằng dòng này kết thúc bằng dấu chấm phẩy ( ; ). Kí tự này được dùng để kết thúc một lệnh và bắt buộc phải có sau mỗi lệnh trong chương trình C++ của bạn (một trong những lỗi phổ biến nhất của những lập trình viên C++ là quên mất dấu chấm phẩy).

    return 0;
    Lệnh return kết thúc hàm main và trả về mã đi sau nó, trong trường hợp này là 0. Đây là một kết thúc bình thường của một chương trình không có một lỗi nào trong quá trình thực hiện. Như bạn sẽ thấy trong các ví dụ tiếp theo, đây là một cách phổ biến nhất để kết thúc một chương trình C++.

    Chương trình được cấu trúc thành những dòng khác nhau để nó trở nên dễ đọc hơn nhưng hoàn toàn không phải bắt buộc phải làm vậy. Ví dụ, thay vì viết
    C++ Code:
    1. int main ()
    2. {
    3.   cout << " Hello World ";
    4.   return 0;
    5. }

    ta có thể viết
    C++ Code:
    1. int main () { cout << " Hello World "; return 0; }

    cũng cho một kết quả chính xác như nhau.

    Trong C++, các dòng lệnh được phân cách bằng dấu chấm phẩy ( . Việc chia chương trình thành các dòng chỉ nhằm để cho nó dễ đọc hơn mà thôi.

    Các chú thích.

    Các chú thích được các lập trình viên sử dụng để ghi chú hay mô tả trong các phần của chương trình. Trong C++ có hai cách để chú thích

    // Chú thích theo dòng
    /* Chú thích theo khối */

    Chú thích theo dòng bắt đầu từ cặp dấu xổ (//) cho đến cuối dòng. Chú thích theo khối bắt đầu bằng /* và kết thúc bằng */ và có thể bao gồm nhiều dòng. Chúng ta sẽ thêm các chú thích cho chương trình :
    C++ Code:
    1. /* my second program in C++ with more comments */
    2.  
    3. #include <iostream.h>
    4.  
    5. int main ()
    6. {
    7.   cout << "Hello World! ";     // says Hello World!
    8.   cout << "I'm a C++ program"; // says I'm a C++ program
    9.   return 0;
    10. }
    Nếu bạn viết các chú thích trong chương trình mà không sử dụng các dấu //, /* hay */, trình dịch sẽ coi chúng như là các lệnh C++ và sẽ hiển thị các lỗi.

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Em bổ sung tí nha
    Trong C/C++ chỉ có hàm mà không có thủ tục như pascal và một số ngôn ngữ khác nhưng hàm lại có 2 loại hàm là:
    • Hàm có giá trị trả về cho hàm thông qua câu lệnh return value;. Nếu như viết return 0; thì hàm sẽ lấy giá trị của kết quả tính toán cuối cùng trong hàm làm giá trị của hàm. Có nhiều trường hợp bạn không cần tính toán và viết ngay là return expression; chứ không gán như trong Pascal hay một số ngôn ngữ khác.
    • Hàm không có giá trị trả về sử dụng từ khóa void functionname(..) để báo cho trình biên dịch biết là nó không có giá trị trả về. Loại hàm này tương đương với thủ tục (procedure) trong pascal hay Sub trong lập trình Microsoft
    Để minh chứng em xin nêu các ví dụ đơn giản là việc giải PT bậc nhất sau đây bằng C++.

    code 1: Nếu không có dùng hàm thì không có return vẫn chạy đúng trong trường hợp hàm main() không phải là kiểu void
    C++ Code:
    1. #include <iostream.h>
    2. int main()
    3. {
    4.     float a,b;
    5.     float r;
    6.     cout << "Nhap vao 2 co so: ";
    7.     cin >> a >> b;
    8.     r = -b/a;
    9.     cout << "\nNghiem cua PT la: x= " << r;
    10. }
    Code 2: Cho kết quả giống y như code 1 nhưng có dùng return đó
    C++ Code:
    1. #include <iostream.h>
    2. int main()
    3. {
    4.     float a,b;
    5.     float r;
    6.     cout << "Nhap vao 2 co so: ";
    7.     cin >> a >> b;
    8.     r = -b/a;
    9.     cout << "\nNghiem cua PT la: x= " << r;
    10.     return 0;
    11. }
    code 3: Sử dụng kiểu Void
    C++ Code:
    1. #include <iostream.h>
    2.  
    3. void test1(float a,float b)
    4. {
    5.     float r;
    6.     r = -b/a;
    7.     cout << "\nNghiem cua PT la x= " << r;
    8. }
    9. int main()
    10. {
    11.     float a, b;
    12.     cout << "Nhap vao 2 so a,b: ";
    13.     cin >> a >> b;
    14.     test1(a, b);
    15.     return 0;
    16. }
    Nếu sử dụng kiểu Void mà dùng return thì sẽ báo lỗi ngay, vì dùng void không có giá trị trả về giống như code 4 này
    code 4:
    C++ Code:
    1. #include <iostream.h>
    2.  
    3. void test1(float a,float b)
    4. {
    5.     float r;
    6.     r = -b/a;
    7.     cout << "\nNghiem cua PT la x= " << r;
    8.     return 0
    9. }
    10. int main()
    11. {
    12.     float a,b;
    13.     cout << "Nhap vao 2 so a,b: ";
    14.     cin >> a >> b;
    15.     test1(a, b);
    16.     return 0;
    17. }
    Một kiểu nữa. kiểu này dùng return để lấy giá trị trả về cho hàm giống như phép gán hàm của pascal hay một số ngôn ngữ khác

    code 5:
    C++ Code:
    1. #include <iostream.h>
    2.  
    3. float test1(float a,float b)
    4. {
    5.     return (-b/a);
    6. }
    7. int main()
    8. {
    9.     float a, b, r;
    10.     cout << "Nhap vao 2 so a,b: ";
    11.     cin >> a >> b;
    12.     r = test1(a, b);
    13.     cout << "Nghiem cua PT la x= " << r;
    14. }
    Trên đây em đã liệt ra một số kiểu dùng retrurn mong là có thể giải đáp thắc mắc trên của anh Master_Baby.

  3. #3
    Ngày gia nhập
    07 2006
    Bài viết
    166

    thế thì bổ sung thêm kiểu nữa: dùng return để kết thúc hàm có khai báo kiểu void

    C++ Code:
    1. #include <iostream.h>
    2. void main()
    3. {
    4.     float a,b;
    5.     float r;
    6.     cout << "Nhap vao 2 co so: ";
    7.     cin >> a >> b;
    8.     if (a == 0) return;
    9.     r = -b/a;
    10.     cout << "\nNghiem cua PT la: x = " << r;
    11. }
    Đã được chỉnh sửa lần cuối bởi vinhie47 : 28-07-2006 lúc 12:26 AM.

  4. #4
    Ngày gia nhập
    07 2006
    Bài viết
    121

    Đây là chương trình hello world của tớ
    Code:
    #include<stdio.h>
    
    class A{
    public:
    	A(){printf("Hello world!");};
    };
    
    A a;
    
    void main(){}

    OoShinHaoO

Các đề tài tương tự

  1. Trả lời: 0
    Bài viết cuối: 07-07-2013, 07:29 PM
  2. Bài tập về cấu trúc trong c | Cấu trúc sinh viên???
    Gửi bởi dddzzzjjjiii trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 14
    Bài viết cuối: 21-07-2012, 05:06 PM
  3. Chiếu trúc, Chiếu trúc cao cấp, Hàng Sản xuất tại Việt Nam: Giá rẻ nhất thị trường
    Gửi bởi tqt.tranquoctuan trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 13-05-2012, 08:33 PM
  4. cấu trúc bảng băm là cấu trúc như thế nào?
    Gửi bởi minh_quang1202 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 06-01-2011, 07:03 PM
  5. Cấu trúc file excel | Cấu trúc file xls. Giúp mình với?
    Gửi bởi knightofit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-04-2009, 10:44 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn