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
< 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

Ý tưởng vòng đeo tay kiêm smartphone gây sốt
00:00 / --:--

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

5 điều đáng lo ngại trong xu hướng smartphone năm 2015

Smartphone đang phát triển không ngừng và tạo ra nhiều thay đổi cũng như các xu hướng mới. Tuy nhiên không phải xu hướng nào cũng mang đến những lợi ích thiết thực cho người sử dụng.

Sửa nhanh những lỗi thường gặp trên iPad và iPhone

Nếu cảm thấy khó chịu vì chiếc iPhone, iPad tự dưng trở chứng với vài lỗi vặt như hết pin nhanh, chậm chạp, đứng máy, không gửi được tin nhắn,... thì những thủ thuật sau đây sẽ giúp bạn

Những điều tuyệt đối không chia sẻ trên Facebook nếu muốn an toàn

Thậm chí khi đã cài đặt các điều khoản riêng tư rất cẩn thận, bạn vẫn có thể bị lộ các thông tin, hình ảnh nhạy cảm khi đăng chúng lên Facebook. Bởi vì, theo nghiên cứu, trong số 150 ứng dụng hàng đầu trên Facebook, có 90% ứng dụng được phép truy cập đến các thông tin trong tài khoản của bạn!

Hướng dẫn chụp ảnh của iPhone dành cho người mới sử dụng

