Operators and Expression

Slides:



Advertisements
Similar presentations
Môn: NGỮ VĂN Năm học: PHÒNG GD&ĐT NAM TR À MY TRƯỜNG PTDTBT THCS TRÀ DON Trà Don, ngày 26 tháng 10 năm 2015.
Advertisements

Giáo viên thực hiện: Lò Thị Nhung Đơn vị công tác: Trường THCS Búng Lao, huyện Mường Ảng, tỉnh Điện Biên. GIÁO ÁN ĐỊA LÍ 7 Chương II: Môi trường đới ôn.
Quản trị Rủi ro thiên tai và Biến đổi khí hậu
PHÁT TRIỂN VÀ SỬ DỤNG HỢP LÝ NGUỒN TÀI NGUYÊN NƯỚC
Báo cáo Cấu trúc đề thi PISA và Các dạng câu hỏi thi PISA
MỘT SỐ TÁC GIẢ TIÊU BIỂU ( ) Nhóm tự lực văn đoàn và phong trào thơ mới. Ngoài ra còn có các nhóm: Phong hóa, Ngày nay, Hà Nội báo (Huy Thông,
XÂY DỰNG VÀ PHÁT TRIỂN CHƯƠNG TRÌNH ĐÀO TẠO THEO ĐỀ XƯỚNG CDIO
Rainforest Alliance đào tạo cho các nông trại trà ở Việt Nam
Kiểm thử và đảm bảo chất lượng phần mềm
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
1 ĐỒNG NAI ĐÁNH GIÁ TÌNH HÌNH VÀ ĐỀ XUẤT ÁP DỤNG HIỆU QUẢ MÔ HÌNH KINH TẾ DƯỢC TẠI BỆNH VIỆN ĐA KHOA ĐỒNG NAI NĂM 2017 Học viên: Nhóm 5 _ PP111.
TRƯỜNG ĐẠI HỌC THĂNG LONG
GIỚI THIỆU TRÌNH BIÊN DỊCH FREE PASCAL
Thực hiện các cuộc họp quan trọng
MÔN NGHỀ TIN HỌC VĂN PHÒNG LỚP 11
Giới thiệu về các phần mềm mô phỏng phổ biến
X©y dùng vµ b¶o vÖ Chñ quyÒn l·nh thæ, biªn giíi quèc gia
ViÖn ChiÕn l­îc ph¸t triÓn
QUẢN TRỊ THÀNH TÍCH Performance Management
Tối đa hoá lợi nhuận và cung cạnh tranh
TÌM HIỂU VỀ WEB SERVICES VÀ XÂY DỰNG MỘT WEB SERVICE
Giới thiệu chương trình trách nhiệm xã hội của doanh nghiệp
KHAI PHÁ DỮ LIỆU (DATA MINING)
THÔNG TIN MÔN HỌC Quản trị chuỗi cung ứng (Supply Chain Management): 45 tiết Tài liệu nghiên cứu Quản lý chuỗi cung ứng –Th.S. Nguyễn Kim Anh, Đại học.
Vòng lặp Chương 6.
THAM VẤN TÂM LÝ Bài Giới Thiệu.
Ngôn ngữ lập trình C/C++
KỸ THUẬT LẬP TRÌNH GV: Phạm Thị Xuân Diệu
KHÓA TẬP HUẤN CÔNG BẰNG GIỚI VÀ CÁC DỰ ÁN PHÁT TRIỂN
Module 6 – Managing for Sustainability
Khởi động SXSH với công cụ quản lý nội vi 5S
CHẾ ĐỘ PHÁP LÝ VỀ CÔNG TY CỔ PHẦN
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KỸ NĂNG LẮNG NGHE- CHÚ TÂM
Tổng Quan Về Lập Trình Hướng Đối Tượng
Chương 3 Mô hình dữ lịêu quan hệ
Chương 6 Thiết kế hướng đối tượng
Chương 4: Những nguyên lý hỗ trợ FMS
Ngôn ngữ học khối liệu - khoa học liên ngành về ngôn ngữ ứng dụng
XÂY DỰNG KẾ HOẠCH VÀ CHIẾN LƯỢC MARKETING
Cải Thiện Sức Chống Chịu với Biến Đổi Khí Hậu của Vùng Ven Biển Đông Nam Á (BCR) VẬN DỤNG PHƯƠNG PHÁP SWOT TRONG PHÂN TÍCH VÀ ĐÁNH GIÁ NĂNG LỰC THÍCH ỨNG.
Chiến lược CSR –Là gì và làm thế nào để chúng ta sàng lọc lựa chọn?
UBND TỈNH ĐIỆN BIÊN SỞ GIÁO DỤC VÀ ĐÀO TẠO
KỸ THUẬT LẬP TRÌNH GV: Phạm Thị Xuân Diệu
LẬP TRÌNH ỨNG DỤNG WINDOW FORM
Xây dựng thương hiệu bền vững và tiếp thị cho sự thân thiện môi trường
Tiện (Turning) Đ1. CÔNG DỤNG VÀ PHÂN LOẠI
Quản lý con người Quản lý người làm việc như những cá nhân và theo nhóm.
MÃ HÓA ĐỐI XỨNG CĂN BẢN.
Chapter 16: Chiến lược giá
Biến và Kiểu Dữ Liệu Chương 2.
Giới Thiệu Tiêu Đề I.
Trách nhiệm giải trình của doanh nghiệp ở diện rộng
QUYỀN LỰC VÀ MÂU THUẪN TRONG NHÓM
Chương 2 Căn bản về Cung và Cầu 1.
CUỘC THI THIẾT KẾ BÀI GIẢNG ĐIỆN TỬ ELEARNING
GIỚI THIỆU KHÁI QUÁT VỀ THỊ TRƯỜNG TÀI CHÍNH
QUẢN TRỊ TÍNH ĐA DẠNG THÔNG QUA NHIỀU HOẠT ĐỘNG KINH DOANH
HƯỚNG DẪN MÃ HÓA BỆNH TẬT, TỬ VONG THEO ICD - 10
Chương 4 – lớp Liên Kết Dữ Liệu
Điều kiện Chương 5.
OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0
NHÂN QUYỀN LÀ GÌ? Dẫn Nhập Nhân quyền và thu thập tài liệu: Bài Một.
Trường CĐ CNTT HN Việt Hàn
Chương 8 NHỮNG VẤN ĐỀ QUẢN TRỊ CƠ BẢN TRONG THỰC THI CHIẾN LƯỢC
KHAI THÁC THỦY SẢN ĐẠI CƯƠNG
Chương 4: Tập gõ 10 ngón Chương 2: Học cùng máy tính
Chương 3: Tổ chức thông tin
PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Presentation transcript:

Operators and Expression Toán tử và Biểu thức Chương 3 Operators and Expression

Mục Tiêu Hiểu được toán tử gán Hiểu được biểu thức số học Nắm được toán tử quan hệ và luận lý (Relational and Logical Operators) Nắm được toán tử luận lý nhị phân và biểu thức (Bitwise Logical Operators and Expression) Hiểu được khái niệm ép kiểu (Cast) Hiểu được độ ưu tiên của các toán tử Lập trình cơ bản C/Chương 3/ 2

Biểu thức (Expressions) Sự kết hợp các toán tử và các toán hạng Toán Tử Ví dụ: 2 * y + 5 Toán hạng Lập trình cơ bản C/Chương 3/ 3 of 25

variable_name = expression; Toán tử gán Toán tử gán (=) có thể được dùng với bất kỳ biểu thức C hợp lệ nào variable_name = expression; lvalue rvalue Assignment operator (Tên biến) (Biểu thức) (Giá trị trái) (Giá trị phải) (Toán tử gán) Lập trình cơ bản C/Chương 3/ 4 of 25

 X Gán liên tiếp a = b = c = 10; int a = int b = int b = int c = 10 Nhiều biến có thể được gán với cùng một giá trị trong một câu lệnh đơn  a = b = c = 10; Tuy nhiên, không thể áp dụng quy tắc trên khi khai báo biến int a = int b = int b = int c = 10 X Lập trình cơ bản C/Chương 3/ 5 of 25

Bốn Kiểu Toán Tử Số học (Arithmetic) Luận Lý (Logical) Quan hệ (Relational) Nhị phân (Bitwise) Lập trình cơ bản C/Chương 3/ 6 of 25

Biểu thức số học Biểu thức số học có thể được biểu diễn trong C bằng cách sử dụng các toán tử số học Ví dụ : ++i % 7 5 + (c = 3 + 8) a * (b + c/d) - 22 Lập trình cơ bản C/Chương 3/ 7 of 25

Toán tử số học Lập trình cơ bản C/Chương 3/ 8 of 25

Toán tử quan hệ và luận lý Ðược dùng để : Kiểm tra mối quan hệ giữa hai biến hay giữa một biến và một hằng Toán tử quan hệ Toán tử Ý nghĩa > Lớn hơn >= Lớn hơn hoặc bằng < Nhỏ hơn <= Nhỏ hơn hoặc bằng == Bằng != Không bằng Lập trình cơ bản C/Chương 3/ 9 of 25

Toán tử quan hệ và luận lý (tt.) Toán tử luận lý là những ký hiệu dùng để kết hợp hay phủ định biểu thức chứa các toán tử quan hệ Toán tử Ý nghĩa && AND: Kết quả là True khi cả 2 điều kiện đều đúng || OR : Kết quả là True khi chỉ một trong hai điều kiện là đúng ! NOT: Tác động trên các giá trị riêng lẻ, chuyển đổi True thành False và ngược lại. Ví dụ: if (a>10) && (a<20) Những biểu thức dùng toán tử luận lý trả về 0 thay cho false và 1 thay cho true Lập trình cơ bản C/Chương 3/ 10 of 25

Toán tử luận lý nhị phân Dữ liệu chỉ được xử lý sau khi đã chuyển đổi giá trị SỐ thành giá trị NHỊ PHÂN Toán tử Mô tả Bitwise AND ( x & y) Mỗi vị trí của bit trả về kết quả là 1 nếu bit của hai toán hạng là 1. Bitwise OR ( x | y) Mỗi vị trí của bit trả về kết quả là 1 nếu bit của một trong hai toán hạng là 1. Bitwise NOT ( ~ x) Ðảo ngược giá trị của toán hạng (1 thành 0 và ngược lại). Bitwise XOR ( x ^ y) Mỗi vị trí của bit chỉ trả về kết quả là 1 nếu bit của một trong hai toán hạng là 1 mà không không phải cả hai toán hạng cùng là 1. Lập trình cơ bản C/Chương 3/ 11 of 25

Toán tử luận lý nhị phân (tt.) Ví dụ 10 & 15 1010 & 11111010  10 10 | 15 1010 | 11111111  15 10 ^ 15 1010 ^ 11110101  5 Lập trình cơ bản C/Chương 3/ 12 of 25

Chuyển đổi kiểu Qui tắc chuyển đổi kiểu tự động trình bày dưới đây nhằm xác định giá trị biểu thức: char và short được chuyển thành int và float được chuyển thành double. Nếu có một toán hạng là double, toán hạng còn lại sẽ được chuyển thành double, và kết quả là double. Nếu có một toán hạng là long, toán hạng còn lại sẽ được chuyển thành long, và kết quả là long. Nếu có một toán hạng là unsigned, toán hạng còn lại sẽ được chuyển thành unsigned và kết quả cũng là unsigned. Nếu tất cả toán hạng kiểu int, kết quả là int. Ví dụ Lập trình cơ bản C/Chương 3/ 13 of 25

Kiểu  Bất cứ kiểu dữ liệu hợp lệ trong C Ép kiểu Một biểu thức được ép thành một kiểu nhất định bằng cách dùng kỹ thuật ép kiểu (cast). Cú pháp : (kiểu dữ liệu) cast Kiểu  Bất cứ kiểu dữ liệu hợp lệ trong C Ví dụ: float x,f; f = 3.14159; x = (int) f; Giá trị của x sẽ là 3 (số nguyên) Giá trị số nguyên trả về bởi (int) f được chuyển thành số thực khi nó được toán tử GÁN xử lý. Song, giá trị của f vẫn không đổi. Lập trình cơ bản C/Chương 3/ 14 of 25

Độ ưu tiên của toán tử Độ ưu tiên tạo nên cấu trúc phân cấp của loại toán tử này so với loại toán tử khác khi tính giá trị một biểu thức số học Nó đề cập đến thứ tự thực thi các toán tử trong C Độ ưu tiên của các toán tử này được thay đổi bởi các dấu ngoặc đơn trong biểu thức Loại toán tử Toán tử Tính kết hợp Một ngôi - ++ -- Phải đến trái Hai ngôi ^ Trái đến phải * / % + - = Lập trình cơ bản C/Chương 3/ 15 of 25

Độ ưu tiên của toán tử (tt.) -8 * 4 % 2 - 3 Ví dụ Lập trình cơ bản C/Chương 3/ 16 of 25

Độ ưu tiên của toán tử so sánh Độ ưu tiên của toán tử so sánh (quan hệ) luôn được tính từ trái sang phải Lập trình cơ bản C/Chương 3/ 17 of 25

Độ ưu tiên của toán tử luận lý Thứ tự ưu tiên Toán tử 1 NOT 2 AND 3 OR Khi có nhiều toán tử luận lý trong một điều kiện, ta áp dụng quy tắc tính từ phải sang trái Lập trình cơ bản C/Chương 3/ 18 of 25

Độ ưu tiên của toán tử luận lý (tt.) Xét biểu thức sau: False OR True AND NOT False AND True Ðiều kiện này được tính như sau: False OR True AND [NOT False] AND True NOT có độ ưu tiên cao nhất. False OR True AND [True AND True] Ở đây, AND có độ ưu tiên cao nhất, những toán tử có cùng ưu tiên được tính từ phải sang trái. False OR [True AND True] [False OR True] True Lập trình cơ bản C/Chương 3/ 19 of 25

Độ ưu tiên giữa các toán tử Khi một biểu thức có nhiều loại toán tử thì độ ưu tiên giữa chúng phải được thiết lập. Thứ tự ưu tiên Kiểu toán tử 1 Số học (Arithmetic) 2 So sánh (Comparison) 3 Luận lý (Logical) Lập trình cơ bản C/Chương 3/ 20 of 25

Độ ưu tiên giữa các toán tử (tt.) Ví dụ : 2*3+4/2 > 3 AND 3<5 OR 10<9 Việc tính toán như sau : [2*3+4/2] > 3 AND 3<5 OR 10<9 Toán tử số học sẽ được tính trước [[2*3]+[4/2]] > 3 AND 3<5 OR 10<9 [6+2] >3 AND 3<5 OR 10<9 [8 >3] AND [3<5] OR [10<9] Lập trình cơ bản C/Chương 3/ 21 of 25

[True AND True] OR False True OR False Độ ưu tiên giữa các toán tử (tt.) Kế đến là toán tử so sánh có cùng độ ưu tiên. Ta áp dụng quy tắc tính từ trái sang phải. True AND True OR False Cuối cùng là toán tử kiểu luận lý. AND sẽ có độ ưu tiên cao hơn OR [True AND True] OR False True OR False True Lập trình cơ bản C/Chương 3/ 22 of 25

Thay đổi độ ưu tiên Dấu ngoặc đơn ( ) có độ ưu tiên cao nhất Độ ưu tiên của các toán tử có thể được thay đổi bởi dấu ngoặc đơn Toán tử có độ ưu tiên thấp hơn nếu đặt trong dấu ngoặc đơn sẽ được thực thi trước Khi các cặp ngoặc đơn lồng nhau ( ( ( ) ) ), cặp ngoặc đơn trong cùng nhất sẽ được thực thi trước Nếu trong biểu thức có nhiều cặp ngoặc đơn thì việc thực thi sẽ theo thứ tự từ trái sang phải Lập trình cơ bản C/Chương 3/ 23 of 25

Thay đổi độ ưu tiên (tt.) Ví dụ : Cách tính : 5+9*3^2-4 > 10 AND (2+2^4-8/4 > 6 OR (2<6 AND 10>11)) Cách tính : 1) 5+9*3^2-4 > 10 AND (2+2^4-8/4 > 6 OR (True AND False)) Dấu ngoặc đơn bên trong sẽ được tính trước 2) 5+9*3^2-4 > 10 AND (2+2^4-8/4 > 6 OR False) Lập trình cơ bản C/Chương 3/ 24 of 25

Thay đổi độ ưu tiên (tt.) Kế đến dấu ngoặc đơn ở ngoài được tính đến 3) 5+9*3^2-4 >10 AND (2+16-8/4 > 6 OR False) Kế đến dấu ngoặc đơn ở ngoài được tính đến 5+9*3^2-4 > 10 AND (2+16-2 > 6 OR False) 5+9*3^2-4 > 10 AND (18-2 > 6 OR False) 6) 5+9*3^2-4 > 10 AND (16 > 6 OR False) 7) 5+9*3^2-4 > 10 AND (True OR False) 8) 5+9*3^2-4 > 10 AND True Lập trình cơ bản C/Chương 3/ 25 of 25

Thay đổi độ ưu tiên (tt.) Biểu thức bên trái được tính trước 5+9*9-4>10 AND True Biểu thức bên trái được tính trước 5+81-4>10 AND True 11) 86-4>10 AND True 12) 82>10 AND True 13) True AND True 14) True Lập trình cơ bản C/Chương 3/ 26 of 25