Một toán tử là một ký hiệu dùng để đại diện cho một thao tác cụ thể nào đó được thực hiện trên dữ liệu... TOÁN TỬ VÀ BIỂU THỨC.[r]
Trang 1NHẬP MÔN TIN HỌC
TOÁN TỬ VÀ BIỂU THỨC
TS Đào Nam Anh
Trang 2Tài liệu
Tài liệu chính của khóa học:
TS.Nguyễn Thị Thu Hà,
TS.Nguyễn Hữu Quỳnh,
TS.Nguyễn Thị Thanh Tân,
Giáo trình Nhập môn tin học,
Khoa CNTT, Đại học Điện lực, 2013
Programiz.com
Slides do TS.Đào Nam Anh thực hiện
Trang 3Nội dung
1 Biểu thức (Expressions)
2 Các toán tử số học (Arithmetic Operators)
3 Toán tử gán
4 Biểu thức số học
5 Toán tử quan hệ (Relational Operators) và toán tử luận lý
(Logical Operators)
6 Luận lý nhị phân (Bitwise Logical Operators) và biểu thức
(Expressions)
7 Ép kiểu trong C
8 Độ ưu tiên của các toán tử
Trang 4TOÁN TỬ VÀ BIỂU THỨC
GIỚI THIỆU
C có một tập các toán tử phong phú Toán tử là công cụ dùng
để thao tác dữ liệu Một toán tử là một ký hiệu dùng để đại
diện cho một thao tác cụ thể nào đó được thực hiện trên dữ
liệu
4
Trang 5TOÁN TỬ VÀ BIỂU THỨC
GIỚI THIỆU
C có một tập các toán tử phong phú Toán tử là công cụ dùng
để thao tác dữ liệu Một toán tử là một ký hiệu dùng để đại
diện cho một thao tác cụ thể nào đó được thực hiện trên dữ
liệu
C định nghĩa bốn loại toán tử: toán tử số học (arithmetic),
quan hệ (relational), luận lý (logical), và toán tử luận lý nhị
phân (bitwise) Bên cạnh đó, C còn có một số toán tử đặc biệt
5
Trang 6TOÁN TỬ VÀ BIỂU THỨC
GIỚI THIỆU
C có một tập các toán tử phong phú Toán tử là công cụ dùng
để thao tác dữ liệu Một toán tử là một ký hiệu dùng để đại
diện cho một thao tác cụ thể nào đó được thực hiện trên dữ
liệu
C định nghĩa bốn loại toán tử: toán tử số học (arithmetic),
quan hệ (relational), luận lý (logical), và toán tử luận lý nhị
phân (bitwise) Bên cạnh đó, C còn có một số toán tử đặc biệt
Toán tử thao tác trên hằng hoặc biến Hằng hoặc biến này
được gọi là toán hạng (operands) Khái niệm hằng và biến đã
được đề cập ở chương trước Toán tử được phân loại: toán tử một ngôi, hai ngôi hoặc ba ngôi Toán tử một ngôi chỉ thao tác trên một phần tử dữ liệu, toán tử hai ngôi trên hai phần tử dữ liệu và ba ngôi trên ba phần tử dữ liệu 6
Trang 7TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
Một biểu thức (expression) là tổ hợp các toán tử và toán hạng Toán tử thực hiện các thao tác như cộng, trừ, so sánh v.v
Toán hạng là những biến hay những giá trị mà các phép toán
được thực hiện trên nó Trong ví dụ a + b, “a” và “b” là toán hạng và “+” là toán tử Trong một biểu thức, xác phép toán
thường được thực hiện theo một thứ tự cụ thể (hoặc riêng biệt)
để cho ra giá trị cuối cùng
7
Trang 8TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
Một biểu thức (expression) là tổ hợp các toán tử và toán hạng Toán tử thực hiện các thao tác như cộng, trừ, so sánh v.v
Toán hạng là những biến hay những giá trị mà các phép toán
được thực hiện trên nó Trong ví dụ a + b, “a” và “b” là toán hạng và “+” là toán tử Trong một biểu thức, xác phép toán
thường được thực hiện theo một thứ tự cụ thể (hoặc riêng biệt)
để cho ra giá trị cuối cùng
Ví dụ về biểu thức:
2
x
3 + 7
2 × y + 5
2 + 6 × (4 - 2)
z + 3 × (8 - z)
8
Trang 9TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
: Tính giá trị biểu thức
4 × z + 12 với z = 15
9
Trang 10TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
: Tính giá trị biểu thức
4 × z + 12 với z = 15
Chúng ta thay thế mọi z với giá trị 15, và đơn giản hóa biểu thức
theo quy tắc: thi hành phép toán trong dấu ngoặc trước tiên, kế đến lũy thừa, phép nhân và chia rồi phép cộng và trừ
4 × z + 12 trở thành
4 × 15 + 12
10
Trang 11TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
: Tính giá trị biểu thức
4 × z + 12 với z = 15
Chúng ta thay thế mọi z với giá trị 15, và đơn giản hóa biểu thức
theo quy tắc: thi hành phép toán trong dấu ngoặc trước tiên, kế đến lũy thừa, phép nhân và chia rồi phép cộng và trừ
4 × z + 12 trở thành
4 × 15 + 12 = phép nhân thực hiện trước phép cộng)
60 + 12
11
Trang 12TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
: Tính giá trị biểu thức
4 × z + 12 với z = 15
Chúng ta thay thế mọi z với giá trị 15, và đơn giản hóa biểu thức
theo quy tắc: thi hành phép toán trong dấu ngoặc trước tiên, kế đến lũy thừa, phép nhân và chia rồi phép cộng và trừ
4 × z + 12 trở thành
4 × 15 + 12 = phép nhân thực hiện trước phép cộng)
60 + 12 = 72
12
Trang 13TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
: Tính giá trị biểu thức
4 × z + 12 với z = 15
Chúng ta thay thế mọi z với giá trị 15, và đơn giản hóa biểu thức
theo quy tắc: thi hành phép toán trong dấu ngoặc trước tiên, kế đến lũy thừa, phép nhân và chia rồi phép cộng và trừ
4 × z + 12 trở thành
4 × 15 + 12 = phép nhân thực hiện trước phép cộng)
60 + 12 = 72
13
Trang 14TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
Các biểu thức toán học trong C được biểu diễn bằng cách sử dụng toán tử số học cùng với các toán hạng dạng số và ký tự Những
biểu thức này gọi là biểu thức số học (arithmetic expressions)
Ví dụ:
a * (b+c/d)/22;
++i % 7;
5 + (c = 3+8);
14
Trang 15TOÁN TỬ VÀ BIỂU THỨC
1 Biểu thức (Expressions)
Các biểu thức toán học trong C được biểu diễn bằng cách sử dụng toán tử số học cùng với các toán hạng dạng số và ký tự Những
biểu thức này gọi là biểu thức số học (arithmetic expressions)
Ví dụ:
a * (b+c/d)/22;
++i % 7;
5 + (c = 3+8);
Như chúng ta thấy ở trên, toán hạng có thể là hằng, biến hay kết hợp cả hai Hơn nữa, một biểu thức có thể là sự kết hợp của nhiều
biểu thức con Chẳng hạn, trong biểu thức đầu, c/d là một biểu thức con, và trong biểu thức thứ ba c = 3+8 cũng là một biểu thức
con
15
Trang 16TOÁN TỬ VÀ BIỂU THỨC
2 Các toán tử số học (Arithmetic Operators)
Những toán tử số học (arithmetic operators) được sử
dụng để thực hiện những thao tác mang tính số học
Chúng được chia thành hai lớp: Toán tử số học một
ngôi (unary) và toán tử số học hai ngôi (binary)
Trang 17TOÁN TỬ VÀ BIỂU THỨC
2 Các toán tử số học (Arithmetic Operators)
Những toán tử số học (arithmetic operators) được sử
dụng để thực hiện những thao tác mang tính số học
Chúng được chia thành hai lớp: Toán tử số học một
ngôi (unary) và toán tử số học hai ngôi (binary)
- Lấy đối số + Cộng
++ Tăng một giá trị - Trừ
Giảm một giá trị * Nhân
% Lấy phần dư
^ Lấy số mũ
Trang 18TOÁN TỬ VÀ BIỂU THỨC
2 Các toán tử số học (Arithmetic Operators)
Những ngôn ngữ lập trình như Basic, hỗ trợ toán tử mũ Tuy
nhiên, ANSI C không hỗ trợ ký hiệu ^ cho phép tính lũy thừa Ta
có thể dùng cách khác tính lũy thừa trong C là dùng hàm pow()
đã được định nghĩa trong thư n <math.h>
18
Trang 19TOÁN TỬ VÀ BIỂU THỨC
2 Các toán tử số học (Arithmetic Operators)
Những ngôn ngữ lập trình như Basic, hỗ trợ toán tử mũ Tuy
nhiên, ANSI C không hỗ trợ ký hiệu ^ cho phép tính lũy thừa Ta
có thể dùng cách khác tính lũy thừa trong C là dùng hàm pow()
đã được định nghĩa trong thư n <math.h> ch ng m
y như sau:
#include<math.h>
void main(void)
{
z = pow(x, y);
Trang 20
TOÁN TỬ VÀ BIỂU THỨC
2 Các toán tử số học (Arithmetic Operators)
Các toán tử hai ngôi
Trong C, các toán tử hai ngôi có chức năng giống như trong các ngôn ngữ khác Những toán tử như +, -, * và / có thể được
áp dụng cho hầu hết kiểu dữ liệu có sẵn trong C
Khi toán tử / được áp dụng cho một số nguyên hoặc ký tự, bất
kỳ phần dư nào sẽ được cắt bỏ Ví dụ, 5/2 sẽ bằng 2 trong
phép chia số nguyên
Toán tử % sẽ cho ra kết quả là số dư của phép chia số nguyên
ng n, 5%2 sẽ có kết quả là 1 Tuy nhiên, % không thể
được sử dụng với những kiểu có dấu chấm động
20