Tự học C++: Các toán tử

Trong C++, để thao tác với chúng ta sử dụng các toán tử, đó là các từ khoá và các dấu không có trong bảng chữ cái nhưng lại có trên hầu hết các bàn phím trên thế giới. Hiểu biết về chúng là rất quan trọng vì đây là một trong những thành phần cơ bản của ngôn ngữ C++.

Toán tử gán (=)

Toán tử gán dùng để gán một giá trị nào đó cho một biến

a = 5;

gán giá trị nguyên 5 cho biến a. Vế trái bắt buộc phải là một biến còn vế phải có thể là bất kỳ hằng, biến hay kết quả của một biểu thức.

Cần phải nhấn mạnh rằng toán tử gán luôn được thực hiện từ trái sang phải và không bao giờ đảo ngược

a = b;

gán giá trị của biến a bằng giá trị đang chứa trong biến b. Chú ý rằng chúng ta chỉ gán giá trị của b cho a và sự thay đổi của b sau đó sẽ không ảnh hưởng đến giá trị của a.

Một thuộc tính của toán tử gán trong C++ góp phần giúp nó vượt lên các ngôn ngữ lập trình khác là việc cho phép vế phải có thể chứa các phép gán khác. Ví dụ:

a = 2 + (b = 5);

tương đương với

b = 5;a = 2 + b;

Vì vậy biểu thức sau cũng hợp lệ trong C++

a = b = c = 5;

gán giá trị 5 cho cả ba biến a, b và c

Các toán tử số học (+, -, *, /, %)

Năm toán tử số học được hỗ trợ bởi ngôn ngữ là:

+ cộng
- trừ
* nhân
/ chia
% lấy phần dư (trong phép chia)

Thứ tự thực hiện các toán tử này cũng giống như chúng được thực hiện trong toán học. Điều duy nhất có vẻ hơi lạ đối với bạn là phép lấy phần dư, ký hiệu bằng dấu phần trăm (%). Đây chính là phép toán lấy phần dư trong phép chia hai số nguyên với nhau. Ví dụ, nếu a = 11 % 3, biến a sẽ mang giá trị 2 vì 11 = 3*3 +2.

Các toán tử gán phức hợp (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=)

Một đặc tính của ngôn ngữ C++ làm cho nó nổi tiếng là một ngôn ngữ súc tích chính là các toán tử gán phức hợp cho phép chỉnh sửa giá trị của một biến với một trong những toán tử cơ bản sau:

value += increase; tương đương với value = value + increase;
a -= 5; tương đương với a = a - 5;
a /= b; tương đương với a = a / b;
price *= units + 1; tương đương với price = price * (units + 1);

và tương tự cho tất cả các toán tử khác.

Tăng và giảm

Một ví dụ khác của việc tiết kiệm khi viết mã lệnh là toán tử tăng (++) và giảm (--). Chúng tăng hoặc giảm giá trị chứa trong một biến đi 1. Chúng tương đương với +=1 hoặc -=1. Vì vậy, các dòng sau là tương đương:

a++;
a+=1;
a=a+1;

Một tính chất của toán tử này là nó có thể là tiền tố hoặc hậu tố, có nghĩa là có thể viết trước tên biến (++a) hoặc sau (a++) và mặc dù trong hai biểu thức rất đơn giản đó nó có cùng ý nghĩa nhưng trong các thao tác khác khi mà kết quả của việc tăng hay giảm được sử dụng trong một biểu thức thì chúng có thể có một khác biệt quan trọng về ý nghĩa: Trong trường hợp toán tử được sử dụng như là một tiền tố (++a) giá trị được tăng trước khi biểu thức được tính và giá trị đã tăng được sử dụng trong biểu thức; trong trường hợp ngược lại (a++) giá trị trong biến a được tăng sau khi đã tính toán. Hãy chú ý sự khác biệt:

