![](images/graphics/blank.gif)
Bài giảng Kỹ thuật lập trình C: Bài 2 - Hoàng Quốc Tuấn
lượt xem 6
download
![](https://tailieu.vn/static/b2013az/templates/version1/default/images/down16x21.png)
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!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình C: Bài 2 - Hoàng Quốc Tuấn
- KỸ THUẬT LẬP TRÌNH C BÀ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.com
- Nội dung I. Biểu thức II. Các phép toán III. Biểu thức điều kiện IV. Bài tập minh họa 2
- I – 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); 3
- II – CÁC PHÉP TOÁN 1. Các phép toán số học 2. Các phép toán thao tác trên bit 3. Các phép toán quan hệ và logic 4. Chuyển đổi kiểu dữ liệu 5. Các phép toán tăng giảm 6. Câu lệnh gán 4
- 1. 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 */ 5
- 1. 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 ) */ 6
- 1. 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 ... 7
- 2. 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 0 Ví 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*/ 9
- 2. 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*/ 12
- 3. 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 13
- 3.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 */ 15
- 3.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 16
- 4. 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 thấp được nâng thành kiểu dữ liệu cao trước khi tính toán. Ví dụ: − Biểu thức f + i, nếu f có kiểu float, i có kiểu int thì i sẽ tạm thời được chuyển kiểu sang kiểu float để để thực hiện phép tính. − Biểu thức f = i1 + i2, nếu f kiểu float, i1 và i2 kiểu int, i1=10, i2 =3, thì f sẽ có giá trị là 3.0 (kết quả không chính xác). Muốn kết quả chính xác, ta phải ép kiểu: f = (float) i1 + i2; 17
- 4. Chuyển đổi kiểu dữ liệu (ép kiểu) Ví dụ: int a, b = 4, c = 5 ; float x, y = 6.8, z = 3.8 ; a=y; /* a = 6 */ a = -y ; /* a = -6 */ x = a / b + c ; /* x = 4.0 */ x = a / b + (float) c ; /* x = 4.0 */ x = (float) a / b + c ; /* x = 3.5 */ a=y–z; /* a = 3 */ 18
- 5. Các phép toán tăng giảm Phép toán tăng là ++ Phép toán giảm là -- Các phép toán tăng giảm dùng để tăng hoặc giảm một đơn vị đối với các biến. Cú pháp: Tăng giảm sau: biến++, biến-- Tăng giảm trước: ++biến, --biến Ví dụ: i = 5; j = 8 ; i = 5; j = 8 ; i++; // kết quả i = 6 i--; // kết quả i = 4 ++j; // kết quả j = 9 --j; // kết quả j = 7 19
- 5. Các phép toán tăng giảm Phép toán giảm trước và phép toán tăng giảm sau có sự khác nhau khi sử dụng nó trong biểu thức có sự phối hợp các phép toán. − Phép toán tăng giám trước sẽ thực hiện phép toán tăng giảm của biến trước rồi mới thực hiện các phép toán khác. − Phép toán tăng giám sau sẽ thực hiện phép toán tăng giảm của biến sau khi phép toán khác khác đã thực hiện. Ví dụ: i = 3; i = 3; tong = ++i; // i = 4, tong = 4 tong = i ++; // i = 4, tong = 3 20
![](images/graphics/blank.gif)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Quang
39 p |
23 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 9 - Trần Quang
33 p |
12 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 8 - Trần Quang
34 p |
22 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang
28 p |
27 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang
37 p |
26 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
32 p |
21 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p |
24 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p |
27 |
2
-
Bài giảng Kỹ thuật lập trình: Tập tin - ThS. Đặng Bình Phương
48 p |
14 |
0
-
Bài giảng Kỹ thuật lập trình: Kỹ thuật lập trình đệ quy - ThS. Đặng Bình Phương
44 p |
15 |
0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu cấu trúc - ThS. Đặng Bình Phương
33 p |
15 |
0
-
Bài giảng Kỹ thuật lập trình: Chuỗi ký tự - ThS. Đặng Bình Phương
20 p |
16 |
0
-
Bài giảng Kỹ thuật lập trình: Danh sách liên kết - ThS. Đặng Bình Phương
20 p |
16 |
0
-
Bài giảng Kỹ thuật lập trình: Chuyển đổi kiểu dữ liệu và cấp phát bộ nhớ động - ThS. Đặng Bình Phương
28 p |
18 |
0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu con trỏ (Nâng cao) - ThS. Đặng Bình Phương
48 p |
16 |
0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu con trỏ (Cơ bản) - ThS. Đặng Bình Phương
40 p |
6 |
0
-
Bài giảng Kỹ thuật lập trình: Giới thiệu môn học - ThS. Đặng Bình Phương
7 p |
14 |
0
-
Bài giảng Kỹ thuật lập trình: Các kỹ thuật thao tác trên bit - ThS. Đặng Bình Phương
29 p |
18 |
0
![](images/icons/closefanbox.gif)
![](images/icons/closefanbox.gif)
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
![](https://tailieu.vn/static/b2013az/templates/version1/default/js/fancybox2/source/ajax_loader.gif)