Chương 2 trình bày những kiến thức về biểu thức. Nội dung chính của chương này gồm có: Biểu thức, kiểu dữ liệu (data types), các định danh (Identifier names), từ khóa (keywords), biến (variables), biến cục bộ (local variables), các tham số hình thức (formal parameters), biến toàn cục (global variables),... Mời các bạn cùng tham khảo.
Chương 2: Biểu thức 5/12/21 1 Biểu thức Biểu thức tạo thành từ thành tố liệu tốn tử ◦ Dữ liệu chứa biến ◦ Tốn tử ngơn ngữ lập trình có ý nghĩa tốn học Một biểu thức C/C++ kết hợp thành phần toán tử, hằng, biến, hàm có trả giá trị 5/12/21 2 Kiểu liệu (data types) C/C++ có kiểu liệu sở: ◦ ký tự (char), ◦ số nguyên (int), ◦ số thực (float), ◦ số thực có độ xác gấp đôi(double), ◦ kiểu vô định (void) 5/12/21 Kiểu liệu (data types) Kích thuớc kiểu int 16 bits (2 bytes) môi truờng 16- bits, 32 bits (4 bytes) môi trường 32-bits Nói chung, tùy thuộc mơi trường, kích thuớc kiểu int khác Chuẩn C phạm vi tối thiểu kiểu liệu số thực (float, double) 1E-37 đến 1E+37 Kiểu void dùng để khai báo hàm không trả giá trị tạo nên trỏ tổng quát (generic pointers) 5/12/21 5/12/21 Các định danh (Identifier names) Trong C/C++, tên biến, hằng, hàm, gọi định danh Những định danh nhiều ký tự Ký tự phải chữ dấu _ (underscore), ký tự theo sau phải chữ cái, chữ số, dấu _ Sau định danh sai: Định danh khơng trùng với từ khóa (keywords) khơng nên có tên hàm thư viện C/C++ 5/12/21 Từ khóa (keywords) Là từ dành riêng ngơn ngữ lập trình cho mục đích riêng Khơng đuợc dùng từ khóa để đặt tên cho định danh biến, hằng, hàm, Tất từ khóa C/C++ chữ thuờng (lowercase) Sau danh sách từ khóa C/C++: 5/12/21 Biến (variables) Một biến định danh vùng nhớ dùng để giữ giá trị mà bị thay đổi chương trình Tất biến phải khai báo truớc sử dụng Dạng khai báo biến tổng quát là: type: phải kiểu liệu hợp lệ variableNames: tên hay nhiều biến phân cách dấu phẩy Ngồi ra, ta vừa khai báo vừa khởi tạo giá trị ban đầu cho 5/12/21 5/12/21 Lưu ý: Khi khai báo biến không cung cấp giá trị khởi tạo giá trị biến chưa xác định Do đó, việc dùng biến biểu thức vô nghĩa Biến khai báo ba nơi: bên hàm, định nghĩa tham số hàm, bên tất hàm Những biến đuợc gọi biến cục bộ, tham số hình thức, biến tồn cục 5/12/21 10 Toán tử sizeof sizeof toán tử mà trả số byte kiểu liệu chiếm nhớ Mỗi môi trường (hệ điều hành, loại CPU, ) dùng số byte khác cho kiểu liệu Dạng tổng quát toán tử sizeof : 5/12/21 31 5/12/21 32 5/12/21 33 Toán tử dấu phẩy (comma operator) Toán tử comma buộc biểu thức với Biểu thức bên trái toán tử comma luôn định trị void, biểu thức bên phải định trị trở thành giá trị biểu thức Dạng tổng quát toán tử comma: Các biểu thức định trị từ trái sang phải, biểu thức cuối (exp_n) định trị trở thành giá trị toàn biểu thức 5/12/21 34 5/12/21 35 Biểu thức (expressions) Một biểu thức C/C++ kết hợp thành phần nhu tốn tử, hằng, biến, hàm có trả giá trị Thứ tự định trị biểu thức tùy thuộc vào độ ưu tiên tốn tử Do đó, để viết biểu thức rõ ràng thực việc định trị theo yêu cầu lập trình viên ta nên dùng cặp dấu ngoặc tròn () để bao quanh biểu thức biểu thức 5/12/21 36 result = (x * y) – (z % 10) + (w /2); 5/12/21 37 Chuyển đổi kiểu biểu thức Khi biến kiểu khác tồn biểu thức, giá trị chúng phải đuợc chuyển thành kiểu truớc phép tốn chúng đuợc thực Trình biên dịch thực việc chuyển kiểu (convert) tự động đến kiểu tốn hạng có kiểu lớn Việc chuyển kiểu gọi thang cấp kiểu (type promotion) 5/12/21 38 5/12/21 39 Ép kiểu (casting) Casting dùng để ép biểu thức thành kiểu theo ý muốn lập trình viên Dạng tổng quát casting : type: tên kiểu liệu hợp lệ Do 7/2 phép chia ngun nên kết khơng có phần thập phân Sau lệnh result có giá trị 5/12/21 40 ðể phép chia phép chia số thực tốn hạng có kiểu ngun ta thực ép kiểu tử số mẫu số hai Các cách viết sau cho kết qủa: 5/12/21 41 Dạng viết tắt câu lệnh gán (shorthand assignments) Các dạng viết tắt câu lệnh gán với toán tử số học gồm +=, - =, *=, /=, %= Những lệnh có dạng: 5/12/21 42 5/12/21 43 Bài tập: Bài 1: Nhập vào bán kính r đường trịn Tính xuất chu vi, diện tích đường trịn tương ứng Tính Nhập p=2*pi*r r s=pi*r*r Xuất chu vi p diện tích s pi=3.14 (hằng số) Cấu trúc chương trình 5/12/21 44 r , p, s biến Kiểu liệu: int, float, double? #include #include const float pi=3.14 void main() { float r,p,s; coutr; // nhap r p=r*2*pi; // công thức tinh hinh tron s=pi*r*r; // cong thuc tinh dien tich cout