Tài liệu Lập trình với ngôn ngữ C phần 4 pdf

15 366 0
Tài liệu Lập trình với ngôn ngữ C phần 4 pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài Toán tử Biểu thức Mục tiêu: Kết thúc học này, bạn có thể: Hiểu Tốn tử gán Hiểu biểu thức số học Nắm toán tử quan hệ (Relational Operators) toán tử luận lý (Logical Operators) Hiểu toán tử luận lý nhị phân (Bitwise Logical Operators) biểu thức (Expressions) Hiểu khái niệm ép kiểu Hiểu độ ưu tiên toán tử Kết thúc học này, học viên có thể: Nắm Toán tử gán Formatted: Bullets and Numbering Hiểu biểu thức số học Nắm toán tử quan hệ (toán tử so sánh-Relational Operators) toán tử luận lý (Logical Operators) Hiểu toán tử luận lý nhị phân( toán tử luận lý nhị phân-Bitwise Logical Operators) biểu thức Nắm ép kiểu qua Cast Hiểu độ ưu tiên toán tử Giới thiệu Formatted: Left C có tập tốn tử phong phú Tốn tử cơng cụ dùng để thao tác liệu Một toán tử ký hiệu dùng để đại diện cho thao tác cụ thể thực liệu C định nghĩa bốn loại toán tử: toán tử số học (arithmetic), quan hệ (relational), luận lý (logical), toán tử luận lý nhị phân (bitwise) Bên cạnh đó, C cịn có số toán tử đặc biệt Toán tử thao tác biến Hằng biến gọi toán hạng (operands) Biến đề cập chương trước Hằng giá trị cố định mà chương trình khơng thể thay đổi Hằng C kiểu liệu Toán tử phân loại: tốn tử ngơi, hai ngơi ba ngơi Tốn tử ngơi thao tác phần tử liệu, tốn tử hai ngơi hai phần tử liệu ba ba phần tử liệu Ví dụ 4.1: c = a + b; Ở a, b, c toán hạng, dấu ‘=’ dấu ‘+’ toán tử 4.1 Biểu thức (Expressions) Một biểu thức tổ hợp toán tử toán hạng Toán tử thực thao tác cộng, trừ, so sánh v.v Toán hạng biến hay giá trị mà phép tốn thực Trong ví dụ a + b, “a” “b” tốn hạng “+” toán tử Tất kết hợp lại biểu thức Toán tử Biểu thức 47 Trong trình thực thi chương trình, giá trị thực biến (nếu có) sử dụng với có mặt biểu thức Việc đánh giá biểu thức thực nhờ toán tử Vì vậy, biểu thức C có giá trị Các ví dụ biểu thức là: x 3+7 2×y+5 + × (4 - 2) z + × (8 - z) 48 Lập trình C Ví dụ 4.2: Roland nặng 70 kilograms, Mark nặng k kilograms Viết biểu thức cho tổng cân nặng họ Tổng cân nặng hai người tính kilograms 70 + k Formatted: Left Ví dụ 4.3: Tính giá trị biểu thức × z + 12 với z = 15 Chúng ta thay z với giá trị 15, đơn giản hóa biểu thức theo quy tắc: thi hành phép toán dấu ngoặc trước tiên, lũy thừa, phép nhân chia phép cộng trừ Formatted: Left × z + 12 trở thành × 15 + 12 = (phép nhân thực trước phép cộng) 60 + 12 = 72 Formatted: Left Toán tử gán (Assignment Operator) Formatted: Left Trước nghiên cứu toán tử khác, ta xét toán tử gán (=) Ðây tốn tử thơng dụng cho ngơn ngữ người biết Trong C, toán tử gán dùng cho biểu thức C hợp lệ Dạng thức chung cho toán tử gán là: Tên biến = biểu thức; Gán liên tiếp Formatted: Left Nhiều biến gán giá trị câu lệnh đơn Việc thực qua cú pháp gán liên tiếp Ví dụ: a = b = c =10; Dòng mã gán giá trị 10 cho a, b,và c Tuy nhiên, việc thực lúc khai báo biến Ví dụ, int a = int b = int c= 0; Câu lệnh phát sinh lỗi sai cú pháp Biểu thức số học (Arithmetic Expressions) Formatted: Left Các phép toán thường thực theo thứ tự cụ thể (hoặc riêng biệt) giá trị cuối Thứ tự gọi độ ưu tiên (sẽ nói đến sau) Các biểu thức toán học C biểu diễn cách sử dụng toán tử số học với toán hạng dạng số ký tự Những biểu thức gọi biểu thức số học (Arithmetic Expressions) Ví dụ biểu thức số học : a * (b+c/d)/22; Toán tử Biểu thức 49 ++i % 7; + (c = 3+8); Như thấy trên, tốn hạng hằng, biến hay kết hợp hai Hơn nữa, biểu thức kết hợp nhiều biểu thức Chẳng hạn, biểu thức đầu, c/d biểu thức con, biểu thức thứ ba c = 3+8 biểu thức 4.2 Toán tử quan hệ (Relational Operators) Formatted: Left Toán tử quan hệ dùng để kiểm tra mối quan hệ hai biến, hay biến Ví dụ, việc xét số lớn hai số, a b, thực thông qua dấu lớn (>) hai toán hạng a b (a > b) Trong C, true (đúng) giá trị khác không (0), false (sai) giá trị khơng (0) Biểu thức dùng tốn tử quan hệ trả cho false cho true Ví dụ biểu thức sau : a == 14 ; Biểu thức kiểm tra xem giá trị a có 14 hay khơng Giá trị biểu thức (false) a có giá trị khác 14 (true) 14 Bảng sau mơ tả ý nghĩa tốn tử quan hệ Toán tử > >= < = 10)) /* s không lớn hay 10 */ Cả toán tử quan hệ luận lý có quyền ưu tiên thấp tốn tử số học Ví dụ, > + tính tương đương với > (4 + 3), nghĩa 4+3 tính trước sau tốn tử quan hệ thực Kết false, tức trả Câu lệnh sau: printf("%d", 5> + 3); cho ra: bé (4 + 3) 4.4 Toán tử luận lý nhị phân (Bitwise Logical Operators) biểu thức Ví dụ xét tốn hạng có giá trị 12, toán tử luận lý nhị phân coi số 12 1100 Toán tử luận lý nhị phân xem xét tốn hạng dạng chuỗi bit khơng giá trị số thơng thường Giá trị số thuộc số: thập phân (decimal), bát phân (octal) hay thập lục phân (hexadecimal) Riêng toán tử luận lý nhị phân chuyển đổi tốn hạng mà thao tác thành biểu diễn nhị phân tương ứng, dãy số Toán tử luận lý nhị phân gồm &, | , ^ , ~ , vv … tổng kết qua bảng sau: Toán tử Bitwise AND ( x & y) Toán tử Biểu thức Mơ tả Mỗi vị trí bit trả kết bit vị trí tương ứng hai toán hạng 51 Bitwise OR ( x | y) Bitwise NOT ( ~ x) Bitwise XOR ( x ^ y) Mỗi vị trí bit trả kết bit vị trí tương ứng hai tốn hạng Ðảo ngược giá trị bit toán hạng (1 thành ngược lại) Mỗi vị trí bit trả kết bit vị trí tương ứng hai tốn hạng khơng phải hai Formatted: Left Bảng 4.3: Toán tử luận lý nhị phân Toán tử luận lý nhị phân xem kiểu liệu số số nhị phân 32-bit, giá trị số đổi thành giá trị bit để tính tốn trước sau trả kết dạng số ban đầu Ví dụ: Biểu thức 10 & 15 có nghĩa (1010 & 1111) trả giá trị 1010 có nghĩa 10 Biểu thức 10 | 15 có nghĩa (1010 | 1111) trả giá trị 1111 có nghĩa 15 Biểu thức 10 ^ 15 có nghĩa (1010 ^ 1111) trả giá trị 0101 có nghĩa Biểu thức ~10 có nghĩa ( ~1010 ) trả giá trị 1111.1111.1111.1111.1111.1111.1111.0101 có nghĩa -11 Formatted: Left 4.5 Biểu thức dạng hỗn hợp & Chuyển đổi kiểu Một biểu thức dạng hỗn hợp biểu thức mà toán hạng toán tử thuộc nhiều kiểu liệu khác Những tốn hạng thơng thường chuyển kiểu với tốn hạng có kiểu liệu lớn Điều gọi tăng cấp kiểu Sự phát triển kiểu liệu theo thứ tự sau : char < int OR False) Kế đến dấu ngoặc đơn xét đến Xem lại bảng nói thứ tự ưu tiên toán tử 5+9*3^2-4 > 10 AND (2+16-2 > OR False) 5+9*3^2-4 > 10 AND (18-2 > OR False) 5+9*3^2-4 > 10 AND (16 > OR False) Formatted: Left 5+9*3^2-4 > 10 AND (True OR False) 5+9*3^2-4 > 10 AND True 5+9*9-4>10 AND True Ta tính biểu thức bên trái trước theo quy tắc Formatted: Left 10 5+81-4>10 AND True 11 86-4>10 AND True 12 82>10 AND True Toán tử Biểu thức 57 13 True AND True 14 True 58 Lập trình C Tóm tắt học C định nghĩa bốn loại toán tử: số học, quan hệ (so sánh), luận lý luận lý nhị phân Tất tốn tử C tính toán theo thứ tự độ ưu tiên Toán tử quan hệ dùng kiểm tra mối quan hệ hai biến hay biến Toán tử luận lý ký hiệu dùng để kết hợp hay phủ định biểu thức chứa toán tử quan hệ Toán tử luận lý nhị phân xét tốn hạng bit nhị phân khơng phải giá trị số thập phân Phép gán (=) xem tốn tử có tính kết hợp từ phải sang trái Độ ưu tiên thiết lập phân cấp tập toán tử so với tập toán tử khác ước lượng biểu thức Toán tử Biểu thức 59 Kiểm tra tiến độ học tập cơng cụ thao tác liệu A Những tốn tử C Những biểu thức Formatted: Left B Những toán hạng D Không câu Formatted: Left Formatted: Left Một _ bao gồm kết hợp toán tử toán hạng A Biểu thức C Con trỏ B Hàm D Không câu Formatted: Left Formatted: Left thiết lập phân cấp tập toán tử so với tập toán tử khác ước lượng biểu thức A Những toán hạng C Tốn tử B Độ ưu tiên D Khơng câu Formatted: Left biểu thức có tốn hạng thuộc nhiều kiểu liệu khác A Biểu thức đơn C Quyền ưu tiên B Biểu thức hỗn hợp D Không câu Formatted: Left Formatted: Left Formatted: Left Một biểu thức ép thành kiểu định cách dùng A Ép kiểu C Tốn tử B Quyền ưu tiên D Khơng câu Formatted: Left Formatted: Left _ dùng để kết hợp hay phủ định biểu thức chứa toán tử quan hệ A Những toán tử luận lý C Những toán tử phức B Những tốn tử luận lý nhị phân D Khơng câu Formatted: Left Formatted: Left Những toán tử luận lý nhị phân , _, A % , ^ , * and @ C !,],& and * B &,|,~ and ^ D Không câu Formatted: Left Formatted: Left Ðộ ưu tiên tốn tử thay đổi cách đặt phần tử yêu cầu biểu thức _ A Dấu ngoặc xoắn ({ }) C Những dấu ngoặc đơn (()) B Ký hiệu mũ ( ^) D Không câu Formatted: Left Formatted: Left 60 Lập trình C Bài tập tự làm Viết chương trình nhập cộng ba số Formatted: Left, Tab stops: Not at 1.27 cm Formatted: Left Viết chương trình tính giá trị biểu thức với giá trị sau: Formatted: Left, Tab stops: Not at 1.27 cm Formatted: Left z = a*b+(c/d)-e*f ; a = 10 b=7 c = 15.75 d=4 e=2 f = 5.6 Viết chương trình tính diện tích chu vi hình chữ nhật Formatted: Left, Tab stops: Not at 1.27 cm Formatted: Left Viết chương trình tính thể tích hình trụ Formatted: Left, Tab stops: Not at 1.27 cm Formatted: Left Viết chương trình tính lương thực lãnh nhân viên theo công thức Formatted: Left, Tab stops: Not at 1.27 cm Lương : $ 12000 DA : 12% lương HRA : $150 TA : $120 Các mục khác : $450 Thuế : PF :14% lương IT: 15% lương Formatted: Left Lương thực lãnh = Lương + DA + HRA + TA + Các mục khác – (PF + IT) Toán tử Biểu thức 61 ...Trong trình th? ?c thi chương trình, giá trị th? ?c biến (nếu c? ?) sử dụng với c? ? mặt biểu th? ?c Vi? ?c đánh giá biểu th? ?c th? ?c nhờ toán tử Vì vậy, biểu th? ?c C c? ? giá trị C? ?c ví dụ biểu th? ?c là: x... ngo? ?c đơn Thứ tự ưu tiên tốn tử thay đổi dấu ngo? ?c đơn Khi đó, chương trình tính toán phần liệu dấu ngo? ?c đơn trư? ?c Khi c? ??p dấu ngo? ?c đơn bao c? ??p kh? ?c, vi? ?c tính tốn th? ?c trư? ?c tiên c? ??p dấu ngo? ?c. .. tính trư? ?c phép c? ??ng Hơn nữa, quy t? ?c từ trái sang phải cho phép toán nhân chia bảo đảm a nhân với b sau chia cho c Nhưng khơng c? ? quy t? ?c x? ?c định a*b /c tính trư? ?c hay sau d *c Tùy chọn người

Ngày đăng: 22/01/2014, 06:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan