1. Khái niệm
Biểu thức làmột sự kết hợp giữa các toán tử( phép toán)
và các toán hạng để diễn đạt một công thức toán học nào
đó.
2. Các toán tử cơ bản trong C
Các phép toán số học
13 trang |
Chia sẻ: lylyngoc | Lượt xem: 1696 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Chương 6. Biểu thức và phép gán, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 6. BIỂU THỨC VÀ PHÉP GÁN
1. Biểu thức
2. Biểu thức quan hệ và biểu thức Boolean
3. Câu lệnh
4. Tối ưu hoá tính toán
5. Phép gán
1. Biểu thức
1. Khái niệm
Biểu thức là một sự kết hợp giữa các toán tử ( phép toán)
và các toán hạng để diễn đạt một công thức toán học nào
đó.
2. Các toán tử cơ bản trong C
Các phép toán số học
Giảm một đơn vị--
Tăng một đơn vị++
Chia lấy phần dư%
Chia lấy phần
nguyên
/
Nhân*
Trừ-
Cộng+
Ý nghĩaToán tử
1. Biểu thức
Toán tử quan hệ và logic
NOT!
OR||
AND&&
Toán tử logic
Không bằng (Khác)!=
Bằng= =
Nhỏ hơn hoặc bằng<=
Nhỏ hơn<
Lớn hơn hoặc bằng>=
Lớn hơn>
Toán tử quan hệ
Ý nghĩaToán tử
1. Biểu thức
Toán tử Bitwise
Dịch trái<<
Dịch phải>>
NOT~
XOR^
OR|
AND&
Ý nghĩaToán tử
1. Biểu thức
Toán tử điều kiện ?
bt0 ? bt1 : bt2
Trong đó bt0, bt1,bt2 là các biểu thức và bt0 thường là biểu
thức điều kiện.
Cú pháp trên tương đương với câu lệnh sau :
if (bt0)
{
bt1 ;
}
else
{
bt2 ;
}
1. Biểu thức
Toán tử dấu phẩy ‘,’
Toán tử dấu phẩy được sử dụng để kết hợp các biểu thức lại với
nhau. Bên trái của toán tử dấu phẩy luôn được xem là kiểu void. Điều
đó có nghĩa là biểu thức bên phải trở thành giá trị của tổng các biểu
thức được phân cách bởi dấu phẩy.
Ví dụ: x = (y=3,y+1);
Trước hết gán 3 cho y rồi gán 4 cho x. Cặp dấu ngoặc đơn là cần
thiết vì toán tử dấu phẩy có độ ưu tiên thấp hơn toán tử gán.
Ngoài ra các toán tử trên, trong C còn có cặp dấu ngoặc đơn là toán
tử để tăng độ ưu tiên của các biểu thức bên trong nó. Và các cặp dấu
ngoặc vuông thực hiện thao tác truy xuất phần tử trong mảng.
1. Biểu thức
Độ ưu tiên của các toán tử trong C
,
= += -= *= /=
?
||
&&
|
^
&
>=
>
+ -
* / %
! ~ ++ --
() [] Cao nhất
Thấp nhất
1. Biểu thức
Cách viết tắc trong C
Tổng quát:
(Biến) = (Biến) (Toán tử) (Biểu thức)
có thể được viết:
(Biến) (Toán tử) = (Biểu thức)
Cách viết này làm việc trên tất cả các toán tử nhị phân (phép toán hai
ngôi) của Cíụ. Ví dụ: x = x + 10 được viết thành x +=10.
Một toán tử quan hệ (relational operator) là một toán tử dùng để
so sánh các giá trị của hai toán hạng.
Một biểu thức quan hệ (relational expression) là một biểu thức
gồm có hai toán hạng và một toán tử quan hệ. Giá trị của một biểu thức
quan hệ là giá trị luận lý (boolean), ngoại trừ khi Boolean không được
định nghĩa trong ngôn ngữ. Các biểu thức quan hệ thường được nạp
chồng cho một lớp các kiểu
Biểu thức Boolean là biểu thức quy về điều kiện đúng hoặc sai.
Biểu thức Boolean gồm có các biến Boolean, các hằng Boolean, các
biểu thức quan hệ và các toán tử Boolean.
2. Biểu thức quan hệ và biểu thức Boolean
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ác
câu lệnh được ngăn cách nhau bởi dấu chấm phẩy (;).
Có hai loại câu lệnh : câu lệnh đơn và câu lệnh có cấu trúc.
Lệnh đơn là một lệnh không chứa các lệnh khác. Các lệnh đơn
gồm : lệnh gán, các lệnh nhập xuất dữ liệu, ...
Lệnh có cấu trúc là lệnh mà trong đó có chứa các lệnh khác.
Lệnh có cấu trúc bao gồm : lệnh điều kiện, lệnh lặp và lệnh hợp thành
3. Câu lệnh
Để tối ưu hoá được các tính toán trong các biểu thức, khi xây
dựng chương trình chúng ta cần chú ý các vấn đề sau :
- Không dùng các biểu thức bất biến trong vòng lặp
- Loại bỏ các biểu thức con giống nhau trong vòng lặp
- Hạn chế khởi tạo các đối tượng không thật sự cần thiết
4. Tôi ưu hóa tính toán
Gán trị cho biến là sự lưu trữ giá trị dữ liệu vào trong ô nhớ của
biến đó
Gán trị là một phép toán cơ bản trong các NNLT. Nó dùng để
thay đổi sự liên kết của giá trị với ÐTDL. Các ngôn ngữ khác nhau thì
phép gán cũng khác nhau.
Khác nhau về cú pháp
Khác nhau về kết quả trả về
Khac nhau cách thức tiến hành phép gán
5. Phép gán
CÂU HỎI VÀ BÀI TẬP
1. Thế nào là một biểu thức ? Biểu thức có thể được dùng trong các
trường hợp nào ?
2. Phân biệt biểu thức quan hệ và biểu thức Boolean.
3. Thế nào là một phép gán ? Với các ngôn ngữ lập trình khác nhau,
phép gán có những điểm cơ bản khác nhau nào ?
4. Cho các ví dụ về việc dùng các toán tử trong ngôn ngữ lập trình C.