Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Toán tử trong C là gì? Các toán tử trong C được dùng như thế nào? Hãy cùng nhau tìm hiểu nhé!

Toán tử là một ký hiệu cho trình biên dịch thực hiện các hàm toán học hoặc logic cụ thể. Theo định nghĩa, toán tử thực hiện một phép toán nhất định trên các toán hạng. Một toán tử cần một hoặc nhiều toán hạng để thực hiện phép toán.
Tùy thuộc vào số lượng toán hạng cần thiết để thực hiện phép toán, toán hạng được gọi là toán tử một ngôi, nhị phân hoặc tam phân. Chúng cần một, hai hoặc ba toán hạng tương ứng.
Ngôn ngữ C có nhiều toán tử tích hợp và cung cấp các loại toán tử sau −
Ở bài viết này, hãy cùng nhau tìm hiểu cách thức hoạt động của từng toán tử trong lập trình C nhé!
Toán tử trong C có thể được định nghĩa là ký hiệu giúp chúng ta thực hiện một số phép tính toán học, quan hệ, có điều kiện hoặc logic cụ thể trên các giá trị và biến. Những giá trị và biến được sử dụng với toán tử được gọi là toán hạng. Vì vậy, chúng ta có thể nói rằng toán tử là các ký hiệu thực hiện các phép toán trên toán hạng.
Ví dụ: c = a + b;
Ở đây, ‘+’ là toán tử được gọi là toán tử cộng, và ‘a’ và ‘b’ là toán hạng. Toán tử cộng yêu cầu trình biên dịch cộng cả hai toán hạng ‘a’ và ‘b’.
Mặc dù toán tử + thường được dùng để cộng hai giá trị với nhau, như ở ví dụ trên, nó cũng có thể được dùng để kết hợp một biến và một giá trị hoặc hai biến. Ví dụ:
int sum1 = 100 + 50; // 150 (100 + 50) int sum2 = sum1 + 250; // 400 (150 + 250) int sum3 = sum2 + sum2; // 800 (400 + 400)
C chia toán tử thành các nhóm sau:
C có hàng loạt toán tử cho bạn thực hiện những phép toán hay phương trình khác nhau. Dưới đây là những điều bạn cần biết về cách triển khai toán tử trong ngôn ngữ lập trình C.
Bài hướng dẫn sẽ giải thích toán tử số học, quan hệ, logic, so sánh bit, gán và các toán tử khác, từng loại một.
Bảng dưới đây chỉ ra tất cả các toán tử số học được hỗ trợ bởi ngôn ngữ C. Giả sử biến A có giá trị 10 và biến B có giá trị 20:
| Toán tử | Mô tả | Ví dụ |
|---|---|---|
| + | Thêm hai toán hạng | A + B sẽ cho kết quả là 30 |
| - | Trừ giá trị toán hạng hai từ toán hạng đầu | A - B sẽ cho kết quả là -10 |
| * | Nhân hai toán hạng | A * B sẽ cho kết quả là 200 |
| / | Chia lấy phần nguyên hai toán hạng | B / A sẽ cho kết quả là 2 |
| % | Chia lấy phần dư | B % A sẽ cho kết quả là 0 |
| ++ | Lượng gia giá trị toán hạng thêm 1 đơn vị | A++ sẽ cho kết quả là 11 |
| -- | Lượng giảm giá trị toán hạng một đơn vị | A-- sẽ cho kết quả là 9 |
Bảng dưới đây chỉ ra tất cả các toán tử quan hệ được hỗ trợ bởi ngôn ngữ C. Giả sử rằng biến A có giá trị 10 và biến B có giá trị 20, ta có:
| Toán tử | Mô tả | Ví dụ |
|---|---|---|
| == | Kiểm tra nếu 2 toán hạng bằng nhau hay không. Nếu bằng thì điều kiện là true. | (A == B) là không đúng. |
| != | Kiểm tra 2 toán hạng có giá trị khác nhau hay không. Nếu không bằng thì điều kiện là true. | (A != B) là true. |
| > | Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn toán hạng bên phải hay không. Nếu lớn hơn thì điều kiện là true. | (A > B) là không đúng. |
| < | Kiểm tra nếu toán hạng bên trái nhỏ hơn toán hạng bên phải hay không. Nếu nhỏ hơn thì là true. | (A < B) là true. |
| >= | Kiểm tra nếu toán hạng bên trái có giá trị lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không. Nếu đúng là true. | (A >= B) là không đúng. |
| <= | Kiểm tra nếu toán hạng bên trái có giá trị nhỏ hơn hoặc bằng toán hạng bên phải hay không. Nếu đúng là true. | (A <= B) là true. |
Bảng dưới đây chỉ rõ tất cả các toán tử logic được hỗ trợ bởi ngôn ngữ C. Giả sử biến A có giá trị 1 và biến B có giá trị 0:
| Toán tử | Mô tả | Ví dụ |
|---|---|---|
| && | Được gọi là toán tử logic AND (và). Nếu cả hai toán tử đều có giá trị khác 0 thì điều kiện trở lên true. | (A && B) là false. |
| || | Được gọi là toán tử logic OR (hoặc). Nếu một trong hai toán tử khác 0, thì điều kiện là true. | (A || B) là true. |
| ! | Được gọi là toán tử NOT (phủ định). Sử dụng để đảo ngược lại trạng thái logic của toán hạng đó. Nếu điều kiện toán hạng là true thì phủ định nó sẽ là false. | !(A && B) là true. |
Toán tử so sánh bit làm việc trên đơn vị bit, tính toán biểu thức so sánh từng bit. Bảng dưới đây về &, |, và ^ như sau:
| p | q | p & q | p | q | p ^ q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
Giả sử nếu A = 60; và B = 13; thì bây giờ trong định dạng nhị phân chúng sẽ là như sau:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A = 1100 0011
Các toán tử so sánh bit được hỗ trợ bởi ngôn ngữ C được liệt kê trong bảng dưới đây. Giá sử ta có biến A có giá tri 60 và biến B có giá trị 13, ta có:
| Toán tử | Mô tả | Ví dụ |
|---|---|---|
| & | Toán tử AND (và) nhị phân sao chép một bit tới kết quả nếu nó tồn tại trong cả hai toán hạng. | (A & B) sẽ cho kết quả là 12, tức là 0000 1100 |
| | | Toán tử OR (hoặc) nhị phân sao chép một bit tới kết quả nếu nó tồn tại trong một hoặc hai toán hạng. | (A | B) sẽ cho kết quả là 61, tức là 0011 1101 |
| ^ | Toán tử XOR nhị phân sao chép bit mà nó chỉ tồn tại trong một toán hạng mà không phải cả hai. | (A ^ B) sẽ cho kết quả là 49, tức là 0011 0001 |
| ~ | Toán tử đảo bit (đảo bit 1 thành bit 0 và ngược lại). | (~A ) sẽ cho kết quả là -61, tức là 1100 0011. |
| << | Toán tử dịch trái. Giá trị toán hạng trái được dịch chuyển sang trái bởi số các bit được xác định bởi toán hạng bên phải. | A << 2 sẽ cho kết quả 240, tức là 1111 0000 (dịch sang trái hai bit) |
| >> | Toán tử dịch phải. Giá trị toán hạng trái được dịch chuyển sang phải bởi số các bit được xác định bởi toán hạng bên phải. | A >> 2 sẽ cho kết quả là 15, tức là 0000 1111 (dịch sang phải hai bit) |
Đây là những toán tử gán được hỗ trợ bởi ngôn ngữ C:
| Toán tử | Mô tả | Ví dụ |
|---|---|---|
| = | Toán tử gán đơn giản. Gán giá trị toán hạng bên phải cho toán hạng trái. | C = A + B sẽ gán giá trị của A + B vào trong C |
| += | Thêm giá trị toán hạng phải tới toán hạng trái và gán giá trị đó cho toán hạng trái. | C += A tương đương với C = C + A |
| -= | Trừ đi giá trị toán hạng phải từ toán hạng trái và gán giá trị này cho toán hạng trái. | C -= A tương đương với C = C - A |
| *= | Nhân giá trị toán hạng phải với toán hạng trái và gán giá trị này cho toán hạng trái. | C *= A tương đương với C = C * A |
| /= | Chia toán hạng trái cho toán hạng phải và gán giá trị này cho toán hạng trái. | C /= A tương đương với C = C / A |
| %= | Lấy phần dư của phép chia toán hạng trái cho toán hạng phải và gán cho toán hạng trái. | C %= A tương đương với C = C % A |
| <<= | Dịch trái toán hạng trái sang số vị trí là giá trị toán hạng phải. | C <<= 2 tương đương với C = C << 2 |
| >>= | Dịch phải toán hạng trái sang số vị trí là giá trị toán hạng phải. | C >>= 2 tương đương với C = C >> 2 |
| &= | Phép AND bit | C &= 2 tương đương với C = C & 2 |
| ^= | Phép OR loại trừ bit | C ^= 2 tương đương với C = C ^ 2 |
| |= | Phép OR bit. | C |= 2 tương đương với C = C | 2 |
Có một số toán tử hỗn hợp quan trọng là sizeof và ? : được hỗ trợ bởi ngôn ngữ C.
| Toán tử | Mô tả | Ví dụ |
|---|---|---|
| sizeof() | Trả lại kích cỡ của một biến | sizeof(a), với a là integer, thì sẽ trả lại kết quả là 4. |
| & | Trả lại địa chỉ của một biến. | &a; sẽ cho địa chỉ thực sự của biến a. |
| * | Trỏ tới một biến. | *a; sẽ trỏ tới biến a. |
| ? : | Biểu thức điều kiện | Nếu điều kiện là true ? thì giá trị X : Nếu không thì giá trị Y |
Thứ tự ưu tiên toán tử trong C xác định cách biểu thức được tính toán. Ví dụ, toán tử nhân có quyền ưu tiên hơn toán tử cộng, và nó được thực hiện trước.
Ví dụ, x = 7 + 3 * 2; ở đây, x được gán giá trị 13, chứ không phải 20 bởi vì toán tử * có quyền ưu tiên cao hơn toán tử +, vì thế đầu tiên nó thực hiện phép nhân 3 * 2 và sau đó thêm với 7.
Bảng dưới đây liệt kê thứ tự ưu tiên của các toán tử. Các toán tử với quyền ưu tiên cao nhất xuất hiện trên cùng của bảng, và các toán tử có quyền ưu tiên thấp nhất thì ở bên dưới cùng của bảng. Trong một biểu thức, các toán tử có quyền ưu tiên cao nhất được tính toán đầu tiên.
| Loại | Toán tử | Thứ tự ưu tiên |
|---|---|---|
| Postfix | () [] -> . ++ - - | Trái sang phải |
| Unary | + - ! ~ ++ - - (type)* & sizeof | Phải sang trái |
| Tính nhân | * / % | Trái sang phải |
| Tính cộng | + - | Trái sang phải |
| Dịch chuyển | << >> | Trái sang phải |
| Quan hệ | < <= > >= | Trái sang phải |
| Cân bằng | == != | Trái sang phải |
| Phép AND bit | & | Trái sang phải |
| Phép XOR bit | ^ | Trái sang phải |
| Phép OR bit | | | Trái sang phải |
| Phép AND logic | && | Trái sang phải |
| Phép OR logic | || | Trái sang phải |
| Điều kiện | ?: | Phải sang trái |
| Gán | = += -= *= /= %=>>= <<= &= ^= |= | Phải sang trái |
| Dấu phảy | , | Trái sang phải |
Về cơ bản, toán tử hoạt động như các ký hiệu tác động lên bất kỳ biến hoặc giá trị nào. Chúng ta sử dụng chúng để thực hiện các phép toán khác nhau như số học, logic, quan hệ và nhiều phép toán khác. Một lập trình viên phải sử dụng toán tử khác nhau để hoàn thành một số loại phép toán nhất định. Do đó, mục đích quan trọng chính của toán tử là thực hiện các phép tính toán học và logic khác nhau. Các ngôn ngữ lập trình như C có tích hợp nhiều tính năng phong phú.
Ứng dụng của các toán tử này rất rộng rãi. Chúng là những tính năng rất mạnh mẽ và hữu ích cho tất cả các ngôn ngữ lập trình, và nếu không có chúng, chức năng của các ngôn ngữ đó gần như vô dụng. Chúng cho phép lập trình viên viết code dễ dàng và hiệu quả.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Tại sao nên dùng AI để tạo bài thuyết trình?
Cách dùng Perplexity làm trợ lý mua sắm cá nhân
Gmail Live: Tìm và quản lý email bằng giọng nói
TOP nguồn prompt ChatGPT chất lượng và đa dạng
Cách gợi ý lịch hẹn bằng Gemini trong Gmail
Cách tạo và xuất file Microsoft Office trực tiếp từ Gemini
8 cách sử dụng ChatGPT cho SEO thật sự thiết thực
Cách xây dựng workflow thực tế cho mạng xã hội bằng ChatGPT
Templates trong ChatGPT là gì? Hướng dẫn sử dụng chi tiết Templates
Kimi Code vs Claude Code: Đâu là công cụ AI lập trình tốt hơn?
Làm sạch và chuẩn bị dữ liệu bảng tính với AI
Sử dụng hàm VLOOKUP, INDEX/MATCH và các kỹ thuật tra cứu nâng cao với AI
Cách sử dụng Claude Cowork để tự động kiểm tra và cải thiện kỹ năng làm việc với AI
Cách chế độ Voice Mode của ChatGPT giúp bạn hoàn thiện một ý tưởng mới
Hướng dẫn dùng plugin Remotion trên ChatGPT tạo video
Pivot Table và tóm tắt dữ liệu bảng tính với AI
Hướng dẫn thiết kế logo động bằng LogoAI
TOP các khóa học AI miễn phí có cấp chứng chỉ đáng tham gia
7 cách ứng dụng Gemini giúp sinh viên học tập hiệu quả
12 mẹo viết prompt tốt hơn cho Claude
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
8 ứng dụng Microsoft Store miễn phí giúp Windows tốt hơ
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows