Thông tin tài liệu:
Bài giảng Kỹ thuật lập trình C: Bài 2 Biểu thức và các phép toán, cung cấp cho người học những kiến thức như: Biểu thức; Các phép toán; Biểu thức điều kiện; Bài tập minh họa. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình C: Bài 2 - Hoàng Quốc TuấnKỸ THUẬT LẬP TRÌNH CBÀI 2: BIỂU THỨC & CÁC PHÉP TOÁN Hoàng Quốc Tuấn tuanhq@fpt.edu.vn http://hoangquoctuanpro.wordpress.comNội dungI. Biểu thứcII. Các phép toánIII. Biểu thức điều kiệnIV. Bài tập minh họa 2I – BIỂU THỨC Biểu thức là một sự kết hợp các giá trị (hằng, biến, hàm) bằng các phép tính để sinh ra một giá trị mới. Kiểu của biểu thức là kiểu của giá trị mà nó sinh ra. Ví dụ: int x = 2, y = 7; int i, a = 3; x = (x + 2 * y); a = (i = a * 11); 3II – CÁC PHÉP TOÁN1. Các phép toán số học2. Các phép toán thao tác trên bit3. Các phép toán quan hệ và logic4. Chuyển đổi kiểu dữ liệu5. Các phép toán tăng giảm6. Câu lệnh gán 41. Các phép toán số học Các phép toán số học bao gồm: cộng (+), trừ (-), nhân (*), chia (/) thực hiện trên các kiểu dữ liệu int, char, float, double. Ví dụ: float x = 15.0; float y = 3.0; float phep_cong = x + y; /* 15.0 + 3.0 = 18.000000 */ float phep_chia = x / y; /* 15.0 / 3.0 = 5.000000 */ 51. Các phép toán số học Phép chia (/) của hai số nguyên cho ra kết quả thương là số nguyên. Để lấy phần dư của phép chia hai số nguyên thì phải sử dụng phép modulo (%). Ví dụ: int x = 10; int y = 3; int kq1 = x / y; /* cho kết quả là số nguyên: 10/3 =3 */ int kq2 = x % y; /* 10%3 = 1 ( 10/3 = 3 dư 1 ) */ 61. Các phép toán số học Ngoài các phép toán, ngôn ngữ C còn trang bị cho chúng ta một số hàm toán học chuẩn được khai báo trong thư viện math.h abs sqrt pow sin cos tan asin acos atan floor ceil log ... 72. Các phép toán thao tác bit Các phép toán thao tác bit cho phép xử lý từng bit của một số nguyên (không dùng cho kiểu float và double) Các toán tử and &, or |, xor ^ dịch trái , bù bít ~ 8 2. Các phép toán thao tác bit Bảng giá trị chân lý Kết quả Toán hạng 1 Toán hạng 2 & | ^ 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0Ví dụ: Giả thiết một số nguyên (int) được biểu diễn bằng 16 bit. unsigned int a = 3737; /* 0000111010011001*/ unsigned int b = 7474; /* 0001110100110010*/ unsigned int c = a | b; /* 0001111110111011*/ unsigned int d = b&c; /* 0001110100110010*/ unsigned int e = c^d; /* 0000001010001001*/ 92. Các phép toán thao tác bit Biểu thức a > n sẽ dịch chuyển các bit trong a sang phải n vị trí. Đối với kiểu không dấu, ta có: a 2. Các phép toán thao tác bit Ví dụ: unsigned int a = 3737; /* 0000111010011001 */ unsigned int b = a > 2; /* 0000001110100110 */ unsigned int d = c 2. Các phép toán thao tác bit Bù bit ~: ~1 = 0 ~0 = 1 Ví dụ: unsigned int a = 3737; /* 0000111010011001*/ unsigned int b = ~a; /* 1111000101100110*/ 123. Các phép toán quan hệ và logic Các phép toán quan hệ Các phép toán logic 133.1. Các phép toán quan hệ Các phép toán quan hệ so sánh giá trị của các toán hạng, rồi co kết quả 0 (sai), hoặc 1(đúng). Các phép toán so sánh: bằng == lớn hơn > lớn hơn hoặc bằng >= khác != nhỏ hơn < nhỏ hơn hoặc bằng 3.1. Các phép toán quan hệ Ví dụ: float kq1 = (3 > 5); /* kq1 = (3 > 5) = 0.000000 */ float kq2 = (5 >= 3); /* kq2 = (5 > 3) = 1.000000 */ float kq3 = (12 + 6 != 5; /* (18 != 5) = 1.000000 */ float kq4 = (15 != 3*5) /* 15 != 3*5) = 0.000000 */ 153.2. Các phép toán logic Các phép toán logic dùng để kết hợp các biểu thức khác nhau thành một biểu thức logic. Các phép toán: NOT (!), AND (&&), OR (||) Kết quả cho ra giá trị 0 (sai), hoặc 1 (đúng). Kết quả A B !A A && B A || B 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 164. Chuyển đổi kiểu dữ liệu (ép kiểu)trong một phép toán khi hai toán hạng khác kiểu dữ liệu thìkiểu dữ liệu ...