Ví dụ 1 Ví dụ 2
B=3;
A=++B;
// A is 4, B is 4
B=3;
A=B++;
// A is 3, B is 4

Các toán tử quan hệ ( ==, !=, >, <, >=, <= )

Để có thể so sánh hai biểu thức với nhau chúng ta có thể sử dụng các toán tử quan hệ. Theo chuẩn ANSI-C++ thì giá trị của thao tác quan hệ chỉ có thể là giá trị logic - chúng chỉ có thể có giá trị true hoặc false, tuỳ theo biểu thức kết quả là đúng hay sai.

Sau đây là các toán tử quan hệ bạn có thể sử dụng trong C++

== Bằng
!= Khác
> Lớn hơn
<</td> Nhỏ hơn
> = Lớn hơn hoặc bằng
< = Nhỏ hơn hoặc bằng

Ví dụ:

(7 == 5) sẽ trả giá trị false
(6 >= 6) sẽ trả giá trị true

tất nhiên thay vì sử dụng các số, chúng ta có thể sử dụng bất cứ biểu thức nào. Cho a=2, b=3 và c=6

(a*b >= c) sẽ trả giá trị true.
(b+4 < a*c) sẽ trả giá trị false

Cần chú ý rằng = (một dấu bằng) lf hoàn toàn khác với == (hai dấu bằng). Dấu đầu tiên là một toán tử gán (gán giá trị của biểu thức bên phải cho biến ở bên trái) và dấu còn lại (==) là một toán tử quan hệ nhằm so sánh xem hai biểu thức có bằng nhau hay không.

Trong nhiều trình dịch có trước chuẩn ANSI-C++ cũng như trong ngôn ngữ C, các toán tử quan hệ không trả về giá trị logic true hoặc false mà trả về giá trị int với 0 tương ứng với false còn giá trị khác 0 (thường là 1) thì tương ứng với true.

Các toán tử logic (!, &&, ||)

Toán tử ! tương đương với toán tử logic NOT, nó chỉ có một đối số ở phía bên phải và việc duy nhất mà nó làm là đổi ngược giá trị của đối số từ true sang false hoặc ngược lại. Ví dụ:

!(5 == 5) trả về false vì biểu thức bên phải (5 == 5) có giá trịtrue
!(6 <= 4) trả về true vì (6 <= 4)có giá trị false
!true trả về false
!false trả về true

Toán tử logic && và || được sử dụng khi tính toán hai biểu thức để lấy ra một kết quả duy nhất. Chúng tương ứng với các toán tử logic AND và OR. Kết quả của chúng phụ thuộc vào mối quan hệ của hai đối số:

Đối số thứ nhất
a
Đối số thứ hai
b
Kết quả
a && b
Kết quả
a || b
true true true true
true false false true
false true false true
false false false false

Ví dụ:

( (5 == 5) && (3 > 6) ) trả về false ( true && false ).
( (5 == 5) || (3 > 6)) trả về true ( true || false ).

Toán tử điều kiện ( ? ).

Toán tử điều kiện tính toán một biểu thức và trả về một giá trị khác tuỳ thuộc vào biểu thức đó là đúng hay sai. Cấu trúc của nó như sau:

condition ? result1 : result2

Nếu condition là true thì giá trị trả về sẽ là result1, nếu không giá trị trả về là result2.

7==5 ? 4 : 3 trả về 37 không bằng 5
7==5+2 ? 4 : 3 trả về 47 bằng 5+2
5>3 ? a : b trả về a, vì 5 lớn hơn 3
a>b ? a : b trả về giá trị lớn hơn, a hoặc b

Các toán tử thao tác bit (&, |, ^, ~, <<, >>)

Các toán tử thao tác bit thay đổi các bit biểu diễn một biến, có nghĩa là thay đổi biểu diễn nhị phân của chúng:

Toán tử asm Mô tả
& AND Logical AND
| OR Logical OR
^ XOR Logical exclusive OR
~ NOT Đảo ngược bit
<< SHL Dịch bit sang trái
SHR Dịch bit sang phải

