auto, break, case, char, continue, default, do, double, else, externe, float, for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef, union, unsigne[r]
(1)TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM Khoa Công nghệ Thông tin
Bài giảng môn:
(2)(3)1 Chương Các khái niệm cơ bản của C++
CHƯƠNG
CÁC KHÁI NIỆM CƠ BẢN CỦA C++
Các yếu tố
Môi trường làm việc C++
Các bước để tạo thực chương trình Vào/ra C++
I CÁC YẾU TỐ CƠ BẢN
Một ngơn ngữ lập trình (NNLT) bậc cao cho phép người sử dụng (NSD) biểu ý tưởng để giải vấn đề, tốn cách diễn đạt gần với ngôn ngữ thông thường thay phải diễn đạt theo ngơn ngữ máy (dãy kí hiệu 0,1) Hiển nhiên, ý tưởng NSD muốn trình bày phải viết theo cấu trúc chặt chẽ thường gọi thuật toán hoặc giải thuật theo đúng qui tắc ngôn ngữ gọi cú pháp hoặc văn phạm Trong giáo trình bàn đến ngơn ngữ lập trình vậy, ngơn ngữ lập trình C++ làm để thể ý tưởng giải vấn đề cách viết thành chương trình C++
Trước hết, mục trình bày qui định bắt buộc đơn giản Thông thường qui định nhớ dần q trình học ngơn ngữ, nhiên để có vài khái niệm tương đối hệ thống NNLT C++ trình bày sơ lược khái niệm Người đọc làm quen với NNLT khác có thểđọc lướt qua phần
1 Bảng ký tự của C++
Hầu hết ngơn ngữ lập trình sử dụng kí tự tiếng Anh, kí hiệu thơng dụng sốđể thể chương trình Các kí tự ngơn ngữ khác khơng sử dụng (ví dụ chữ tiếng Việt) Dưới bảng kí tự phép dùng để tạo nên câu lệnh ngôn ngữ C++
− Các chữ la tinh (viết thường viết hoa): a z A Z Cùng chữ viết thường phân biệt với viết hoa Ví dụ chữ 'a' khác với 'A'
− Dấu gạch dưới: _
(4)− Các ký hiệu toán học: +, -, *, /, % , &, ||, !, >, <, =
− Các ký hiệu đặc biệt khác: , ;: [ ], {}, #, dấu cách,
2 Từ khoá
Một từ khoá từđược qui định trước NNLT với ý nghĩa cố định, thường dùng để loại liệu kết hợp thành câu lệnh NSD tạo từ để đối tượng khơng phép trùng với từ khố Dưới chúng tơi liệt kê vài từ khoá thường gặp, ý nghĩa từ này,
được trình bày dần đề mục liên quan
auto, break, case, char, continue, default, do, double, else, externe, float, for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while
Một đặc trưng C++ từ khố ln ln viết chữ thường
3 Tên gọi
Để phân biệt đối tượng với chúng cần có tên gọi Hầu hết đối tượng viết chương trình thuộc dạng, dạng có sẵn ngơn ngữ (ví dụ từ khố, tên hàm chuẩn ), số NSD tạo dùng đểđặt tên cho hằng, biến, kiểu, hàm tên gọi NSD tự đặt phải tuân theo số qui tắc sau:
− Là dãy ký tự liên tiếp (không chứa dấu cách) phải bắt đầu chữ gạch
− Phân biệt kí tự in hoa thường
− Khơng trùng với từ khóa
− Số lượng chữ dùng để phân biệt tên gọi có thểđược đặt tuỳ ý
− Chú ý tên gọi có sẵn C++ tuân thủ theo qui tắc
Trong chương trình NSD đặt tên sai trình xử lý sơ (trước chạy chương trình) máy báo lỗi (gọi lỗi văn phạm)
Ví dụ :
• Các tên gọi sau (được phép): i, i1, j, tinhoc, tin_hoc, luu_luong
• Các tên gọi sau sai (không phép): 1i, tin hoc, luu-luong-nuoc
(5)3 Chương Các khái niệm cơ bản của C++
4 Chú thích chương trình
Một chương trình thường viết cách ngắn gọn, thơng thường bên cạnh câu lệnh thức chương trình, NSD cịn phép viết vào chương trình câu ghi chú, giải thích để làm rõ nghĩa chương trình Một thích ghi nhiệm vụ, mục đích, cách thức thành phần thích biến, hằng, hàm công dụng đoạn lệnh Các thích làm cho chương trình sáng sủa, dễđọc, dễ hiểu dễ bảo trì, sửa chữa sau
Có cách báo cho chương trình biết đoạn thích:
− Nếu thích đoạn kí tự liên tiếp (trong dòng nhiều dòng) ta đặt đoạn thích cặp dấu đóng mở thích /* (mở) */ (đóng)
− Nếu thích vị trí hết dịng, ta đặt dấu // vị trí Như // sử dụng cho thích dòng
Như nhắc trên, vai trị đoạn thích làm cho chương trình dễ hiểu
đối với người đọc, máy đoạn thích sẽđược bỏ qua Lợi dụng đặc
điểm thích đơi để tạm thời bỏ qua đoạn lệnh chương trình (nhưng khơng xố hẳn để khỏi phải gõ lại cần dùng đến) ta có thểđặt dấu thích bao quanh đoạn lệnh (ví dụ chạy thử chương trình, gỡ lỗi ), cần sử dụng lại ta bỏ dấu thích
Chú ý: Cặp dấu thích /* */ khơng phép viết lồng nhau, ví dụ dịng thích sau khơng phép
/* Đây đoạn thích /* chứa đoạn thích */ nhưđoạn thích */
cần phải sửa lại sau:
• giữ lại cặp dấu thích ngồi
/* Đây đoạn thích chứa đoạn thích nhưđoạn thích */
• chia thành đoạn thích liên tiếp
/* Đây đoạn thích */ /*chứa đoạn thích này*/ /*nhưđoạn thích */
II MÔI TRƯỜNG LÀM VIỆC CỦA C++
1 Khởi động - Thoát khỏi C++
(6)IV LÀM VIỆC VỚI FILE 284
1 Tạo đối tượng gắn với file 284
2 Đóng file giải phóng đối tượng 285
3 Kiểm tra tồn file, kiểm tra hết file 289
4 Đọc ghi đồng thời file 290
5 Di chuyển trỏ file 290
V NHẬP/XUẤT NHỊ PHÂN 292
1 Khái niệm loại file: văn nhị phân 292
2 Đọc, ghi kí tự 293
3 Đọc, ghi dãy kí tự 293
(7)307
TÀI LIỆU THAM KHẢO
1 B.W Kerninghan and D.M Ritchie The C Programming Language Prentice-
Hall, 1978 Ngô Trung Việt (dịch) Ngơn ngữ lập trình C Viện Tin học, Hà Nội 1990
2 Peter Norton Advanced C Programming Nguyễn Việt Hải (dịch) Lập trình C
nâng cao Nhà xuất Giao thông vận tải Hà Nội, 1995
3 Phạm Văn Ất Kỹ thuật lập trình C Cơ sở nâng cao Nhà xuất Khoa học
và kỹ thuật Hà Nội, 1996
4 Phạm Văn Ất C++ lập trình hướng đối tượng Nhà xuất Khoa học kỹ
thuật Hà Nội, 2000
5 Scott Robert Ladd Nguyễn Hùng (dịch) C++ Kỹ thuật ứng dụng Công ty cổ
phần tư vấn dịch vụ KHKT - SCITEC, 1992