Dịchmã nguồnsangmãmáy
-Cách 1: ẤnphímF7
-Cách 2: ChọnBuild/Build
Saukhi cửa sổra, xuất hiệnthôngbáo:
–0error(s),0warning(s)
thìquátrìnhbiên dịchđãxong
Soạn thảo tệp tiêu đề .h
Hoàn toàn giống như soạn thảo tệp nguồn, nhưng sau
khi chọn Tab file, ta tiến hành chọn C/C++ Header file
60 trang |
Chia sẻ: maiphuongtl | Lượt xem: 3663 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình C++ Chương 1: Tổng quan về ngôn ngữ lập trình C++, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1/64Ngôn ngữ lập trình C++
LẬP TRÌNH C++
(3 Tín chỉ)
Gv: Nguyễn Văn Hùng
Khoa: Khoa học máy tính
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 2/64
Cung cấp cho sinh viên các kiến thức cơ bản của
ngôn ngữ lập trình C++
Nắm được cấu trúc của một chương trình C++,
các thành phần cơ bản, các kiểu dữ liệu, …
Các khái niệm, kiến thức cơ bản về lập trình
hướng đối tượng trong C++
Nắm vững lý thuyết và vận dụng nó vào việc giải
quyết các bài toán từ đơn giản đến phức tạp.
MỤC TIÊU CỦA HỌC PHẤN
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 3/64
1) Bài giảng Ngôn ngữ lập trình C++
2) Quách Tuấn Ngọc. Ngôn ngữ lập trình C++. NXB
Thống kê, 2003.
3) Phạm Văn Ất. C++ và lập trình hướng đối tượng.
NXB Khoa học và kỹ thuật. Hà Nội, 2000.
4) Nell Dale and Chip Weems. Programming in C++
Jone and Bartlett, Third Edition, 2005.
5) Một số Websites, forums,… về C, C++
TÀI LIỆU THAM KHẢO
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 4/64
Chương 1: Tổng quan về ngôn ngữ lập trình
C++
Chương 2: Cấu trúc của một chương trình
C++
Chương 3: Biểu thức Logic và các cấu trúc
điều khiển
Chương 4: Kiểu mảng và chuỗi ký tự
NỘI DUNG
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 5/64
Chương 5: Kiểu con trỏ và kiểu cấu trúc
Chương 6: Hàm
Chương 7: Lập trình hướng đối tượng
Chương 8: Lớp và đối tượng
Chương 9: Tái định nghĩa và thừa kế
NỘI DUNG
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 6/64
Chương 1: TỔNG QUAN VỀ NNLT C++
Mục tiêu
Giới thiệu tổng quan về ngôn ngữ lập trình C++; các
thành phần cơ bản; các kiểu dữ liệu và các phép toán
Nội dung
Lịch sử ra đời
Các thành phần của C++
Các kiểu dữ liệu cơ bản
Hằng, biến và biểu thức
Các phép toán
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 7/64
- C++ về bản chất được xây dựng trên nền của Ngôn ngữ lập
trình C
- Ngôn ngữ lập trình C++ được phát minh bởi Bjarne
Stroupstroup vào năm 1979 với phiên bản đầu tiên gọi là “C
with classes”
- Phiên bản đầu tiên của C++ được sử dụng vào tháng 8 năm
1983 tại công ty AT&T
- Phiên bản thương mại đầu tiên ra mắt năm 1985
C++ cơ bản là C ở mức độ mới. Điểm khác biệt giữa C++
và C là C++ bên cạnh hỗ trợ tất cả các lệnh của C, còn có mở
rộng và hỗ trợ hướng đối tượng
1.1 Lịch sử ra đời
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 8/64
Bảng ký tự
Từ khóa
Định danh
Câu lệnh và khối lệnh
Lời chú thích
1.2 Các thành phần của C++
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 9/64
- Mọi ngôn ngữ lập trình đều được xây dựng từ một bảng ký
tự nào đó.
- Ngôn ngữ C++ được xây dựng từ bảng ký tự sau:
- 26 chữ cái hoa: A B C … Z và 26 chữ cái thường: a b c …
z
- 10 chữ số: 0 1 2 … 9
- Các ký hiệu toán học: + - * / = > < ( ) …
Bảng ký tự (1/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 10/64
- Dấu gạch nối dưới: _
- Các ký tự đặc biệt: . , ; : [ ] “ ” { } …
- Các ký tự không nhìn thấy như dấu cách (space), dấu nhảy tab,
dấu xuống dòng (return)
Ví dụ: LAPTRINH gồm 8 ký tự, LAP TRINH gồm 9 ký tự
Bảng ký tự (2/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 11/64
Lưu ý:
- C++ có phân biệt chữ hoa và chữ thường
Ví dụ: SO, So, sO, so là khác nhau
- Khi viết chương trình ta không được sử dụng bất kì ký
hiệu nào khác ngoài bảng ký tự nói trên. Có nghĩa là không
được sử dụng các ký tự … hay các chữ cái tiếng việt â, ă,
ê, …để viết các lệnh. Nhưng ta có thể sử dụng tiếng Việt để viết
các câu chú thích các câu hiển thị văn bản trên màn hình, máy
in …
Bảng ký tự (3/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 12/64
- Từ khóa là một từ được quy định trước trong ngôn ngữ lập
trình với một ý nghĩa nào đó, thường dùng để chỉ các loại dữ
liệu hoặc kết hợp thành câu lệnh.
- Có thể tạo ra những từ mới để biểu diễn các đối tượng nào đó
nhưng không được phép trùng với từ khóa.
Ví dụ:
do, double, else, externe, float, for, goto, if, int, long, return,
short, sizeof, static, struct, switch, typedef, union, unsigned,
while ...
Từ khóa (1/2)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 13/64
Lưu ý:
- Các từ khóa trong C++ luôn được viết bằng chữ thường.
- Không được dùng từ khóa để đặt tên cho các hằng, biến,
mảng, …
Từ khóa (2/2)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 14/64
- Định danh (identificater) là tên sử dụng cho đối tượng
trong chương trình như: tên biến, tên hằng, tên hàm, tên
mảng, …
- Quy tắc đặt định danh (tên):
Là một dãy các ký tự liền nhau bao gồm chữ cái, chữ
số và dấu gạch nối dưới ( _ )
Ký tự đầu tiên của định danh phải là chữ cái hoặc dấu
gạch nối dưới ( _ )
Định danh không được trùng từ khóa.
Định danh (1/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 15/64
Ví dụ: Xét các định danh sau:
Hoc_phan_C++ Lớp_hoc
Tuoi# 2000Diem
Ngay-Thang-Nam int
del ta main
ChieuDai Dien_tich@
Định danh (2/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 16/64
Chú ý: Thông thường:
Dùng chữ hoa để đặt tên cho các hằng, chữ thường để đặt tên
cho các đại lượng khác: biến, mảng, hàm, …
Nên đặt tên sao cho dễ nhớ: Giai_thua, Dien_tich, …
Một số trình biên dịch C++ chỉ nhận dạng 32 ký tự đầu có ý
nghĩa.
Chẳng hạn:
Ten_bien_dai_toi_da_32_ky_tu_dau_tien_1
Ten_bien_dai_toi_da_32_ky_tu_dau_tien_2
Định danh (3/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 17/64
Câu lệnh
- Một câu lệnh (statement) xác định một công việc mà chương
trình phải thực hiện để xử lý dữ liệu đã được mô tả và khai
báo.
- Câu lệnh trong C++ được thiết lập từ các từ khóa và các
hằng, biến, biểu thức, …
- Câu lệnh luôn luôn phải được kết thúc bằng dấu chấm phẩy
(;) và các câu lệnh có thể được viết trên cùng một dòng hoặc
nhiều dòng.
Câu lệnh và khối lệnh (1/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 18/64
Ví dụ: Xét đoạn chương trình sau:
cin>>x>>y;
x = 3 + x; y = (x = sqrt(x)) + 1;
cout<<x;
cout<<y;
- Tuy nhiên, trong chương trình nhiều chỗ không dùng đến
dấu (;) vì đó không phải là câu lệnh.
Ví dụ:#include
int main()
Câu lệnh và khối lệnh (2/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 19/64
Một số kiểu dữ liệu cơ bản:
Kiểu ký tự
Kiểu số nguyên
Kiểu số thực
1.3 Các kiểu dữ liệu cơ bản
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 20/64
- Một giá trị kiểu ký tự (char) chiếm 1 byte (8bits) và biểu diễn
được một ký tự thông qua bảng mã ASCII.
- Có hai loại kiểu ký tự:
Ký tự có dấu: Char có miền giá trị từ -128 -> 127
Ký tự không dấu: Unsigned char có miền giá trị 0 -> 255
- Ký tự trong C++ được đặt giữa cặp dấu nháy đơn ‘ ’
Ví dụ: ‘a’, ‘A’, ‘*’, …
Kiểu ký tự (1/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 21/64
Ta có thể chia 256 ký tự thành 3 nhóm:
- Nhóm 1: Các ký tự điều khiển có mã từ 0 đến 31. Nhóm
các ký tự này không hiển thị ra màn hình, được dùng để
điều khiển các thiết vị ngoại vi, các thủ tục trao đổi
thông tin, …
- Nhóm 2: Các ký tự văn bản có mã từ 32 đến 126. Các
ký tự này có thể đưa được ra màn hình và máy in
- Nhóm 3: Các ký tự đồ họa có mã từ 127 đến 255. Các
ký tự này có thể đưa ra màn hình nhưng không in được.
Kiểu ký tự (2/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 22/64
- C++ cung cấp một số ký tự điều khiển để định dạng các hằng
ký tự char. Các ký tự này còn gọi là ký tự thoát (escape
sequence)
Ký hiệu Tác dụng
\n Tạo dòng mới
\t Tab ngang
\v Tab dọc
\b Dấu backspace
\\ Dấu backslash
\a Tiếng beep cảnh báo
\’ Dấu nháy đơn
\” Dấu nháy kép
\0 Ký tự null
Ví dụ:
cout << “\a Hello! \n”;
cout << “She said \“Hi\””;
Phát ra tiếng beep và chuỗi
Hello! Sau đó con trỏ xuống
dòng
Xuất hiện trên màn hình chuỗi:
She said “Hi”
Kiểu ký tự (3/3)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 23/64
- Kiểu số nguyên là kiểu dữ liệu dùng để lưu các giá trị nguyên
hay còn gọi là đếm được.
- Kiểu số nguyên trong C++ được chia thành các kiểu dữ liệu
con có kích thước và miền giá trị như sau:
Kiểu int, short có kích thước 2 bytes, miền giá trị -
32,768 -> 32,767
Kiểu unsigned int, unsigned short có kích thước 2
bytes, miền giá trị 0 -> 65,535
Kiểu long có kích thước 4 bytes, miền giá trị -215 -> 215-1
Kiểu unsigned long có kích thước 4 bytes, miền giá trị 0
-> 4294967295
Kiểu số nguyên
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 24/64
- Kiểu số thực dùng để lưu các số thực hay các số có dấu phẩy
động.
- Trong C++ có các kiểu số thực như sau:
Kiểu float có kích thước 4 bytes, miền giá trị 3.4E-38 ->
3.4E+38
Kiểu double có kích thước 8 bytes, miền giá trị 1.7E-308 ->
1.7E+308
Kiểu long double có kích thước 10 bytes, miền giá trị 3.4E-
4932 -> 1.1E+4932
Kiểu số thực
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 25/64
Khái niệm biến
- Biến là một đại lượng dùng để chứa dữ liệu mà các giá
trị của nó có thể bị thay đổi trong quá trình thực hiện
chương trình
- Biến được định nghĩa bởi người lập trình và được đặt
tên thông qua khai báo biến
dau phay (,);
Danh sach cac ten bien cach nhau boi
Cú pháp khai báo biến
1.4 Biến, hằng và biểu thức (1/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 26/64
Gán giá trị cho biến
- Sau khi khai báo biến, có thể gán giá trị cho biến
bằng toán tử gán “=”, có thể gán một giá trị cho nhiều
biến.
Ví dụ:
Khai báo biến Gán giá trị cho biến
string firstName ;
char letter ;
int ChieuDai;
int ChieuRong;
firstName = “Viet-Han-ITC” ;
letter = ‘*’ ;
ChieuDai = ChieuRong = 12 ;
1.4 Biến, hằng và biểu thức (2/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 27/64
Ten_bien 1= gia_tri, . . . ;
Cú pháp vừa khai báo vừa khởi tạo giá trị cho biến
Lưu ý: Ta có thể vừa khai báo vừa khởi tạo giá trị
ban đầu cho biến thông qua lệnh gán (=) theo cú
pháp sau:
Ví dụ: Xét một số lệnh khai báo và khởi tạo giá trị
cho biến:
int a = 5; float b = 150.05;
char ch = ‘c’, kt = ‘T’;
1.4 Biến, hằng và biểu thức (3/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 28/64
Khái niệm hằng
Hằng là đại lượng mà giá trị của nó không thay đổi
trong suốt quá trình thực hiện chương trình
Cú pháp khai báo/ định nghĩa hằng
const Kieu_du_lieu Ten_hang = Gia_tri ;
#define Ten_hang Gia_tri
Ví dụ: Xét các khai báo sau:
const int a=10;
const char ch=‘a’;
#define a 10
#define ch ‘a’
1.4 Biến, hằng và biểu thức (4/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 29/64
Lưu ý: Hằng có thể được phân thành các loại như sau:
- Hằng số nguyên
- Hằng số thực
- Hằng ký tự, xâu ký tự
- Hằng biểu thức
1.4 Biến, hằng và biểu thức (5/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 30/64
Ví dụ: Xét các khai báo sau:
const int a=10; const char ch=‘a’;
const string st=“hello”; const float b=0.25;
const int c=6*7+3; const int kt=‘a’- ‘b’+ ‘c’;
const char kt=‘a’ – ‘b’ + ‘c’;
1.4 Biến, hằng và biểu thức (6/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 31/64
Biểu thức
- Biểu thức là sự kết hợp giữa các phép toán (toán tử) và
các toán hạng để diễn đạt một công thức toán học nào đó.
- Trong đó, toán hạng có thể là biến, hằng, hàm, phần tử
mảng hay một biểu thức khác
- Khi viết biểu thức ta có thể và nên dùng cặp dấu ngoặc
tròn ( ) để thể hiện đúng trình tự tính toán trong biểu thức
Biểu thức thường được dùng trong các trường hợp:
- Vế phải của câu lệnh gán
- Làm chỉ số mảng
- Sau các toán tử if, for, while, <<
1.4 Biến, hằng và biểu thức (7/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 32/64
Ví dụ: ta có biểu thức
x = (-b + sqrt(delta))/(2*a);
Trong đó:
b, delta, a, 2 là các toán hạng
+, /, *, - là các toán tử
1.4 Biến, hằng và biểu thức (8/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 33/64
Câu lệnh gán
Câu lệnh gán là phép toán cơ bản của bất cứ ngôn ngữ
lập trình nào.
Tùy vào từng ngôn ngữ mà câu lệnh gán cũng có những
hình thức khác nhau.
Cú pháp câu lệnh gán
Câu lệnh gán đơn giản
Câu lệnh gán mở rộng
Trong đó: pt có thể là một trong các phép toán hai ngôi: +, -,
*, /, %,…
Ten_bien = Bieu_thuc;
Ten_bien pt= Bieu_thuc ;
1.4 Biến, hằng và biểu thức (9/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 34/64
Ví dụ: Xét một số lệnh gán sau:
int a = 5;
b = a * 5/2;
a += 2;
n *= (a+10);
Ngoài ra, để thực hiện việc gán cùng một giá trị hay
biểu thức cho các biến khác nhau ta cũng có thể thực hiện
theo cú pháp
Ten_bien 1 = Ten_bien 2 = … = Bieu_thuc;
Ví dụ: ta có thể viết lại các lệnh gán:
a = 3; b = 3; c = 3; => a = b = c = 3;
1.4 Biến, hằng và biểu thức (10/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 35/64
Câu lệnh typedef
- Câu lệnh typedef cho phép tạo tên mới cho kiểu dữ liệu
đã có.
- Cú pháp như sau:
typedef Kieu_dl_cu Kieu_dl_moi;
Ví dụ:
typedef int Boolean;
const Boolean true = 1;
const Boolean false = 0;
…
Boolean dataOK;
dataOK = true;
1.4 Biến, hằng và biểu thức (11/11)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 36/64
Các phép toán trong C++ bao gồm:
Các phép toán số học
Các phép toán quan hệ
Các phép toán logic
Các phép toán thao tác trên bit
Các phép toán chuyển đổi kiểu giá trị
Các phép toán tăng giảm
Biểu thức điều kiện
Thứ tự thực hiện các phép toán
Một số hàm toán học thường dùng
1.5 Các phép toán
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 37/64
- Dùng để tính toán 2 hoặc nhiều toán hạng
+ Các phép toán số học 2 ngôi:
Phép toán Ý nghĩa Ví dụ
+
-
*
/
%
Cộng
Trừ
Nhân
Chia
Lấy phần dư
2 + 2 = 4
9 – 5 = 4
3 * 2 = 6
6 / 3 = 2, 6 / 4 = 1
6 % 4 = 2
+ Phép toán 1 ngôi: Chỉ có dấu (-) đứng trước một toán
hạng.
Ví dụ: -a, -3, -b, …
Các phép toán số học
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 38/64
Thứ tự ưu tiên các phép toán số học:
Phép toán Độ ưu tiên
Phép đảo dấu
(-)
* / %
+ -
1
2
3
Ví dụ: Xét các biểu thức:
a, x = a + b * c
b, y = - a/ b * c + d
c, z = (a + b) * c + d
Các phép toán số học
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 39/64
Lưu ý:
+ Trong một biểu thức chứa các phép toán số học có cùng
độ ưu tiên thì thứ tự tính toán được thực hiện từ trái qua
phải
+ Trong một biểu thức chứa các phép toán số học không có
cùng độ ưu tiên thì thứ tự tính toán được thực hiện theo độ
ưu tiên
+ Khi áp dụng phép chia nguyên (/) cho các số nguyên (hay
ký tự) thì kết quả thu được sẽ bị cắt bỏ phần thập phân
+ Phép lấy phần dư (%) chỉ được áp dụng có số nguyên (hay
ký tự)
Các phép toán số học
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 40/64
- Cho ta hoặc giá trị đúng (==1) hoặc giá trị sai (== 0).
Dùng để tạo các biểu thức quan hệ, nếu biểu thức đúng thì
giá trị của biểu thức là 1, ngược lại giá trị của biểu thức là 0
- Các phép toán quan hệ gồm:
Phép toán Ý nghĩa Ví dụ Độ ưu tiên
>
>=
<
<=
==
!=
Lớn hơn
Lớn hơn hoặc bằng
Bé hơn
Bé hơn hoặc bằng
Bằng
Khác
a=(5>10)
b=(10>=10)
c=(5<10)
d=(5<=10)
e=(5==10)
f=(5!=10)
1
1
1
1
2
2
Các phép toán quan hệ
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 41/64
Lưu ý:
+ Kết quả của biểu thức quan hệ luôn luôn là một số nguyên
int. Do đó, nó có thể tham gia vào các phép toán đối với số
nguyên.
+ Các phép toán quan hệ được dùng để thiết lập điều kiện rẽ
nhánh hay kết thúc vòng lặp trong các cấu trúc điều khiển.
+ Các phép toán quan hệ: =, ==, != luôn phải được viết
liền nhau (nghĩa là không có dấu cách trống giữa chúng)
+ Các phép toán quan hệ cũng được áp dụng cho các toán
hạng kiểu ký tự.
+ Các phép toán quan hệ có độ ưu tiên thấp hơn các phép toán
số học.
Các phép toán quan hệ
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 42/64
Chỉ trả về một trong hai giá trị 1 (nếu đúng) và 0 (nếu sai).
Dùng để tạo các biểu thức Logic
Các phép toán Logic gồm:
Phép toán Ý nghĩa Độ ưu tiên
!
&&
||
Phép phủ định một ngôi
Phép và (AND)
Phép hoặc (OR)
1
2
3
Các phép toán Logic
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 43/64
Ta có bảng giá trị:
a b a&&b a||b !a Ví dụ
Khác 0
Khác 0
Bằng 0
Bằng 0
Khác 0
Bằng 0
Khác 0
Bằng 0
1
0
0
0
1
1
1
0
0
0
1
1
x = 3 && 7;
y = 4 || 0;
z = 0 && 7;
t = !10
Các phép toán Logic
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 44/64
Lưu ý:
+ Kết quả của biểu thức logic luôn luôn là một số nguyên
int. Do đó, nó cũng có thể tham gia vào các phép toán đối
với số nguyên.
+ Các phép toán logic cũng được dùng để thiết lập điều
kiện rẽ nhánh hay kết thúc vòng lặp trong các cấu trúc
điều khiển
+ Các phép toán logic: &&, || luôn phải được viết liền
nhau (nghĩa là không có dấu cách trống giữa chúng)
+ Các phép toán logic cũng được áp dụng cho các toán
hạng kiểu ký tự.
Các phép toán Logic
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 45/64
Lưu ý:
+ Trong một biểu thức có cả phép toán số học, quan hệ và
logic thì cần chú ý thứ tự ưu tiên tính toán:
Phép toán Độ ưu tiên
! (-) Phép đảo dấu
* / %
+ -
> >= < <=
== !=
&&
||
1
2
3
4
5
6
7
Ví dụ: Tính giá trị
các biểu thức
a = (3 && 6) + 7 * 2
b = 3 && 6 + 7 * 2
c = 3 && 6 + 7 < 15
d = 3 && 6 + 7 < !15
Các phép toán Logic
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 46/64
Các phép toán thao tác trên bit gồm:
Phép toán Ý nghĩa Độ ưu tiên
&
|
^
<<
>>
~
Phép và (AND) theo bit
Phép hoặc (OR) theo bit
Phép hoặc loại trừ (XOR) theo bit
Phép dịch trái theo bit
Phép dịch phải theo bit
Phép lấy phần bù theo bit
3
5
4
2
2
1
Các phép toán thao tác trên bit
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 47/64
Các phép toán thao tác trên bit:
Bảng giá trị:
1 & 1 == 1
1 & 0 == 0
0 & 1 == 0
0 & 0 == 0
1 | 1 == 1
1 | 0 == 1
0 | 1 == 1
0 | 0 == 0
1 ^ 1 == 0
1 ^ 0 == 1
0 ^ 1 == 1
0 ^ 0 == 0
a << n == a*2n
a >> n == a/2n
~1 == 0
~0 == 1
Các phép toán thao tác trên bit
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 48/64
Ví dụ:
a = 10
b = 4
a & b
a | b
a ^ b
~a
a << 1
a >> 1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
1
10
4
0
14
14
245
20
5
Các phép toán thao tác trên bit
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 49/64
Việc chuyển đổi giá trị của kiểu dữ liệu này sang kiểu dữ
liệu khác. Gồm có:
+ Ép kiểu: Thường diễn ra một cách tự động
Ví dụ: Giá trị in ra là bao nhiêu?
int x = number = 12.4;
float y = money = 22;
+ Đúc kiểu: Là quá trình chuyển đổi kiểu tường minh.
Cú pháp: (Ten_kieu)bieu_thuc
hoặc Ten_kieu(bieu_thuc);
Các phép toán chuyển đổi kiểu giá trị
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 50/64
Ví dụ: Giá trị in ra là bao nhiêu?
i, int a=float(4/3); float b=(float)4/3; float c=int(4.8);
ii, int i=int(3*float(30/4)-2); int j=int(3*(float)30/4-2
Các phép toán chuyển đổi kiểu giá trị
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 51/64
C++ đưa ra 2 phép toán một ngôi để tăng (++) và giảm (--)
giá trị của các biến (nguyên, ký tự)
Phép toán ++ sẽ tăng giá trị của toán hạng lên 1 giá trị và
phép -- sẽ giảm giá trị của toán hạng đi 1.
Chẳng hạn: để tăng biến i lên 1 đơn vị ta viết: ++i hoặc i++
để giảm biến i đi 1 giá trị ta viết: --i hoặc i--
Các phép toán tự tăng giảm
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 52/64
Lưu ý: Có sự khác nhau giữa i++ và ++i. Phép toán i++: sử
dụng i rồi mới tăng i lên một đơn vị còn phép toán ++i:
tăng i lên một đơn vị rồi mới sử dụng. Sự khác nhau giữa i--
và --i cũng tương tự.
Ví dụ: Tính giá trị của a và x sau mỗi lệnh gán:
int a = 6, x;
x = a++; x = ++a;
Các phép toán tự tăng giảm
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 53/64
Biểu thức điều kiện có dạng:
bien = dieu_kien ? bieu_thuc_1 : bieu_thuc_2;
Ý nghĩa: Nếu điều kiện đúng (!=0) thì bien nhận giá trị của
bieu_thuc_1; ngược lại điều kiện sai (==0) thì bien nhận
giá trị của bieu_thuc_2.
Ví dụ: Tìm max 2 số a và b
max = a > b ? a : b;
Tìm max 3 số a, b, c
max = (max1 = a > b ? a : b) > c ? max1 : c;
Biểu thức điều kiện
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 54/64
C++ qui định thứ tự thực hiện các phép toán theo mức độ
ưu tiên như sau:
1. Các biểu thức trong cặp dấu ngoặc tròn ( )
2. Các phép toán 1 ngôi
3. Các phép toán số học
4. Các phép toán quan hệ
5. Các phép toán thao tác trên bit
6. Các phép toán Logic
7. Toán tử điều kiện
8. phép gán
Thứ tự thực hiện các phép toán
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 55/64
Ký hiệu i là tham số nguyên; x, y là các tham số thực
Tệp tiêu đề Tên hàm Ví dụ gọi hàm Giá trị
abs(i) abs(-6) 6
pow(x,y) pow(2.0,3.0) 8.0
fabs(x) fabs(-6.4) 6.4
sqrt(x) sqrt(100.0) 10.0
log(x) log(2.0) .693147
setprecision(n) setprecision(3)
Một số hàm toán học thường dùng
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 56/64
Khởi động:
- Chọn Start/ programs/Microsoft Visual Studio 6.0
- Click vào mục: Microsoft Visual C++ 6.0
Thoát khỏi: Chọn Menu File rồi chọn Exit
1.6 Giới thiệu Visual C++ 6.0
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 57/64
- C++ là một chuẩn ngôn ngữ lập trình
- Công cụ lập trình: Borland C++, Turbo C++, Visual C++,
Cbuilder ++, …
- Mỗi công cụ lập trình có các quy ước và thư viện riêng
- Visual C++ 6.0 là một công cụ lập trình C++ của Microsoft
- Phần chính của Visual C++ là Develper Studio, không gian
này cho phép các công cụ phát triển và chương trình dịch
Visual C++
- Cùng với thư viện có sẵn trong không gian hỗ trợ phát triển
sẽ giúp lập trình viên tạo ra một chương trình trong khoảng
thời gian rất ngắn.
1.6 Giới thiệu Visual C++ 6.0 (1/5)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 58/64
Tạo tệp nguồn .cpp
- Chọn File/New
- Chọn Tab File. Lúc đó xuất hiện màn hình như
sau:
1.6 Giới thiệu Visual C++ 6.0 (2/5)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 59/64
Soạn thảo mã nguồn
- Tiến hành nhập nội dung mã nguồn vào cửa sổ tài liệu
- Lưu tệp: Chọn File/Save
1.6 Giới thiệu Visual C++ 6.0 (3/5)
Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 60/64
Dịch mã nguồn sang mã máy
- Cách 1: Ấn phím F7
- Cách 2: Chọn Build / Build
Sau khi cửa sổ ra, xuất hiện thông báo:
– 0 error(s), 0 warning(s)
thì quá trình biên dịch đã xong
Soạn thảo tệp tiêu đề .h
Hoàn toàn giống như soạn thảo tệp nguồn, nhưng sau
khi chọn Tab file, ta tiến hành chọn C/C++ Header file
1.6 Giới thiệu Visual C++ 6.0 (4/5)
Các file đính kèm theo tài liệu này:
- chuong1c_2011_046.pdf