Tải bản đầy đủ (.ppt) (31 trang)

Slide CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH C++

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (267.01 KB, 31 trang )

Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 1/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++ 2/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++ 3/31
#include <iostream>
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++ 4/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 <iostream>
#include <string>
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++ 5/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++ 6/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++ 7/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++ 8/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++ 9/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++ 10/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++ 11/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 <iostream>
int main()
{
std::cout<<“Hello”<< std::endl;
return 0;
}
#include <iostream>
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++ 12/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++ 13/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++ 14/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++ 15/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 <iostream>
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++ 16/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++ 17/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++ 18/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++ 19/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++ 20/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++ 21/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++ 22/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++ 23/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++ 24/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++ 25/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 <iostream>
Thực thi
chương

trình
istream
cin
ostream
cout
Xuất dữ liệu

×