Sở hữu trong tay một chiếc iPhone, ngoài việc sử dụng các tính năng phục vụ cho công việc cũng như giải trí, chụp ảnh gần như là điều tất yếu. Tuy nhiên, bạn đã biết cách tận dụng hết các tính năng mà camera trên iPhone có thể mang lại? Hãy cùng tham khảo bài viết dưới đây để có được những thông tin quan trọng và cần thiết.

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 24h317 Thong tin moi ve vu sat hai 6 nguoi
    Thời sự 24h(31/7): Thông tin mới về vụ sát hại 6 người

     ĐH đồng loạt công bố điểm nhận hồ sơ xét tuyển; Tàu hải quân chở hơn 600 du khách rời Cô Tô; Thông tin mới về vụ sát hại 6 người ở Bình Phước; Phi công hotgirl làm cơ trưởng máy bay hàng không Việt Nam;  

  • Thoi su 24h307 Do xo ra suoi vot vang den sau lu
    Thời sự 24h(30/7): Đổ xô ra suối vớt "vàng đen" sau lũ

     Tàu hải quân chở 350 khách rời Cô Tô; Người dân đổ xô ra suối vớt "vàng đen" sau lũ lịch sử; Trường ĐH Bách khoa Hà Nội có hiệu trưởng mới; Vụ đại gia nợ 1600 tỷ: Thừa nhận cáo trạng có thiếu sót!; 

  • Thoi su 24h297 Lu lich su lam 17 nguoi chet
    Thời sự 24h(29/7): Lũ lịch sử làm 17 người chết

    Thống kê điểm thí sinh theo khối thi A,A1,B,C,D; Mưa lũ Quảng Ninh: Đã có 23 người chết và mất tích; Chủ tịch thuê người thi hộ trong khi đi nghỉ mát; Bắt người phụ nữ từng lên truyền hình vì "làm kinh tế giỏi"; 

  • Thoi su 24h287 HN ban 21 phat dai bac dip Quoc khanh
    Thời sự 24h(28/7): HN bắn 21 phát đại bác dịp Quốc khánh

     Hà Nội bắn 21 phát đại bác dịp Quốc khánh; 15 người chết trong lũ, Quảng Ninh xin ứng cứu; Ngưỡng xét tuyển đại học là 15 điểm; Người phụ nữ Indonesia kêu cứu vì chồng cũ "lừa" bắt con ở VN;

  • Thoi su 24h277 QN ngap nang sau tran mua lich su
    Thời sự 24h(27/7): QN ngập nặng sau trận mưa lịch sử

    Quảng Ninh ngập nặng sau trận mưa lịch sử; Biểu tượng sexy nhất của điện ảnh Việt thập niên 90; Vì sao hàng xóm không mua 'bức tường 1 tỷ'?; Hà Nội: Cảnh nhấc bổng xe tải mắc kẹt trên cầu vượt; Hàng chục cán bộ ngân hàng tại phiên xử đại gia nợ 1.600 tỷ...là những thông tin thời sự nổi bật ngày 27/7.

  • Hiem hoa tu thang may thang cuon
    Hiểm họa từ thang máy - thang cuốn

    Thêm một tai nạn thang máy thảm khốc xảy ra ở Trung Quốc: một cô gái chết bị kẹt đầu vào thang máy ở tầng 17, còn thân thể treo ở tầng 16. ------------ Xem thêm: Hiểm họa từ thang máy - thang cuốn, http://vietbao.vn/tp/Hiem-hoa-tu-thang-may-thang-cuon/12182378/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Nhung chuyen tinh cam dong
    Những chuyện tình cảm động

    Vì tình yêu, Đức Phú quyết định hủy hợp đồng lao động ở nước ngoài để trở về Việt Nam chỉ sau 2 tháng xa nhau vì không thể chịu nổi nỗi nhớ nhung. ------------ Xem thêm: Những chuyện tình cảm động, http://vietbao.vn/tp/Nhung-chuyen-tinh-cam-dong/12197738/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Mua lu ngap lut bat thuong o Quang Ninh
    Mưa lũ ngập lụt bất thường ở Quảng Ninh

    Người dân Quảng Ninh đang phải đối mặt với những khó khăn chồng chất trong việc khắc phục hậu quả trận mưa lũ lịch sử.

  • Du khach Viet an cap o Thuy Si
    Du khách Việt ăn cắp ở Thụy Sĩ

    Chưa tìm được cách ngăn ngừa người ra nước ngoài buôn lậu, trộm cắp hoặc vi phạm thuần phong mỹ tục nước sở tại nên chúng ta sẽ còn xấu mặt dài dài

  • Bat nguyen Chu tich Tap doan Dau khi VN
    Bắt nguyên Chủ tịch Tập đoàn Dầu khí VN

    Cựu Chủ tịch Tập đoàn Dầu khí quốc gia Việt Nam (PetroVietnam - PVN) Nguyễn Xuân Sơn bị khởi tố để điều tra hành vi "thiếu trách nhiệm gây hậu quả nghiêm trọng" - tội danh được quy định tại điều 285 Bộ luật Hình sự. Báo điểm.. ------------ Xem thêm: Bắt nguyên Chủ tịch Tập đoàn Dầu khí VN, http://vietbao.vn/tp/Bat-nguyen-Chu-tich-Tap-doan-Dau-khi-VN/12123701/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Nghin le chuyen tuan qua 2607 0108
    Nghìn lẻ chuyện tuần qua (26/07 - 01/08)

    Toàn cảnh mưa lũ lịch sử tàn phá Quảng Ninh; Hiểm họa từ thang cuốn trong siêu thị; Các cơ quan HN chào cờ hát Quốc ca sáng thứ 2 từ 1/8; Vạch trần thủ đoạn “mẹ bệnh sắp chết” để lừa người đi đường ....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 (26/07 - 01/08), http://vietbao.vn/Xa-hoi/Nghin-le-chuyen-tuan-qua-2607-0108/2147582510/157/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Su kien quoc te noi bat 26718
    Sự kiện quốc tế nổi bật (26/7-1/8)

    Trung Quốc ngăn chặn máy bay Lào trên vùng Biển Hoa Đông; Thủ lĩnh Taliban đã chết, phó thủ lĩnh lên thay; Hy vọng tìm thấy tung tich chiếc máy MH 370 cùng những người có mặt trên chuyến bay định mệnh này lại được nhen nhóm; Thủ lĩnh Taliban đã chết cách đây 2 năm... là những tin quốc tế đáng chú ý trong tuần qua.

  • Toan canh Showbiz tuan 277 317
    Toàn cảnh Showbiz tuần (27/7 - 31/7)

    Sau scandal "văng tục", Tuấn Hưng gây xúc động mạnh trên facebook, Facebook của Lệ Quyên bị hack để vay mượn tiền, Nữ ca sĩ phá thai 4 lần tuyên bố là gái còn trinh gây bức xúc, Đỗ Mạnh Cường lại bị chơi xấu bằng... bùa ngải?, Hồ Ngọc Hà bị phản đối dự show hot nhất hành tinh.... là những tin hot nhất trong tuần này

  • Tin An ninh Phap luat tuan qua 2607 0108
    Tin An ninh - Pháp luật tuần qua (26/07 - 01/08)

    500 bánh heroin giấu trong bình gas; Kinh hoàng "nhồi" bé gái sơ sinh vào vali đem đi bán; Trang Trần sẽ hầu toà vì chống người thi hành công vụ vào tháng 8; Liên tiếp những vụ cướp tiệm vàng trắng trợn; Cảnh báo những chiêu lừa trên Facebook mà ai cũng có thể... dính; Con đường tội lỗi dẫn đến trại giam của Hào Anh;.....là những tin đáng chú ý trong tuần. ------------ Xem thêm: Tin An ninh - Pháp luật tuần qua (26/07 - 01/08), http://vietbao.vn/An-ninh-Phap-luat/Tin-An-ninh-Phap-luat-tuan-qua-2607-0108/2147582306/218/ Tin nhanh Việt Nam ra thế giới vietbao.vn

  • Toan canh kinh te tuan 2607 01082015
    Toàn cảnh kinh tế tuần 26/07 - 01/08/2015

    Trong báo cáo quản trị của công ty Quốc Cường Gia Lai vừa công bố Hồ Ngọc Hà không còn tên trong danh sách người liên quan tới Cường đôla, Bộ Công Thương cho biết giá xăng giảm nhỏ giọt nguyên nhân do thuế quá cao, một số thông tin phản ánh về việc Bộ Tài chính chỉ đạo vụ chuyên trách xúc tiến đề nghị với NHNN cho ngân sách vay tới 30.000 tỷ đồng, đùi gà Mỹ sẽ bị kiện bán phá giá tại VN...Cùng với đó, những thông tin về tài chính ngân hàng, bất đông sản và thị trường tiêu dùng... tiếp tục là những tin tức, sự kiện kinh tế nóng hổi trong tuần vừa qua. ------------ Xem thêm: Toàn cảnh kinh tế tuần 26/07 - 01/08/2015, http://vietbao.vn/Kinh-te/Toan-canh-kinh-te-tuan-2607-01082015/2147582459/47/ Tin nhanh Việt Nam ra thế giới vietbao.vn