Các toán tử chuyển đổi kiểu

Các toán tử chuyển đổi kiểu cho phép bạn chuyển đổi dữ liệu từ kiểu này sang kiểu khác. Có vài cách để làm việc này trong C++, cách cơ bản nhất được thừa kế từ ngôn ngữ C là đặt trước biểu thức cần chuyển đổi tên kiểu dữ liệu được bọc trong cặp ngoặc đơn (), ví dụ:

int i;

float f = 3.14;

i = (int) f;

Đoạn mã trên chuyển số thập phân 3.14 sang một số nguyên (3). Ở đây, toán tử chuyển đổi kiểu là (int). Một cách khác để làm điều này trong C++ là sử dụng các constructors (ở một số sách thuật ngữ này được dịch là cấu tử nhưng tôi thấy nó có vẻ không xuôi tai lắm) thay vì dùng các toán tử: Đặt trước biểu thức cần chuyển đổi kiểu tên kiểu mới và bao bọc biểu thức giữa một cặp ngoặc đơn.

i = int ( f );

Cả hai cách chuyển đổi kiểu đều hợp lệ trong C++. Thêm vào đó ANSI-C++ còn có những toán tử chuyển đổi kiểu mới đặc trưng cho lập trình hướng đối tượng.

sizeof()

Toán tử này có một tham số, đó có thể là một kiểu dữ liệu hay là một biến và trả về kích cỡ bằng byte của kiểu hay đối tượng đó.

a = sizeof (char);

a sẽ mang giá trị 1 vì kiểu char luôn có kích cỡ 1 byte trên mọi hệ thống. Giá trị trả về của sizeof là một hằng số vì vậy nó luôn luôn được tính trước khi chương trình thực hiện.

Các toán tử khác

Trong C++ còn có một số các toán tử khác, như các toán tử liên quan đến con trỏ hay lập trình hướng đối tượng. Chúng sẽ được nói đến cụ thể trong các phần tương ứng.

(Theo OurViet Network)

Phần sau: Thứ tự ưu tiên của các toán tử

Theo dòng sự kiện:
Ngôn ngữ C (11/10/2001)

Video nổi bật

Đánh giá Samsung Galaxy A7 - Smartphone cao cấp
00:00 / --:--

TIN Công Nghệ NỔI BẬT

Apple có công nghệ "khủng" giúp iPhone chụp ảnh cực đẹp

 iPhone liên tục cung cấp những trải nghiệm camera tốt hơn so với bất cứ smartphone nào, nhưng Apple có thể còn đưa ra những trải nghiệm camera trên iPhone tốt hơn nữa, nhờ bản quyền mới nhất mà hãng vừa đăng ký.

Hướng dẫn test máy Galaxy Note Edge xách tay trước khi mua

Samsung Galaxy Note Edge là điện thoại có thiết kế phá cách đến từ Samsung. Bài viết này chúng tôi sẽ hướng dẫn các bạn cách test máy điện thoại Samsung Galaxy Note Edge (SM-N915S) xách tay Hàn Quốc chuẩn và yên tâm nhất. Hiện nay có khá nhiều phiên bản của điện thoại này ở thị trường Việt Nam và những thông tin được nêu dưới đây có thể giúp bạn chọn mua đượ

Những tính năng cuốn hút trên iPhone 6 khiến người dùng “mê mẩn”

Bạn đã bao giờ tự hỏi mình rằng, iPhone 6 của Apple có những tính năng gì mà khiến cho rất nhiều người dùng trên toàn thế giới phải mê mẩn, ngoài thiết kế vô cùng sang trọng và bắt mắt, dòng sản phẩm này cũng còn rất nhiều những tính năng thú vị và bổ ích cho người dùng mà có thể bạn chưa biết. Trong bài viết dưới đây, các bạn hãy cùng tôi tìm hiểu xem, iPho

