Bài giảng Lập trình C++ Chương 2: Cấu trúc của một chương trình C++

1. Viếtchươngtrìnhtínhvàhiểnthịramànhìnhchu vivàdiệntích củahìnhchữnhật. Vớiđộdàicác cạnhđượcnhậpvàotừbànphím. 2. Giảiphươngtrình bậcnhấtvớicáchệsốa,b,c bấtkỳđượcnhậpvàotừbànphím. 3. Nhậpvào2sốthựcbấtkỳ. Tìmvàhiểnthịramàn hìnhgiátrịlớnnhấttrong2số. 4. Nhậpvào3sốnguyênbấtkỳ. Tìmvàhiểnthị ra mànhìnhgiátrịlớnnhấttrong3số

pdf32 trang | Chia sẻ: maiphuongtl | Lượt xem: 3298 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình C++ Chương 2: Cấu trúc của một chương trình C++, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1/31 Ngôn ngữ lập trình C++ LẬP TRÌNH C++ (3 Tín chỉ) Gv: Nguyễn Văn Hùng Khoa: Khoa học máy tính Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 2/31 Chương 2: CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH C++  Mục tiêu  Trình bày cấu trúc của một chương trình C++ đầy đủ; các bước thực hiện chương trình và các thao tác nhập xuất dữ liệu.  Nội dung  Cấu trúc của một chương trình C++  Các tập tin thư viện thông dụng  Không gian tên  Các bước thực hiện chương trình C++  Nhập/Xuất dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 3/31 Thông thường một chương trình được viết bằng C++ gồm các phần chính sau: Phần khai báo các tệp nguyên mẫu (tệp tiêu đề) Phần khai báo sử dụng không gian tên Định nghĩa các kiểu dữ liệu Phần khai báo các kiểu dữ liệu, biến, hằng, hàm, … do người lập trình định nghĩa và được sử dụng chung trong toàn bộ chương trình Hàm main và thân chương trình Định nghĩa các hàm con (nếu có) Ví dụ: Xét chương trình sau: 2.1 Cấu trúc của một chương trình C++ Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 4/31 #include int binh_phuong(int); int lap_phuong(int); using namespace std; void main() { cout<<“binh phuong cua 4 la: ”<<binh_phuong(4)<<endl; cout<<“lap phuong cua 4 la: ”<<lap_phuong(4)<<endl; } int binh_phuong( int x) { return x*x; } int lap_phuong( int x) { return x*x*x; } 2.1 Cấu trúc của một chương trình C++ Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 5/31 Thư viện là các đoạn mã được viết sẵn Do nhà sản xuất: thư viện chuẩn Do người lập trình: thư viện mở rộng Thư viện gồm hai phần: Giao diện: chứa trong tệp tiêu đề (.h) cho biết các mục có trong thư viện và cách sử dụng chúng Phần thực thi: chứa trong tệp khác (.cpp), gồm các định nghĩa của các mục có trong thư viện Chẳng hạn: #include #include 2.2 Các tập tin thư viện thông dụng Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 6/31 Một số tập tin thư viện thông dụng iostream: thư viện chứa các hàm nhập xuất dữ liệu như: cout, cin, … string: thư viện chứa các hàm thao tác trên chuỗi ký tự: strcpy(), strcat(), strcmp(), … cmath: thư viện chứa các hàm toán học: sqrt(), pow(), fabs(), abs(), … iomanip: thư viện chứa các hàm định dạng dữ liệu xuất: setprecision(n), setw(n), setfill(ch), setiosflags(), … 2.2 Các tập tin thư viện thông dụng Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 7/31 Không gian tên (namespace) là một đặc trưng của ANSI C++, cho phép chúng ta gộp một nhóm các lớp, các đối tượng toàn cục và các hàm dưới một cái tên. Không gian tên là một cơ chế dùng để hạn chế phạm vi sử dụng của một tên Cú pháp: namespace Ten_khong_gian_ten { Thân của namespace } 2.3 Không gian tên Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 8/31 Ví dụ: Định nghĩa không gian tên General như sau: namespace General { int a, b; } Lúc này, để truy xuất vào các biến a, b ta sử dụng toán tử :: như sau: General::a General::b 2.3 Không gian tên Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 9/31 C++ có nhiều thư viện có sẵn, mỗi thư viện được phân cấp trong một không gian tên riêng. Theo chuẩn ANSI C++, tất cả định nghĩa của các lớp, đối tượng và hàm của thư viện chuẩn đều được định nghĩa trong namespace std. Để sử dụng một thư viện hay hàm có sẵn thì phải khai báo không gian tên chứa thư viện hay hàm đó. Có hai cách sử dụng không gian tên: Truy xuất bằng toán tử phạm vi :: Dùng chỉ thị using 2.3 Không gian tên Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 10/31 Truy xuất bằng toán tử phạm vi Cú pháp: Ten_khong_gian_ten::Dinh_danh; Ví dụ: namespace first { int a = 5; } namespace second { double a = 2.25; } void main() { std::cout<<first::a<<std::endl; std::cout<<second::a<<std::endl; } 2.3 Không gian tên Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 11/31 Dùng chỉ thị using Cú pháp: using namespace Ten_khong_gian_ten; Ví dụ: using namespace std; namespace first { int a = 5; } namespace second { double a = 2.25; } void main() { using namespace first; cout<<first::a<<endl; cout<<a + 2<<endl; } 2.3 Không gian tên Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 12/31 Ví dụ: Xét 2 đoạn chương trình sau: Dùng toán tử phạm vi Dùng chỉ thị using #include int main() { std::cout<<“Hello”<< std::endl; return 0; } #include using namespace std; int main() { cout<< “Hello” << endl; return 0; } 2.3 Không gian tên Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 13/31 Quy trình viết và thực hiện chương trình Biên soạn tệp chương trình nguồn Tiền xử lý Biên dịch chương trình Chạy chương trình 2.4 Các bước thực hiện chương trình C++ Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 14/31 Xác định yêu cầu của chương trình (bài toán): Dữ liệu đầu vào (input) Dữ liệu đầu ra (out put) Chọn giải thuật để thực hiện yêu cầu Soạn thảo chương trình nguồn Dịch chương trình nguồn để sửa các lỗi gọi là lỗi cú pháp Chạy chương trình, kiểm tra kết quả. Nếu sai, sửa lại chương trình, dịch và chạy lại để kiểm tra Quy trình viết và thực hiện chương trình Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 15/31 Biên soạn chương trình là gõ nội dung chương trình vào máy, đặt tên và lưu lại dưới dạng file. Có thể soạn thảo chương trình trên nhiều bộ soạn thảo (editor) khác nhau nhưng phải chạy trên môi trường có tích hợp C++ Nội dung chương trình cần phải trình bày rõ ràng, sáng sủa Các câu lệnh phải được gióng thẳng cột theo đúng cấu trúc Các câu chú thích nên ngắn gọn, rõ nghĩa và phù hợp Biên soạn tập tin chương trình nguồn Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 16/31 Trước khi chương trình nguồn được biên dịch, nó được bộ tiền xử lý kiểm tra và thực hiện các nhiệm vụ cơ bản: Loại bỏ các chú thích từ mã nguồn Tìm các tập tin nguyên mẫu để thực thi Tất cả các lệnh tiền xử lý đều bắt đầu bằng ký tự # Ví dụ: #include Báo cho bộ tiền xử lý tìm trong thư mục chuẩn, gọi tập tin tiêu đề iostream.h và chèn nội dung của nó vào chương trình nguồn Bộ tiền xử lý Chương trình nguồn Chương trình nguồn mở rộng Trình biên dịch Tiền xử lý Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 17/31 Biên dịch chương trình là quá trình biến đổi mã nguồn thành mã máy Trong quá trình biên dịch chương trình nếu có lỗi thì trình biên dịch sẽ thông báo lỗi Nếu không có lỗi thì sẽ cho ra kết quả là một tập tin thực thi ứng dụng có đuôi .exe gọi là chương trình đích Biên dịch chương trình Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 18/31 Các giai đoạn biên dịch chương trình Viết bằng C++ Ngôn ngữ máy Ngôn ngữ máy Tập tin khả thi .exe Tập tin đối tượng .obj Tập tin nguồn .cpp Mã khác từ thư viện, … Thông qua trình biên dịch Thông qua trình liên kết Biên dịch chương trình Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 19/31 Sau khi biên dịch thành công sẽ cho tập tin thực thi (.exe) và các tập tin thư viện khác Có thể thi hành chúng như là một tập tin khả thi bình thường Chạy chương trình Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 20/31 Nhập dữ liệu Xuất dữ liệu 2.5 Nhập xuất dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 21/31 Để nhập dữ liệu vào từ bàn phím ta sử dụng hàm cin và toán tử nhập >> theo cú pháp: cin >> biến 1 ; cin >> biến 2 ; … cin >> biến n ; cin>>biến 1>>biến 2 . . . >>biến n; Nhập dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 22/31 Ví dụ: Để nhập giá trị vào cho biến a và b ta viết: cin>>a; cin>>b; Lưu ý: Khi sử dụng cin - Lệnh sẽ bỏ qua không gán các dấu trắng (dấu cách, tab, xuống dòng vào cho các biến. - Khi nhập vào dãy byte nhiều hơn cần thiết để gán cho các biến thì số byte còn lại (kể cả dấu xuống dòng) sẽ nằm trong cin. Và nó sẽ tự động gán cho các biến trong lần nhập sau. Nhập dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 23/31 Ví dụ: Xét đoạn chương trình sau int a; float b; char c; char *s; cin>>a>>b>>c>>s Dữ liệu đầu vào: 12 2.54 Abc Lap trinh Dữ liệu ra: a=? b=? c=? s=? Kq: a=12; b=2.54; c=A; s=bc; Nhập dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 24/31 Để xuất giá trị của một biểu thức ra màn hình ta sử dụng hàm cout và toán tử xuất << theo cú pháp: cout << biểu thức 1 ; cout << biểu thức 2 ; … cout << biểu thức n ; cout<<biểu thức 1<<biểu thức 2 . . . <<biểu thức n; Xuất dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 25/31 Ví dụ: Để xuất chuỗi “Chieu dai la 23 met” ta viết: cout << “Chieu dai la”; cout << 23; cout << “met”; Hoặc: cout << “Chieu dai la” << 23 << “met”; Hoặc: cout << “Chieu dai la 23 met”; Để xuất ra tổng của 2 số a và b ta viết cout << “Tong la” << a+b ; Xuất dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 26/31 Để sử dụng các hàm nhập xuất dữ liệu ta cần khai báo tập tin tiêu đề iostream.h theo cú pháp: #include Thực thi chương trình istream cin ostream cout Xuất dữ liệu Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 27/31 Các giá trị xuất ra màn hình có thể được trình bày dưới nhiều dạng khác nhau thông qua các công cụ định dạng như: các hàm, các cờ, các phương thức định dạng Để sử dụng các hàm và các cờ định dạng ta cần khai báo các thư viện iostream và iomanip Các hàm định dạng - setw(n): - setprecision(n): - setfill(ch): - setiosflags(cờ định dạng): - resetiosflags(cờ định dạng): Định dạng dữ liệu xuất Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 28/31 Các cờ định dạng - Nhóm căn lề: - ios::left: căn trái - ios::right: ngầm định - ios::internal Định dạng dữ liệu xuất Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 29/31 Các cờ định dạng - Định dạng số nguyên: - ios::dec - ios::oct - ios::hex Định dạng dữ liệu xuất Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 30/31 Các cờ định dạng - Định dạng số thực: - ios::fixed : dấu phẩy tĩnh (ngầm định) - ios::scientific : Dấu phẩy động - ios::showpoint : Xuất đủ số lẻ sau phần thập phân. Định dạng dữ liệu xuất Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 31/31 1. Viết chương trình tính và hiển thị ra màn hình chu vi và diện tích của hình chữ nhật. Với độ dài các cạnh được nhập vào từ bàn phím. 2. Giải phương trình bậc nhất với các hệ số a, b, c bất kỳ được nhập vào từ bàn phím. 3. Nhập vào 2 số thực bất kỳ. Tìm và hiển thị ra màn hình giá trị lớn nhất trong 2 số. 4. Nhập vào 3 số nguyên bất kỳ. Tìm và hiển thị ra màn hình giá trị lớn nhất trong 3 số. BÀI TẬP THỰC HÀNH Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 32/31 4. Viết chương trình giải phương trình bậc 2 với các hệ số được nhập vào từ bàn phím. 5. Nhập vào 3 số nguyên. Kiểm tra 3 số đó có lập thành 3 cạnh của tam giác hay không? Nếu có thì cho biết đó là tam giác gì? BÀI TẬP THỰC HÀNH

Các file đính kèm theo tài liệu này:

  • pdfchuong2c_2011_3687.pdf
Tài liệu liên quan