KỸ THUẬT LẬP TRÌNH – 2 TC
Phan Thị Gấm - 0977369663
1
NỘI DUNG
Tổng quan về ngôn ngữ C++
Kiểu dữ liệu và biểu thức
Các cấu trúc lệnh cơ bản
Mảng
Xâu ký tự
Hàm
Tệp văn bản
2
M1. Tổng quan về ngôn ngữ C++
3
1. Lịch sử ngơn ngữ lập trình C++
Lịch sử ngơn ngữ lập trình C
Ra đời vào khoảng năm 1970, viết bởi Dennis Ritchie tại phịng thí
nghiệm Bell.
Ra đời dưới sự ảnh hưởng của các ngơn ngữ trước đó: BCPL (1967)
và B (1970).
Được dùng để viết hệ điều hành Unix
Độc lập với phần cứng (khả chuyển)
4
1. Lịch sử ngơn ngữ lập trình C++
Ngơn ngữ lập trình C++ được phát triển năm 1980 bởi Bjarne
Stroustrup tại phịng thí nghiệm Bell của AT&T ((American
Telephone & Telegraph)), Mỹ.
Được phát triển bằng cách bổ sung thêm tính năng OOP (Object
Oriented Programming - Lập trình hướng đối tượng)
Lập trình C++ được gọi là tập mở rộng của C
5
2. Giới thiệu
C++ thừa kế từ ngôn ngữ C.
Những câu lệnh trong C có thể được áp dụng trong C++.
Những thành phần được bổ sung vào C để trở thành C++ bao gồm:
Lớp
Đối tượng
Lập trình hướng đối tượng
6
2. Giới thiệu
C++ là một ngơn ngữ lập trình đa chức năng phân biệt chữ hoachữ thường (case-sensitive) và có dạng tự do (free-form).
C++ hỗ trợ lập trình khái quát (generic programming), lập trình
hướng đối tượng (object-oriented) và lập trình hướng thủ tục
(procedural).
C++ là ngơn ngữ lập trình bậc trung (midle-level), vì nó mang tính
năng của cả ngơn ngữ lập trình bậc cao cũng như ngơn ngữ lập
trình bậc thấp.
7
3. Ứng dụng của C++
Ứng dụng Windows
Ứng dụng client-server
Device driver
Firmware nhúng…
8
4. Các thành phần cơ bản
a) Bảng chữ cái
Loại kí tự
Biểu diễn của kí tự
Mã ASCII
Các chữ cái in hoa
‘A’...’Z’
65...90
Các chữ cái in thường
‘a’...’z’
97...122
Các chữ số
‘0’...’9’
48...57
Dấu cách
‘ ’
32
Dấu chấm than
‘!’
097
Các phép toán
‘+’, ‘-’, ‘*’, ‘/’, ‘=‘, ‘<‘, ‘>’
107,109...
Các dấu ngoặc
‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘, ‘]’
104,105…
Dấu chấm ‘.’ phẩy ‘,’, dấu nháy “”
110,108…
Dấu hai chấm ‘:’ chấm phẩy ‘;’, ‘’’, ‘@’, ‘^’, ‘$’, ‘#’, ‘&’
122,123…
Các kí tự khác
1. Các thành phần cơ bản
a) Bảng chữ cái
Bảng kí tự được phép dùng trong các câu lệnh của ngôn ngữ C++
gồm:
Các chữ cái la tinh (viết thường và viết hoa): a .. z và A .. Z.
Dấu gạch dưới: _
Các chữ số thập phân: 0, 1, ..., 9
Các ký hiệu toán học: +, -, *, /, % , &, ||, !, >, <, = ...
Các ký hiệu đặc biệt khác: , ; : [ ], {}, #, dấu cách,v.v...
4. Các thành phần cơ bản
b) Cú pháp
Là bộ qui tắc dùng để viết chương trình.
Người lập trình và chương trình dịch thực hiện thuật tốn thơng
qua cú pháp chương trình.
4. Các thành phần cơ bản
c) Ngữ nghĩa: xác định ý nghĩa thao tác cần phải thực hiện, ứng với
tổ hợp kí tự dựa vào ngữ cảnh của nó
Ví dụ: Xét 2 ví dụ sau:
A + B (1) với A, B là các số thực
I +J
(2) với I, J là các số nguyên
Trong (1): Dấu + là cộng hai số thực.
VD: 2,3 + 4,3 = 6,6
Trong (2): Dấu + là cộng hai số nguyên.
VD: 2 + 4 = 6
Trong các ngơn ngữ lập trình đều sử dụng dấu cộng (+) để chỉ phép
cộng.
5. MỘT SỐ KHÁI NIỆM
a) TÊN
) Để phân biệt các đối tượng trong chương trình
) Tên của đối tượng thuộc 2 dạng:
Dạng 1: Tên gọi đã có sẵn trong ngơn ngữ: Từ khố, tên các hàm
chuẩn ...
Dạng 2: Tên gọi người sử dụng tạo ra để đặt tên cho hằng, biến, kiểu,
hàm ... các tên gọi này phải:
Là dãy ký tự liên tiếp (không chứa dấu cách) và phải bắt đầu bằng chữ cái hoặc
dấu gạch dưới _
Tên gọi có phân biệt chữ cái in hoa và in thường.
Tên gọi không được trùng với từ khóa, tên hàm.
Số lượng ký tự trong tên gọi là tuỳ ý.
5. MỘT SỐ KHÁI NIỆM
Tên dành riêng (Từ khóa): Là những tên được NNLT, dùng với ý nghĩa xác
định mà không được dùng với ý nghĩa khác: MAIN, INCLUDE, VOID, WHILE,
IF…
Tên chuẩn: Dùng với ý nghĩa xác định nào đó, được quy định trong các thư
viện của NNLT, nhưng người lập trình có thể khai báo và dùng với ý nghĩa
khác: CIN, COUT, GETCHAR …
Tên do người lập trình đặt: Sử dụng theo ý nghĩa riêng, xác định bằng
cách khai báo trước khi sử dụng.
Tên dành riêng
Tên chuẩn
Tên do người lập trình
đặt
5. MỘT SỐ KHÁI NIỆM
b) Hằng và biến
Hằng: là đại lượng có giá trị khơng thay đổi trong q trình thực
hiện chương trình.Phân loại hằng:
Hằng số học: Là các số nguyên hoặc số thực.
Hằng logic: Là giá trị đúng (true) hoặc sai (false)
Hằng xâu: Là dãy kí tự trong bộ mã ASCII.
Biến: là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có
thể được thay đổi trong quá trình thực hiện chương trình
Các biến dùng trong chương trình đều phải khai báo
Việc đặt tên biến theo quy tắc đặt tên
5. MỘT SỐ KHÁI NIỆM
c) Chú thích
Các đoạn chú thích đặt trong chương trình nguồn giúp người đọc dễ
dàng nhận biết ý nghĩa của chương trình đó.
Chú thích khơng làm ảnh hưởng đến nội dung chương trình nguồn
và được chương trình dịch bỏ qua.
Các ngơn ngữ lập trình khác nhau dùng ký hiệu khác nhau để chú
thích.
Trong C++ có 2 cách khai báo chú thích:
Chú thích là một đoạn văn bản được đặt giữa cặp dấu mở /* và đóng */.
Chú thích là 1 dòng văn bản, được đặt sau dấu //
5. MỘT SỐ KHÁI NIỆM
Ví dụ
6. Cấu trúc chương trình
Mỗi chương trình thường có cấu trúc gồm 2 phần
[Phần khai báo]
<Phần thân>
6. Cấu trúc chương trình
a) Phần khai báo: Có thể khai báo tên chương trình, hằng, biến,
chương trình con,…
b) Phần thân chương trình
Thân chương trình thường là nơi chứa một dãy lệnh để thực hiện các công việc;
trong C++ mỗi chương trình có một hàm main() để thực hiện các thao tác lệnh
6. Cấu trúc chương trình
Xét ví dụ sau:
•
Hàm :
Kieu_du_lieu ten_ham(ds_tham_so)
#include <iostream>
{//dinh nghia than ham
using namespace std;
}
int main()
{
•
•
•
using namespace: khơng gian tên
cout nằm trong namespace std;
return 0;
}
#include: yêu cầu chương trình dịch chèn thêm file vào mã
nguồn.
//in ra màn hình
cout << “Hello world \n”;
Câu lệnh: kết thúc bởi dấu “;”
•
Câu chú thích: Câu chú thích bắt đầu bằng dấu // hoặc nằm trong
/* */.
21
6. Cấu trúc chương trình
22
6. Cấu trúc chương trình
Header File và Library File
Một số nhiệm vụ được thực hiện bởi Library Function.
Header File chứa khai báo các hàm mà ta cần sử dụng trong chương trình.
Ví dụ:
#include <math.h>
#include ”myprog.h”
<>: u cầu chương trình dịch tìm từ thư mục chuẩn.
” ” : yêu cầu chương trình dịch tìm từ thư mục hiện tại.
Nếu khơng include Header File thích hợp thì chương trình dịch sẽ báo lỗi.
23
#include <somelib.h>
library header file
somelib.h
myprog.cpp
#include ”myprog.h”
user header file
myprog.h
compiler
object file
library file
myprog.obj
cs.lib
linker
executable file
myprog.exe
24
7. Mơi trường phát triển IDE
Biên tập chương trình nguồn
Biên dịch chương trình
Chạy chương trình nguồn
Sửa lỗi chương trình nguồn
25