Khắc phục lỗi hao pin trên iOS 8.2

Nếu bạn đã nâng cấp lên iOS 8.2 và đang than phiền về thời lượng pin, dưới đây là cách khắc phục.Nếu bạn đã nâng cấp lên iOS 8.2 và đang than phiền về thời lượng pin, dưới đây là cách khắc phục.

'Mách' bạn cách gửi & nhận SMS khi... quên điện thoại Android

MightyText là ứng dụng khá cần thiết trong những lúc bạn không mang smartphone theo bên mình nhưng vẫn muốn cập nhật hộp tin SMS để không bỏ lỡ những tin quan trọng. Đồng thời, có thể nhận và soạn tin nhắn SMS từ xa.

Nhận xét tin Tự học C++: Các toán tử

Ý kiến bạn đọc (1)  

Viết phản hồi

 
 
 
 
 
thac mac

thang 2012-09-19 16:50

   0

em muon hoi ki tu chia het trong c la gi

Phản hồi Phản hồi voi trich dan Trich dan

Bạn có thể gửi nhận xét, góp ý hay liên hệ về bài viết Tự học C++: Các toán tử bằng cách gửi thư điện tử tới Lien He Bao Viet Nam. Xin bao gồm tên bài viết Tu hoc C Cac toan tu ở dạng tiếng Việt không dấu. Hoặc Tự học C++: Các toán tử ở dạng có dấu. Bài viết trong chuyên đề Kinh Nghiệm của chuyên mục Công Nghệ.

study C + +: Operators
In C, the operator type conversion, relational operators, basic components, the return value, equivalent to, assignment, value, logical operators, expression, action and results, we, as a variable, self-study, 5

In C + +, to work with us to use the operators, which are the keywords and the sign is not in the alphabet but has on most keyboards the world. Understanding them is very important because this is one of the basic components ...

