Bất kỳ vấn đề, bài toán ngoài đời nào cũng có thể được chia thành trình tự nhiều công việc nhỏ hơn.
•Trình tự các công việc nhỏ này được gọi là giải thuật giải quyết công việc ngoài đời.
•Mỗi công việc nhỏ hơn cũng có thể được chia nhỏ hơn nữa nếu nó còn phức tạp,.
•Vấn đề mấu chốt của việc dùng máy tính giải quyết công việc ngoài đời là lập trình.
162 trang |
Chia sẻ: haohao89 | Lượt xem: 3763 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Môn học lập trình C căn bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRÖÔØNG ÑAÏI HOÏC TOÂN ÑÖÙC THAÉNG
KHOA COÂNG NGHEÄ THOÂNG TIN & TOAÙN ÖÙNG DUÏNG
-----# "-----
MOÂN HOÏC
LAÄP TRÌNH C CAÊN BAÛN
GIAÛNG VIEÂN: ThS. DÖÔNG THÒ THUØY VAÂN
1LẬP TRÌNH C CĂN BẢN
Th.S Dương Thị Thùy Vân
Khoa CNTT & TƯD
CHƯƠNG 0
GIỚI THIỆU
2• Giải quyết những bài toán cơ bản với chương
trình máy tính.
• Các khái niệm, kiến thức cơ bản về lập trình.
• Các nguyên lý, kỹ thuật lập trình cơ bản.
• Dùng ngôn ngữ lập trình C để viết.
• Cú pháp, ngữ nghĩa ngôn ngữ C/C++.
Mục tiêu
Nội dung
Ch1- Thuật toán
Ch2- Các khái niệm cơ bản
Ch3- Biến và hằng
Ch4- Phép toán và biểu thức
Ch5- Cấu trúc điều khiển rẽ nhánh, lặp (*)
Ch6- Hàm (*)
3Tài liệu tham khảo
1. Nguyễn Cao Trí, Bài giảng cơ sở lập trình
2. Quách Tuấn Ngọc (1998), Ngôn ngữ lập trình C,
NXB Giáo Dục.
3. Hoàng Kiếm (2001), Giải một bài toán trên máy
tính như thế nào ?, tập 1, NXB Giáo Dục.
4. Brian W.Kernigan & Dennis M.Ritchie (2000),
The C Programming Language.
5. H.M. Deitel and P.J. Deitel (1998), C++ How to
program, 2nd Edition, Prentice Hall.
Đánh giá
Bài tập trên lớp, BT về nhà, kiểm tra, …, 10%
KT giữa kì: kiểm tra thực hành trên máy, 20%
Thi cuối kì: kiểm tra viết trên giấy, 70%
4LẬP TRÌNH C CĂN BẢN
Th.S Dương Thị Thùy Vân
Khoa CNTT & TƯD
• Giải quyết những bài toán cơ bản với chương
trình máy tính.
• Các khái niệm, kiến thức cơ bản về lập trình.
• Các nguyên lý, kỹ thuật lập trình cơ bản.
• Dùng ngôn ngữ lập trình C để viết.
• Cú pháp, ngữ nghĩa ngôn ngữ C/C++.
Mục tiêu
5Nội dung
Ch1- Thuật toán
Ch2- Các khái niệm cơ bản
Ch3- Biến và hằng
Ch4- Phép toán và biểu thức
Ch5- Cấu trúc điều khiển rẽ nhánh, lặp (*)
Ch6- Hàm (*)
Ch7- Cấu trúc mảng một chiều
Tài liệu tham khảo
1. Quách Tuấn Ngọc (1998), Ngôn ngữ lập trình C,
NXB Giáo Dục.
2. Hoàng Kiếm (2001), Giải một bài toán trên máy
tính như thế nào ?, tập 1, NXB Giáo Dục.
3. Brian W.Kernigan & Dennis M.Ritchie (2000),
The C Programming Language.
4. H.M. Deitel and P.J. Deitel (1998), C++ How to
program, 2nd Edition, Prentice Hall.
6Đánh giá
Bài tập trên lớp, BT về nhà, kiểm tra, …, 10%
KT giữa kì: kiểm tra thực hành trên máy, 20%
Thi cuối kì: kiểm tra viết trên giấy, 70%
Chương 1
THUẬT TOÁN
7Nội dung
• 1. Vấn đề, bài toán
• 2. Thuật toán
• 3. Giải bài toán trên máy tính
1. Vấn đề, bài toán
Vấn đề
) Những vướng mắc, khó khăn trong cuộc sống
mà ta cần giải quyết.
Bài toán
) Một loại vấn đề mà để giải quyết, cần đến tính
toán (phép toán số, luận lí, quan hệ).
8Giải quyết vấn đề, bài toán
• Bất kỳ vấn đề, bài toán ngoài đời nào cũng có thể
được chia thành trình tự nhiều công việc nhỏ hơn.
• Trình tự các công việc nhỏ này được gọi là giải
thuật giải quyết công việc ngoài đời.
• Mỗi công việc nhỏ hơn cũng có thể được chia nhỏ
hơn nữa nếu nó còn phức tạp,...
• Vấn đề mấu chốt của việc dùng máy tính giải
quyết công việc ngoài đời là lập trình.
2. Thuật toán
Thuật toán
) Là cách biểu diễn lời giải "bài toán“ rõ ràng,
chi tiết để có thể thực thi được trên máy tính.
) Là một dãy hữu hạn các bước nhằm xác định các thao
tác mà máy tính có thể thực hiện được sao cho sau
khoảng thời gian hữu hạn thì cho ra kết quả.
 Bài toán giải phương trình bậc 1- 1 ẩn. (??)
