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ố
32 trang |
Chia sẻ: maiphuongtl | Lượt xem: 3405 | Lượt tải: 1
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:
- chuong2c_2011_3687.pdf