CÓ THỂ BẠN QUAN TÂM
Xem tiếp: Công Nghệ


  • Thoi su trong ngay May bay roi o Binh Thuan
    Thời sự trong ngày: Máy bay rơi ở Bình Thuận

    Thứ trưởng Bộ Tài nguyên lên tiếng vụ Đồng Nai lấp sông; Sập giàn giáo ở Formosa: Kết thúc cứu nạn, 13 người chết; Máy bay rơi và gãy đôi ở Bình Thuận;Thực hư ca phẫu thuật toàn đỉa tại BV Bạch Mai; Thanh niên làm 'chuyện người lớn' với 2 nữ sinh lớp 8...là những thông tin thời sự nổi bật trong ngày 26/3.

  • Thoi su 24h243 Chat mot cay xa cu chi gan 36 trieu
    Thời sự 24h(24/3): Chặt một cây xà cừ,chi gần 36 triệu

    Bộ Chính trị bổ nhiệm 3 Phó Ban Kinh tế TƯ; Sắp tinh giản biên chế 6 năm, không 'đánh trống bỏ dùi'; Năm 2016 sẽ chạy thử tuyến đường sắt trên cao Hà Nội; Diễm My 9x hoảng loạn vì bị cướp trong xe ô tô; Chặt một cây xà cừ, Hà Nội chi gần 36 triệu; Mê phim sex, ‘yêu râu xanh’ làm hại bé gái...là những thông tin thời sự nổi bật trong ngày 23/3.

  • Thoi su tuan qua Dinh chi can bo vu chat cay xanh
    Thời sự tuần qua: Đình chỉ cán bộ vụ chặt cây xanh

    Lại lùi luật Biểu tình sang 2016; Vụ chặt cây: Đình chỉ hàng loạt cán bộ Sở Xây dựng; Học sinh Trà Vinh đánh bạn: Đình chỉ cả hiệu trưởng, hiệu phó; Công bố 10 gương mặt trẻ tiêu biểu 2014; Vớ được clip sex trong máy tính cũ, đòi chuộc 5 tỷ; Bắt tạm giam hoa hậu người Việt tại Nga...là những thông tin thời sự nổi bật tuần qua.

  • Thoi su 24h213 Ha Noi trong nham cay vang tam
    Thời sự 24h(21/3): Hà Nội trồng nhầm cây vàng tâm?

    Vụ bất thường dự án triệu đô: Công an vào cuộc; Hàng cây mới vừa được thay thế trên phố Hà Nội; Đại gia bị hoa hậu lừa 16 tỷ đồng là ai?; Thủy quái Mekong trong nồi lẩu trăm triệu đại gia Sài Gòn; Vũ Hoàng Điệp: Kinh tởm với mối tình đầu dài 2 năm!; Bất ngờ gục chết khi CSGT kiểm tra giấy tờ...là những thông tin thời sự nổi bật trong ngày 21/3.

  • Thoi su 24h203 Bat tam giam mot hoa hau
    Thời sự 24h(20/3): Bắt tạm giam một hoa hậu

    Chi tiết dự kiến lịch thi THPT quốc gia; Chủ tịch HN: Không có chuyện “kiếm chác” từ việc chặt 6.700 cây; Gần 150 xe tiền tỷ của đại gia Dũng "mặt sắt" phủ bụi; Bầu Hiển đề nghị mua sân bay Phú Quốc...

  • Hang loat nu sinh hoc sinh mat tich bi an
    Hàng loạt nữ sinh, học sinh mất tích bí ẩn

    Chỉ trong vòng 10 ngày đã có 3 nữ sinh viên (SV) mất tích, trong đó một nữ sinhđã tử vong. Chiều 26/3, Ths Trịnh Hữu Chung, Trưởng phòng Công tác học sinh sinh viên (HSSV) Trường ĐH quốc tế Hồng Bàng cho biết: Riêng SV Ng. Tr...

  • Sap gian giao o Formosa
    Sập giàn giáo ở Formosa

    Vào lúc 10h ngày 27/3/2015, tại hội trường Tỉnh uỷ Hà Tĩnh diễn ra cuộc họp báo về vụ sập giàn giáo ở Hà Tĩnh gây thương vong hàng chục người tại công trường Formosa.

  • Viet Nam tieu thu gan 70 tan vang
    Việt Nam tiêu thụ gần 70 tấn vàng?

    Chúng ta phải hiểu rằng việc nhập vàng vào Việt Nam không phải chỉ để tăng dự trữ tiền tệ mà còn có nhiều mục đích khác nữa.

  • Coi do Thao bo luon nhan cach
    Cởi đồ - Tháo bỏ luôn nhân cách

    Chỉ trong vòng 4 ngày (12/3 - 15/3) dân mạng được một phen "choáng váng" khi chứng kiến 2 màn "tự nguyện" cởi đồ giữa chốn đông người của 2 cô gái trẻ.

  • Ha noi chat ha 6700 cay xanh
    Hà nội chặt hạ 6.700 cây xanh

    Chứng kiến những hàng cây bị đốn hạ nhóm Trắng đã chế lại lời ca khúc Một “rừng” người – một đời cây gây xúc động. ------------ Xem thêm: Hà nội chặt hạ 6.700 cây xanh, http://vietbao.vn/tp/Ha-noi-chat-ha-6700-cay-xanh/8770793/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Su kien quoc te noi bat 223 283
    Sự kiện quốc tế nổi bật (22/3 - 28/3)

    Israel do thám các cuộc hội đàm chương trình hạt nhân Iran; Người cha sáng lập nước Singapore, ông Lý Quang Diệu qua đời ở tuổi 91; Tai nạn máy bay Airbus 320 mang số hiệu 4U9525 rơi ở Pháp khiến 150 người bỏ mạng... là những tin chính trong tuần qua. ------------ Xem thêm: Sự kiện quốc tế nổi bật (22/3 - 28/3), http://vietbao.vn/The-gioi/Su-kien-quoc-te-noi-bat-223-283/2147548631/433/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Toan canh Showbiz tuan 2203 2803
    Toàn cảnh Showbiz tuần (22/03 – 28/03)

    Vũ Ngọc Đãng làm phim 18 tỷ của Ngọc Trinh, Tin đồn Phương Nga vướng vòng lao lý vì...'ngải quật', Bằng Kiều bị chỉ trích vì ‘rũ bỏ’ 13 năm công sức của vợ cũ, Nhiều bằng chứng cho thấy Khánh Thi - Phan Hiển yêu nhau, Đám cưới Bebe Phạm và Dustin Nguyễn, Lee Min Ho và Suzy (MissA) đang hẹn hò, Zayn Malik chính thức rời One Direction sau 5 năm gắn bó, Miley Cyrus và bạn trai tình cảm, bác bỏ tin đồn chia tay, Angelina Jolie truyền can đảm cho phụ nữ ung thư, ... là những thông tin giải trí nổi bật trong tuần qua. ------------ Xem thêm: Toàn cảnh Showbiz tuần (22/03 – 28/03), http://vietbao.vn/The-gioi-giai-tri/Toan-canh-Showbiz-tuan-2203-2803/2147548589/49/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Luot nhanh nhieu tin suc khoe quan trong tuan qua 23293
    Lướt nhanh nhiều tin sức khỏe quan trọng tuần qua (23-29/3)

    Vụ việc "Bác sĩ từ chối mổ vì biết bệnh nhân là người viết báo" thu hút sự chú ý của dư luận, công tác y tế cứu nạn nhanh chóng cho sự cố sập giàn giáo ở Vũng Áng, nhiều cảnh báo các bệnh mùa hè bắt đầu "vào mùa", thêm những lời khuyên bổ ích bảo vệ sức khỏe lúc giao mùa... là những thông tin sức khỏe quan trọng tuần qua. ------------ Xem thêm: Lướt nhanh nhiều tin sức khỏe quan trọng tuần qua (23-29/3), http://vietbao.vn/Suc-khoe/Luot-nhanh-nhieu-tin-suc-khoe-quan-trong-tuan-qua-23293/2147548577/248/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Tin An ninh Phap luat tuan qua 2203 2803
    Tin An ninh - Pháp luật tuần qua (22/03 - 28/03)

    Hàng loạt nữ sinh, học sinh mất tích bí ẩn; “Mượn danh” lãnh đạo cấp cao để lừa đảo; Đằng sau câu chuyện Hoa hậu Trương Hồ Phương Nga bị bắt; Trùm ma túy thời Youtube; Tử tù Hồ Duy Hải: Có đủ 4 căn cứ để kháng nghị; Lời xin lỗi muộn của nhóm côn đồ tại phiên tòa;......là những tin đáng chú ý trong tuần. ------------ Xem thêm: Tin An ninh - Pháp luật tuần qua (22/03 - 28/03), http://vietbao.vn/An-ninh-Phap-luat/Tin-An-ninh-Phap-luat-tuan-qua-2203-2803/2147548553/218/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Nghin le chuyen tuan qua 2203 2803
    Nghìn lẻ chuyện tuần qua (22/03 - 28/03)

    Toàn cảnh sập giàn giáo công trường Formosa - Hà Tĩnh; Trực thăng rơi ở đảo Phú Quý- Bình Thuận; Toàn văn 21 câu trả lời vụ chặt hạ cây xanh của Hà Nội; Bác sĩ từ chối mổ cho người viết báo; Học sinh bắt buộc đội mũ bảo hiểm khi đi xe đạp điện... là những tin tức nổi bật được dư luận quan tâm trong tuần qua. ------------ Xem thêm: Nghìn lẻ chuyện tuần qua (22/03 - 28/03), http://vietbao.vn/Xa-hoi/Nghin-le-chuyen-tuan-qua-2203-2803/2147548574/157/ Tin nhanh Việt Nam ra thế giới vietbao.vn