Chương 6. Biểu thức và phép gán

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

pdf13 trang | Chia sẻ: lylyngoc | Lượt xem: 1696 | Lượt tải: 1download
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.