Các khái niệm về biến, hằng, toán tử, biểu thức, câu lệnh.... Nội dung trình bày• Các kiểu dữ liệu cơ bản trong C++ • Các bước giải bài toán • Các loại lỗi và xử lý lỗi... Phần mềm máy t
Trang 1NGÔN NGỮ LẬP TRÌNH C++ 1
Tuần 1
Trang 2Giới thiệu môn học
pháp lập trình cấu trúc Nội dung gồm: Các
bước giải bài toán trên máy tính Các khái niệm
về biến, hằng, toán tử, biểu thức, câu lệnh
Cấu trúc rẽ nhánh và lựa chọn Cấu trúc lặp
Trang 3Nội dung trình bày
• Các kiểu dữ liệu cơ bản trong C++
• Các bước giải bài toán
• Các loại lỗi và xử lý lỗi
Trang 4Máy tính
• Máy tính (máy vi tính hay máy điện toán) là
thiết bị hay hệ thống được dùng để tính
toán hay kiểm soát các hoạt động mà có
thể biểu diễn dưới dạng số hay quy luật
lôgic.
Trang 5Thiết bị phần cứng
của máy tính có thể chạm vào được như màn
hình, chuột, bàn phím, máy in, máy quét, vỏ máy tính, đơn vị vi xử lý CPU, bo mạch chủ, các loại dây nối, loa, ổ mềm, ổ cứng, ổ CDROM,
có thể phân biệt phần cứng ra thành:
– Thiết bị nhập (Input): Các bộ phận thu nhập dữ liệu
hay mệnh lệnh như là bàn phím, chuột
– Thiết bị xuất (Output): Các bộ phận trả lời, phát tín
hiệu, hay thực thi lệnh ra bên ngoài như là màn hình, máy in, loa,
Trang 6Phần mềm máy tính
lệnh được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài toán nào đó
động
– Phần mềm hệ thống: Hệ điều hành, Driver, Firmware – Phần mềm ứng dụng: Văn phòng, trò chơi, …
– Phần mềm chuyển dịch (gồm trình biên dịch và trình thông dịch): Công cụ lập trình
Trang 8Các mức của ngôn ngữ lập trình
Cấu trúc phân cấp của ngôn ngữ trên máy tính
Trang 9Các mức của ngôn ngữ lập trình
được mã hóa theo các số nhị phân 0 và 1, đây
là ngôn ngữ mà máy hiểu được khi đưa vào trực tiếp
cho phép thuận tiện trong việc viết chương trình hơn Một lệnh của hợp ngữ tương ứng với một lệnh của mã máy
thiết kế cho người lập trình ứng dụng Ví dụ:
Pascal, C, C++, Java, Fortran, Cobol
Trang 10Biên dịch và chạy chương trình
• Chú ý: Tất cả các chương trình viết bằng ngôn ngữ lập trình bậc cao đều phải được chuyển sang ngôn ngữ máy trước khi thực thi.
Lệnh trong C++
cout<<“Hello, World !”;
Lệnh mã máy
1110010100011101 1001110111011011
…
Kết quả chạy
Hello, World !
Trang 11Giới thiệu C++
các chức năng hướng đối tượng
phương thức C++ = C + OO (Object Oriented)
sự thêm vào của khái niệm lớp, tiếp theo đó là các khái niệm hàm ảo, toán tử quá tải, đa kế thừa và xử lý ngoại lệ
– Borland C++ của hãng Borland
– Microsoft Visual C++ của hàng Microsoft
Trang 12Các thành phần cơ bản của
chương trình C++
• <các thư viện>: Nơi chứa các chức năng cơ bản do trình biên dịch
cung cấp hoặc các chức năng do người lập trình đã định nghĩa trước
đó Các thư viện này thường có đuôi h
• <các biến, hằng, hàm toàn cục>: Là nơi chứa các thành phần có thể
được sử dụng ở bất kỳ nơi nào trong chương trình
• <hàm main>: Là điểm vào bắt đầu của chương trình.
Trang 13Một số chú ý khi lập trình
thường Ví dụ: float khác với Float
khóa của C++ Ví dụ: void, const, …
– Sử dụng dấu // để chú thích trên 1 dòng lệnh
– Sử dụng dấu /* và */ để chú thích trên nhiều dòng lệnh
Trang 14Một số khái niệm và câu lệnh cơ
bản của chương trình C++
• Lệnh hiển thị ký tự lên màn hình:
– Cú pháp:
cout << chuỗi ký tự 1 << chuỗi ký tự 2 << … << chuỗi ký tự n;
Chú ý: Khi hiển thị thông tin trên màn hình ở dạng chuỗi ký tự
(1 dãy các chữ) ta cần phải bao chuỗi ký tự đó giữa 2 dấu nháy kép Ví dụ: “Chao cac ban”
– Ví dụ:
Cách 1: cout << “Hello World !!!”;
Cách 2: cout << “Hello” << “ World” << “ !!!”;
Trang 15Một số khái niệm và câu lệnh cơ
Trang 16Một số khái niệm và câu lệnh cơ
bản của chương trình C++
• Biến: Là thành phần mà giá trị của nó có thể bị
thay đổi trong chương trình Trong C++, muốn
dùng biến ta cần phải khai báo trước khi sử dụng
– Khai báo biến:
• Cú pháp:
<kiểu dữ liệu> <tên các biến>;
Chú ý: Nếu khai báo nhiều biến thì các biến cách nhau bởi dấu
phảy
• Ví dụ:
int a; // Khai báo một biến số nguyên có tên là a float x; // Khai báo một biến số thực có tên là x long m, n; // Khai báo 2 biến số nguyên dài có tên là m và n
Trang 17Một số khái niệm và câu lệnh cơ
int a = 6; // Khai báo một biến số nguyên có tên là a và a
nhận giá trị ban đầu là 6.
float x = 5.67; // Khai báo một biến số thực có tên là x và x
nhận giá trị ban đầu là 5.67
long m = 9, n = 15; // Khai báo 2 biến số nguyên dài có tên
là m và n; trong đó m nhận giá trị ban đầu là 9 và n nhận giá trị ban đầu là 15
Trang 18Một số khái niệm và câu lệnh cơ
Trang 19Một số khái niệm và câu lệnh cơ
bản của chương trình C++
bị thay đổi trong chương trình Trong C++, muốn dùng hằng ta cần phải khai báo giá trị trước khi
sử dụng
– Khai báo và khởi gán giá trị cho hằng:
• Cú pháp:
const <kiểu dữ liệu> <tên hằng> = <giá trị>;
Chú ý: Người ta quy ước tên hằng số luôn để chữ hoa
• Ví dụ:
const int HANG1 = 6; // Khai báo một hằng số nguyên có
tên là HANG1 và giá trị của hằng số này là 6
const float PI = 3.14, E = 2.72; // Khai báo 2 hằng số thực
có tên là PI và E; trong đó PI nhận giá trị là 3.14 còn E nhận giá trị 2.72
Trang 20Một số khái niệm và câu lệnh cơ
Trang 21Một số khái niệm và câu lệnh cơ
bản của chương trình C++
• Câu lệnh tổng quát hiển thị dữ liệu lên
màn hình:
– Cú pháp:
cout << tham số 1 << tham số 2 << … << tham số n;
Tham số: Là dữ liệu kiểu chuỗi, biến, hằng, …
Trang 22Một số khái niệm và câu lệnh cơ
Trang 23Một số khái niệm và câu lệnh cơ
bản của chương trình C++
• Toán tử
– Các toán tử cơ bản
+ (cộng), - (trừ), * (nhân), / (chia)
– Các toán tử với kiểu số nguyên
/ (chia lấy phần nguyên), % (chia lấy phần dư)
– Ví dụ:
– Thứ tự ưu tiên các toán tử: Như trong toán học (Ưu tiên trong ngoặc trước, tiếp đến là nhân chia trước, cộng trừ sau)
Trang 24Một số khái niệm và câu lệnh cơ
bản của chương trình C++
• Biểu thức
– Biểu thức đơn: Là biểu thức chỉ có 1 toán
hạng Toán hạng này có thể là một giá trị cụ thể, có thể là một hằng hoặc biến
– Biểu thức có toán tử: Là biểu thức trong đó
có sự kết hợp giữa các toán hạng và toán tử
a + b a + b * c PI * E 23 + 56
Trang 25Một số khái niệm và câu lệnh cơ
Trang 26Các kiểu dữ liệu cơ bản trong C++
Tên Độ dài Mô tả Miền giá trị
Có dấu Không dấu char 1 byte Ký tự hay số
0 đến 4294967295
int Trên
Windows là
Trên Windows là
như kiểu long
như kiểu long
Trang 27Các kiểu dữ liệu cơ bản trong C++
Tên Độ dài Mô tả Miền giá trị
float 4 bytes Số thực
dạng dấu phảy động
3.4E-38 đến 3.4E+38
double 8 bytes Số thực
dạng dấu phảy động
1.7E-308 đến 1.7E+308
long double 10 bytes Số thực
dạng dấu phảy động
1.2E-4932 đến 1.2E+4932
bool 1 byte Kiểu logic true hoặc false
Trang 28Ép kiểu
• Ép kiểu được sử dụng để đưa kiểu dữ liệu
của một biến hay một hằng về dạng dữ
liệu có kiểu mong muốn tại một thời điểm xác định.
– Cú pháp:
(kiểu dữ liệu) <tên biến>;
– Ví dụ:
int a = 6;
float b = (float) a; //Ép biến a về số thực và gán cho
b, tuy nhiên a vẫn là số nguyên
Trang 29Ép kiểu
• Ép kiểu trong biểu thức:
– Quy tắc tính toán trong biểu thức:
<số nguyên> <toán tử> <số nguyên> => <số nguyên>
Trang 30Các bước giải bài toán
1 Đầu bài: Tính tiền Sưu Tập
2 Phân tích bài toán
– Tính giá trị của một bộ sưu tập gồm các đồng 5 xu và 1
xu.
– Input : Số đồng nickel (5 xu) và penny (1 xu).
– Output : Giá trị tiền của bộ sưu tập bằng đôla và xu.
– Biết rằng :
1 đồng nickel = 5 xu
1 đồng penny = 1 xu
1 đôla = 100 xu
Trang 31Các bước giải bài toán
3 Thiết kế thuật toán
1 Nhập số đồng nickel và đồng penny
2 Tính tổng giá trị xu
3 Đổi giá trị xu sang đôla và xu lẻ
4 Hiển thị kết quả đôla và xu lẻ
4 Làm mịn (refine) thuật toán
Tính tổng giá trị xu
1 Tổng giá trị xu = 5*Số đồng nickel + Số đồng penny Đổi giá trị xu sang đôla và xu lẻ
1 Số đôla = Phần nguyên của Tổng giá trị xu chia 100.
2 Số xu lẻ = Phần dư của Tổng giá trị xu chia 100.
Trang 32Các bước giải bài toán
Trang 33Các bước giải bài toán
// Tinh tong gia tri xu giatrixu = 5*nickel + penny;
// Tinh gia tri dola va xu le dola = giatrixu / 100;
Trang 34Các bước giải bài toán
6 Kiểm tra chương trình
Nhap so dong nickel : 37
Nhap so dong penny : 25
Bo suu tap cua ban co gia tri la 2 dola va 10 xu
Trang 35Một số loại lỗi thường gặp và cách
thức xử lý lỗi
• Lỗi cú pháp xuất hiện khi dịch chương trình
– Thiếu dấu chấm phảy
– Biến chưa khai báo
– Gõ sai tên biến
– Không tương thích kiểu dữ liệu…
– => Sửa lỗi dựa trên lời báo lỗi của chương trình dịch
• Lỗi xuất hiện khi chạy chương trình
– Chia cho không
– Khai căn của số âm
– Nhập sai kiểu dữ liệu…
– => Xem lại đoạn lệnh gây lỗi khi chạy
Trang 36Một số loại lỗi thường gặp và cách
Trang 37Bài tập
• Vẽ 1 trong 2 hình sau lên màn hình máy
tính
************************ *
****** ****** ***
****** ****** *****
****** ****** *******
****** ****** *****
****** ****** ***
************************ *
Trang 38Bài tập
chương trình rồi hiện kết quả lên màn hình
Trang 40Chạy Visual C++ 6.0
Trang 41Tạo dự án
Trang 42Tạo dự án
Trang 43Tạo dự án
Trang 44Tạo tập tin nguồn
Trang 45Soạn thảo mã nguồn
Trang 46Dịch chương trình
Trang 47Xem kết quả dịch
Trang 48Chạy chương trình
Trang 49Chương trình khi chạy
Trang 50Lưu chương trình nguồn
Trang 51Thoát khỏi chương trình