9Các đặc trưng của thuật toán (1)
- Tính hữu hạn: có hữu hạn bước và phải dừng.
- Tính xác định: các bước rõ ràng, thực thi được.
- Tính đúng: quá trình thực thi theo các bước đã chỉ
ra phải đi đến kết quả như ý.
- Tính hiệu quả: khối lượng, không gian, thời gian
tính toán không quá “lớn”.
- Tính tổng quát: áp dụng được cho mọi trường hợp
của bài toán.
Các đặc trưng của thuật toán (2)
10
Phương pháp biểu diễn thuật toán
• Thuật toán thường được biểu diễn bằng
các ngôn ngữ sau:
– Dùng ngôn ngữ tự nhiên (NNTN)
– Dùng mã giả (NNTN + NN LT)
– Dùng lưu đồ - sơ đồ khối
Biểu diễn bằng NNTN
• Dùng ngôn ngữ thường ngày để liệt kê các bước của
thuật toán.
• Không thể hiện rõ cấu trúc của thuật toán
• Dài dòng, có thể gây hiểu lầm hoặc khó hiểu
• Không yêu cầu người viết hay đọc nắm quy tắc.
− Không có một quy tắc cố định
• Tính dễ đọc:
− viết các bước con lùi vào bên phải
− đánh số bước theo quy tắc phân cấp như 1, 1.1, ...
11
Biểu diễn bằng mã giả (1)
• Vay mượn các cú pháp của một ngôn ngữ lập trình
– dùng một phần ngôn ngữ tự nhiên
– bị phụ thuộc vào ngôn ngữ lập trình.
• Mọi ngôn ngữ lập trình đều có những thao tác cơ
bản
– xử lý, rẽ nhánh và lặp
– tận dụng được các khái niệm trong ngôn ngữ lập trình,
• Dễ dàng nắm bắt nội dung thuật toán
Biểu diễn bằng mã giả (2)
Một đoạn mã giả của thuật toán giải pt bậc hai
if Delta > 0 then begin
x1=(-b-sqrt(delta))/(2*a)
x2=(-b+sqrt(delta))/(2*a)
xuất kết quả : phương trình có hai nghiệm là x1 và x2
end
else
if delta = 0 then
xuất kết quả : phương trình có nghiệm kép là
-b/(2*a)
else {trường hợp delta < 0 }
xuất kết quả : phương trình vô nghiệm
12
Biểu diễn bằng lưu đồ (1)
Đường đi
Terminator
Module – CT con
Quyết định
Xuất
Xử lý
Nhập
Ý nghĩaBiểu tượng
Biểu diễn bằng lưu đồ (2)
• Công cụ trực quan diễn đạt thuật toán.
– Biểu diễn bằng mô hình – hình vẽ
• Theo dõi được:
– sự phân cấp các trường hợp
– quá trình xử lý của thuật toán
• Phân biệt hai loại thao tác:
– Chọn lựa theo một điều kiện nào đó
– Xử lý, hành động
13
Biểu diễn bằng lưu đồ (3)
• Chọn lựa theo một điều kiện nào đó:
– Biểu diễn bằng một hình thoi, bên trong chứa
biểu thức điều kiện.
– Ví dụ: thao tác "nếu a = b thì thực hiện thao tác
B2, ngược lại thực hiện B4" là thao tác chọn lựa
a = b Δ = 0
Biểu diễn bằng lưu đồ (4)
• Thao tác chọn lựa: có thể có hai hướng đi
– một hướng ứng với điều kiện thỏa
– một hướng ứng với điều kiện không thỏa.
– 2 cung có nhãn
• Đ/Đúng,Y/Yes
• S/Sai,N/No
14
Biểu diễn bằng lưu đồ (5)
• Xử lý, hành động:
– Biểu diễn bằng một hình chữ nhật, bên trong
chứa nội dung xử lý.
– Ví dụ: "Chọn một môn học và in ra." là một
thao tác thuộc loại hành động.
tăng i lên 1 chọn 1 hộp bất kỳ
Biểu diễn bằng lưu đồ (6)
• Quá trình thực hiện các thao tác:
– Đường đi – route
– Biểu diễn bằng cung có hướng
• nối giữa 2 thao tác: thực hiện lần lượt
15
Biểu diễn bằng lưu đồ (7)
• Ðiểm cuối (terminator)
– Biểu diễn bằng hình ovan
– Điểm khởi đầu
• chỉ có cung đi ra
• bên trong ovan ghi chữ: bắt đầu/start/begin
– Điểm kết thúc
• Chỉ có cung đi vào
• bên trong ovan ghi chữ: kết thúc/end
• Mỗi lưu đồ chỉ có 1 điểm bắt đầu và 1 điểm kết
thúc.
Phương trình thuật toán giải pt
bậc 2. Đường chấm ứng với
trường hợp nghiệm kép, ví dụ:
a=1,b=2,c=1
16
Biểu diễn bằng lưu đồ (8)
• Điểm nối (connector)
– Nối các phần khác nhau của một
lưu đồ
– Nối sang trang
– Sử dụng với lưu đồ phức tạp
• Giảm độ rắc rối
• Đặt ký hiệu
liên hệ giữa các
điểm nối
3. Giải bài toán trên máy tính (1)
Các bước giải quyết vấn đề, bài toán bằng máy tính
điện tử (MTĐT):
1) Xác định vấn đề, bài toán: xác định rõ yêu cầu của bài
toán, bài toán cho gì (Input) và yêu cầu tìm gì (Output).
2) Lựa chọn phương pháp giải: Có thể có nhiều cách
khác nhau để giải bài toán. Các phương pháp có thể
khác nhau về thời gian thực hiện, chi phí lưu trữ dữ
liệu, độ chính xác, … => tùy theo nhu cầu cụ thể mà
chọn phương pháp giải thích hợp.
17
3. Giải bài toán trên máy tính (2)
3) Xây dựng thuật toán: xây dựng mô hình chặt chẽ,
chính xác hơn và chi tiết hơn cho phương pháp giải
đã chọn. Xác định rõ ràng dữ liệu vào, ra cho các
bước thực hiện cơ bản và trật tự thực hiện các bước
đó. Nên áp dụng phương pháp thiết kế có cấu trúc, từ
thiết kế tổng thể tiến hành làm mịn dần từng bước.
4) Cài đặt chương trình: mô tả thuật giải bằng chương
trình. Dựa vào thuật giải đã được xây dựng, căn cứ
quy tắc của một ngôn ngữ lập trình để soạn thảo ra
chương trình thể hiện giải thuật thiết lập ở bước 3.
3. Giải bài toán trên máy tính (3)
5) Hiệu chỉnh chương trình: Cho chương trình
chạy thử để phát hiện và điều chỉnh sai sót nếu
tìm thấy. Có hai loại lỗi: lỗi cú pháp và lỗi ngữ
nghĩa.
6) Thực hiện chương trình: Cho MTĐT thực hiện
chương trình. Tiến hành phân tích kết quả thu
được. Việc phân tích kết quả nhằm khẳng định
kết quả đó có phù hợp hay không. Nếu không,
cần kiểm tra lại toàn bộ các bước một lần nữa.
18
Bài tập
Một công ty, mỗi giờ làm việc của một công nhân được
trả 10,000 đồng/giờ trong 8 giờ đầu làm việc theo qui
định.
Nếu làm tăng ca (phải làm nhiều hơn 8 giờ qui định),
thì mỗi giờ vượt qui định được trả thêm 30%.
Tính tiền công cho một công nhân tùy theo giờ làm
việc của họ.
CHƯƠNG 2
CÁC KHÁI NIỆM CƠ BẢN
Th.S Dương Thị Thùy Vân
Khoa CNTT & TƯD
19
Nội dung
1. Ngôn ngữ lập trình
2. Chương trình dịch
3. Soạn thảo mã nguồn-Biên dịch-Liên kết và
thực thi
4. Ví dụ chương trình C
5. Các thành phần của chương trình C đơn giản
1. Ngôn ngữ lập trình (1)
• Con người liên lạc với nhau dùng:
– ngôn ngữ tự nhiên: các mẫu từ ngữ và âm thanh
• Con người “nói chuyện” với máy tính dùng:
– Ngôn ngữ lập trình: tập từ ngữ và ký hiệu
• Tuân theo các luật được gọi là cú pháp (syntax)
• Có rất nhiều ngôn ngữ lập trình đang được sử
dụng.
20
1. Ngôn ngữ lập trình (2)
• Dựa vào mức độ chi tiết hóa việc mô tả các thao
tác, người ta chia ngôn ngữ lập trình thành các
lớp:
– Ngôn ngữ máy,
– Hợp ngữ,
– Ngôn ngữ cấp cao.
• Các ngôn ngữ cấp cao gần với ngôn ngữ tự nhiên
nên rất tiện lợi cho việc mô tả các thao tác và dễ
học, dễ nhớ.
1. Ngôn ngữ lập trình (3)
Ngôn ngữ máy
Hợp ngữ
Ngôn ngữ cấp cao
+1300042774
+1400593419
+1200274027
LOAD A
ADD B
STORE C
C=A+B
21
Ngôn ngữmáy (1)
• Là ngôn ngữ nền tảng của bộ vi xử lý, còn được
gọi là mã máy.
• Tập lệnh của ngôn ngữ máy phụ thuộc vào loại vi
xử lý nên ngôn ngữ máy sẽ khác nhau trên những
máy tính có sử dụng bộ vi xử lý khác nhau.
• Các chương trình được viết bằng các loại ngôn
ngữ khác cuối cùng đều được chuyển thành ngôn
ngữ máy trước khi chương trình đó được thi hành.
Ngôn ngữmáy (2)
• Ưu điểm viết chương trình bằng ngôn ngữ máy:
– điều khiển máy tính trực tiếp
• đạt được chính xác điều mình muốn làm.
• hiệu quả về tốc độ thi hành, kích thước chương trình nhỏ
=> ngôn ngữ máy cho phép khai thác triệt để khả
năng của máy tính.
• Bất lợi của chương trình ngôn ngữ máy
– Tốn rất nhiều thời gian để viết,
– Rất khó đọc, khó theo dõi để tìm lỗi
– Chỉ chạy được trên những máy tính có cùng bộ vi xử lý.
=> ngôn ngữ máy được gọi là ngôn ngữ cấp thấp.
22
Hợp ngữ
• Tương tự như ngôn ngữ máy nhưng sử dụng các
ký hiệu gợi nhớ để biểu diễn cho mã lệnh của
máy.
• Cho phép định địa chỉ hình thức (dùng tên hoặc ký
hiệu để tham chiếu tới một vị trí bộ nhớ) thay vì
phải sử dụng địa chỉ thực sự (bằng con số nhị
phân) như ngôn ngữ máy.
• Được phát triển nhằm giúp lập trình viên dễ nhớ
các lệnh của chương trình.
• Các chương trình hợp ngữ được chuyển sang mã
máy thông qua trình hợp dịch (assembler).
Ngôn ngữ cấp cao
• Hợp ngữ vẫn còn rất gần với từng thiết kế của máy
tính.
• Cần có những ngôn ngữ lập trình gần với ngôn
ngữ tự nhiên hơn, được gọi là ngôn ngữ cấp cao.
• Ngôn ngữ cấp cao bao gồm: danh từ, động từ, ký
hiệu toán học, liên hệ và thao tác luận lý. Các yếu
tố này có thể được liên kết với nhau tạo thành câu
lệnh.
• Ưu điểm viết chương trình bằng ngôn ngữ cấp
cao:
– Dễ đọc và dễ học
– Không phụ thuộc vào máy tính
23
VD01
// Chuong trinh tinh bieu thuc y= 3e^cos(t+1)
#include
#include
void main()
{
double t, y;
cout<<”Moi ban nhap 1 so thuc t: ”;
cin>>t;
y= 3*exp(cos(t+1));
cout<<”Gia tri cua bieu thuc can
tinh la: ”<< y;
}
Các thành phần của ngôn ngữ
lập trình
• Mỗi ngôn ngữ lập trình thường có ba thành phần cơ
bản:
– Bảng chữ cái: là tập hợp các kí tự được dùng khi viết
chương trình, ngoài các kí tự này không được phép dùng bất
kì kí tự nào khác.
– Cú pháp: là bộ quy tắc để viết chương trình. Dựa vào
chúng, người lập trình và chương trình dịch biết được tổ
hợp nào của các kí tự trong bảng chữ cái là hợp lệ và tổ hợp
nào là không hợp lệ. Nhờ đó, có thể mô tả chính xác thuật
toán để máy thực hiện.
– Ngữ nghĩa: xác định ý nghĩa thao tác cần phải thực hiện,
ứng với mỗi tổ hợp kí tự và dựa vào ngữ cảnh của nó.
24
Ví dụ
• Hầu như các ngôn ngữ lập trình đều có kí tự + chỉ
phép cộng. Xét các biểu thức:
A + B (1)
I + J (2)
• Giả thiết A, B là các biến thực và I, J là các biến
nguỵên.
• Khi đó dấu trong biểu thức (1) sẽ được hiểu là cộng
hai số nguyên, dấu + trong biểu thức (2) sẽ được hiểu
là cộng hai số thực.
• Như vậy, cú pháp cho biết cách viết một chương
trình hợp lệ,
• Còn ngữ nghĩa xác định tính chất, thuộc tính của các
tổ hợp kí tự trong chương trình.
2. Chương trình dịch
• Chuyển đổi chương trình từ NN cấp cao
(hợp ngữ) thành NN máy.
• Có hai kỹ thuật chính:
– Trình biên dịch (compiler),
– Trình thông dịch (interpreter).
25
Trình biên dịch
• Chuyển đổi toàn bộ chương trình sang ngôn ngữ máy
và lưu kết quả vào đĩa để có thể thi hành về sau.
– Chương trình nguồn (source program) là chương trình ngôn
ngữ cấp cao được chuyển đổi.
– Chương trình đối tượng (object program) là chương trình
ngôn ngữ máy được tạo ra.
• Thực hiện
– Duyệt, kiểm tra cú pháp chương trình,
– Kiểm tra logic và đảm bảo các dữ liệu sử dụng được định
nghĩa hợp lý,
– Phát hiện và tạo ra một danh sách lỗi cú pháp của các mệnh
đề (statement).
• Phương pháp dịch này thuận tiện cho các chương
trình ổn định và cần thực hiện nhiều lần.
Trình thông dịch
• Lần lượt dịch và thực hiện từng câu lệnh một.
• Mỗi lần chạy chương trình là mỗi lần chương trình
nguồn được thông dịch sang ngôn ngữ máy.
• Ưu điểm
– Có thể chạy một chương trình vẫn còn lỗi cú pháp.
• Nhược điểm
– Chậm hơn các chương trình được biên dịch.
• Phương pháp dịch này thích hợp cho môi trường đối
thoại giữa người và hệ thống.
• Đa số các ngôn ngữ cấp cao đều dùng trình biên dịch.
26
3. Soạn thảo mã nguồn – Biên dịch
– Liên kết và thực thi (1)
• Mỗi ngôn ngữ lập trình có một vài môi trường lập
trình tương ứng.
• Ví dụ ngôn ngữ C có các môi trường lập trình
Turbo C, Borland C, Microsoft Visual C++, …
• Môi trường lập trình cung cấp các dịch vụ như:
– Soạn thảo mã nguồn,
– Lưu trữ, tìm kiếm,
– Xác định loại lỗi nếu có, chỉ rõ lỗi ở câu lệnh nào,
– Cho xem các kết quả trung gian,
– …
3. Soạn thảo mã nguồn – Biên dịch
– Liên kết và thực thi (2)
• Các môi trường lập trình khác biệt nhau ở các loại
dịch vụ mà nó có thể cung cấp.
• Đặc biệt là các dịch vụ mở rộng, nâng cấp, tăng
cường các khả năng mới cho ngôn ngữ lập trình.
• Khi biên dịch chương trình nguồn, người lập trình
sẽ phát hiện được các lỗi cú pháp.
• Khi liên kết và thực thi chương trình trên dữ liệu
cụ thể thì mới phát hiện được các lỗi ngữ nghĩa.
27
3. Soạn thảo mã nguồn – Biên dịch
– Liên kết và thực thi (3)
hello.ocompile hellohello.c
C libaray
Link
Source File
(High-Level
Languages)
Object File
(Machine
Languages)
Executable
Edit
Trình biên dịch
4. Ví dụ chương trình C
/* Chương trình tính tổng các số tự nhiên từ 1 đến N */
#include
int sum(int n); //khai bao ham
void main()
{
int S, n; //biến lưu tổng và số n được cho ban đầu
cout<<”Moi nhap vap so n: ”;
cin>>n;
S = sum(n); //gọi hàm tính tổng
cout<<”Tong cac so tu nhien nho hon ”<<n
<< “ la: ”<< S;
}
int sum(int n) //Dinh nghia ham sum
{
int i, S =0;
for (i=0; i<=n; i++)
S = S+i;
return S;
}
28
Một số qui tắc khi viết chương trình C
• Mỗi câu lệnh có thể viết trên một hay nhiều dòng
nhưng phải được kết thúc bằng dấu “;”.
• Chú thích có thể được viết trên một dòng, nhiều
dòng hoặc trên phần còn lại của câu lệnh.
• Khi sử dụng một hàm thư viện cần khai báo hàm ở
đầu chương trình bằng cách toán tử #include, ví
dụ: #include
• Một chương trình chỉ có một hàm chính (main), có
thể có thêm vài hàm khác (gọi là hàm con).
5. Các thành phần của chương trình
C/C++ đơn giản (1)
(1) #include
yêu cầu trình biên dịch đọc tập tin chứa các khai báo như
khai báo hàm thư viện mà chương trình dùng.
VD: iostream.h → cout, cin, ...
stdio.h → printf, scanf, ...
math.h → sqrt, sin, log, pow, ...
conio.h → getch, clrscr, ...
29
5. Các thành phần của chương trình
C/C++ đơn giản (2)
(2) Hàm chính, là thành phần buộc phải có
trong mọi chương trình C.
Dạng đơn giản:
void main(){ }
int main() { return 0; }
main() { return 0; }
(3) Định nghĩa dữ liệu và các phát biểu.
- Các phát biểu là phần thực thi của chương trình.
(đọc từ bàn phím, xuất ra màn hình, thực hiện tính toán, gọi hàm,...)
- Các phát biểu được đặt giữa cặp ngoặc { và } của hàm
(main), tạo nên “thân hàm”.
- Mỗi phát biểu đơn (câu lệnh) được kết thúc bởi ‘;’
- Các phát biểu cùng được đặt giữa { và } tạo thành phát
biểu ghép (còn gọi khối lệnh).
5. Các thành phần của chương trình
C/C++ đơn giản (3)
30
(4) Khai báo hàm và định nghĩa hàm.
Khai báo hàm là đưa ra một “mẫu hàm”, gồm tên
và các tham số của hàm (kết thúc bởi ;).
int sum(int n);
Định nghĩa hàm gồm tên hàm, các tham số và thân
hàm (chứa các phát biểu chương trình), thực thi
một việc cụ thể.
5. Các thành phần của chương trình
C/C++ đơn giản (4)
(5) Các chú thích, được trình biên dịch “bỏ qua”, không
ảnh hưởng đến việc thực thi của chương trình.
Có hai loại chú thích:
• Chú thích khối, chú thích là phần văn bản đặt giữa /* và */
• Chú thích dòng, chú thích là phần văn bản đặt ngay sau cặp kí
tự: //
5. Các thành phần của chương trình
C/C++ đơn giản (5)
31
Xuất dữ liệu (1)
• cout là đối tượng xuất chuẩn, xuất dữ liệu ra màn hình.
• Một phát biểu xuất kết quả ra màn hình, bao gồm: cout,
phép toán xuất <<, đối tượng được xuất, và ‘;’.
Một đối tượng được xuất có thể là:
─ Số nguyên (số thực) hay biến nguyên (biến thực).
─ Kí tự (một hằng kí tự được đặt giữa cặp dấu ‘ ’) hoặc
biến kiểu kí tự.
─ Thông điệp gồm nhiều kí tự (chuỗi kí tự) được đặt
giữa cặp dấu “ ”.
Xuất dữ liệu (2)
32
Định dạng xuất, như: cho phép có bao nhiêu số ở phần
thập phân, canh lề phải dữ liệu xuất...
33
• Nhiều phát biểu xuất có thể được nối lại thành một
phát biểu xuất, khi đó cần lưu ý là trước mỗi đối
tượng được xuất là một phép toán xuất và ngược
lại.
• Các đối tượng được xuất ra sẽ liên tiếp nhau trên
cùng một dòng.
• Nếu muốn một đối tượng được xuất ra trên một
dòng mới thì gọi endl hay “\n” trong phát biểu
xuất.
Xuất dữ liệu (3)
Nhập dữ liệu
• cin là dòng nhập chuẩn, đọc dữ liệu được gõ từ bàn
phím.
• Dạng tổng quát: cin>> var;
var là một biến nào đó
• Phát biểu nhập có nhiều đối tượng:
cin>>var1>>var2…>>varN
34
CHƯƠNG 3
BIẾN VÀ HẰNG
ThS. Dương Thị Thùy Vân
Khoa CNTT & TƯD
Nội dung
1. Danh hiệu
2. Từ khóa
3. Kiểu dữ liệu
4. Khái niệm biến, vùng nhớ cho biến
5. Các kiểu cơ bản của biến
6. Định nghĩa kiểu với typedef
7. Định nghĩa biến và gán trị cho biến
8. Hằng
35
1. Danh hiệu (1)
• Danh hiệu: được dùng để xác định các đại lượng khác
nhau trong một chương trình như biến, hằng, hàm,… Là
dãy kí tự liền nhau, gồm:
- kí tự chữ
- kí tự số
- kí tự ‘_’ (underscore character).
• Qui tắc (đặt tên):
- Chỉ có thể bắt đầu với một kí tự chữ hoặc kí tự ‘_’
- Không trùng “từ khóa”.
- Phân biệt chữ in, chữ thường.
1. Danh hiệu (2)
Xét các ví dụ sau:
DiemMon1
Dong$
1HK
_diemTB
123$
int
diem HK
36
2. Từ khóa (key words)
• Là những “tên” đã được định nghĩa bởi ngôn ngữ,
dùng cho những mục đích khác nhau:
static
register
goto
struct
continue
return
sizeof
enum
typedef
unsigned
if
else
switch
case
default
char
int
long
float
double
void
do
for
while
break
3. Kiểu dữ liệu
• Xét tập N, Z, Q, R, C ?!
• Kiểu dữ liệu (KDL) được xác định bởi:
– tập giá trị, và
– tập các phép toán tác động lên các phần tử thuộc tập
giá trị ấy.
• Đơn vị lưu trữ là byte. Mỗi giá trị thuộc một KDL
được biểu diễn bởi một số byte nhất định.
=> Các giá trị biểu diễn được là hữu hạn.
37
• Là nơi lưu trữ dữ liệu trong bộ nhớ máy tính,
được đặt bởi một tên.