Các nhà khai thác trong C

Trong hướng dẫn này, bạn sẽ tìm hiểu về các toán tử khác nhau trong lập trình C với sự trợ giúp của các ví dụ.

Toán tử là một ký hiệu hoạt động trên một giá trị hoặc một biến. Ví dụ: + là một toán tử để thực hiện phép cộng.

C có một loạt các toán tử để thực hiện các hoạt động khác nhau.

C Toán tử số học

Một toán tử số học thực hiện các phép toán như cộng, trừ, nhân, chia, v.v. trên các giá trị số (hằng số và biến).

Nhà điều hành Ý nghĩa của Operator
+ cộng hoặc cộng một bậc
- phép trừ hoặc trừ một bậc
* phép nhân
/ sự phân chia
% phần còn lại sau khi phân chia (phân chia theo mô đun)

Ví dụ 1: Toán tử số học

 // Working of arithmetic operators #include int main() ( int a = 9,b = 4, c; c = a+b; printf("a+b = %d ",c); c = a-b; printf("a-b = %d ",c); c = a*b; printf("a*b = %d ",c); c = a/b; printf("a/b = %d ",c); c = a%b; printf("Remainder when a divided by b = %d ",c); return 0; )

Đầu ra

 a + b = 13 ab = 5 a * b = 36 a / b = 2 Còn lại khi a chia cho b = 1

Các nhà khai thác +, -*tính cộng, trừ, và nhân tương ứng như bạn có thể mong đợi.

Trong tính toán thông thường 9/4 = 2.25,. Tuy nhiên, đầu ra nằm 2trong chương trình.

Đó là vì cả hai biến a và b đều là số nguyên. Do đó, đầu ra cũng là một số nguyên. Trình biên dịch bỏ qua thuật ngữ sau dấu thập phân và hiển thị câu trả lời 2thay vì 2.25.

Toán tử modulo %tính phần còn lại. Khi nào a=9thì chia b=4cho thì dư là 1. Các %nhà điều hành chỉ có thể được sử dụng với số nguyên.

Giả sử a = 5.0, b = 2.0, c = 5d = 2. Sau đó, trong lập trình C,

 // Một trong các toán hạng là số dấu phẩy động a / b = 2,5 a / d = 2,5 c / b = 2,5 // Cả hai toán hạng đều là số nguyên c / d = 2

C Các toán tử tăng và giảm

Lập trình C có hai toán tử tăng ++và giảm --để thay đổi giá trị của một toán hạng (hằng hoặc biến) 1.

Số tăng ++làm tăng giá trị 1 trong khi --giảm giá trị giảm đi 1. Hai toán tử này là toán tử đơn phân, có nghĩa là chúng chỉ hoạt động trên một toán hạng duy nhất.

Ví dụ 2: Các toán tử tăng và giảm

 // Working of increment and decrement operators #include int main() ( int a = 10, b = 100; float c = 10.5, d = 100.5; printf("++a = %d ", ++a); printf("--b = %d ", --b); printf("++c = %f ", ++c); printf("--d = %f ", --d); return 0; )

Đầu ra

 ++ a = 11 --b = 99 ++ c = 11.500000 --d = 99.500000

Ở đây, các toán tử ++--được sử dụng làm tiền tố. Hai toán tử này cũng có thể được sử dụng làm hậu tố như a++a--. Hãy truy cập trang này để tìm hiểu thêm về cách các toán tử tăng và giảm hoạt động khi được sử dụng làm hậu tố.

C Người điều hành nhiệm vụ

Toán tử gán được sử dụng để gán giá trị cho một biến. Toán tử gán phổ biến nhất là=

Nhà điều hành Thí dụ Giống như
= a = b a = b
+ = a + = b a = a + b
- = a - = b a = ab
* = a * = b a = a * b
/ = a / = b a = a / b
% = a% = b a = a% b

Ví dụ 3: Các toán tử chuyển nhượng

 // Working of assignment operators #include int main() ( int a = 5, c; c = a; // c is 5 printf("c = %d", c); c += a; // c is 10 printf("c = %d", c); c -= a; // c is 5 printf("c = %d", c); c *= a; // c is 25 printf("c = %d", c); c /= a; // c is 5 printf("c = %d", c); c %= a; // c = 0 printf("c = %d", c); return 0; )

Đầu ra

 c = 5 c = 10 c = 5 c = 25 c = 5 c = 0

C Toán tử quan hệ

Một toán tử quan hệ kiểm tra mối quan hệ giữa hai toán hạng. Nếu quan hệ là true, nó trả về 1; nếu quan hệ là sai, nó trả về giá trị 0.

Các toán tử quan hệ được sử dụng trong việc ra quyết định và các vòng lặp.

Nhà điều hành Ý nghĩa của Operator Thí dụ
== Tương đương với 5 == 3 được đánh giá là 0
> Lớn hơn 5> 3 được đánh giá là 1
< Ít hơn 5 < 3 được đánh giá là 0
! = Không bằng 5 != 3 được đánh giá là 1
> = Lớn hơn hoặc bằng 5>= 3 được đánh giá là 1
<= Ít hơn hoặc bằng 5 <= 3 được đánh giá là 0

Ví dụ 4: Toán tử quan hệ

 // Working of relational operators #include int main() ( int a = 5, b = 5, c = 10; printf("%d == %d is %d ", a, b, a == b); printf("%d == %d is %d ", a, c, a == c); printf("%d> %d is %d ", a, b, a> b); printf("%d> %d is %d ", a, c, a> c); printf("%d < %d is %d ", a, b, a < b); printf("%d < %d is %d ", a, c, a = %d is %d ", a, b, a>= b); printf("%d>= %d is %d ", a, c, a>= c); printf("%d <= %d is %d ", a, b, a <= b); printf("%d <= %d is %d ", a, c, a <= c); return 0; )

Đầu ra

 5 == 5 là 1 5 == 10 là 0 5> 5 là 0 5> 10 là 0 5 <5 là 0 5 = 5 là 1 5> = 10 là 0 5 <= 5 là 1 5 <= 10 là 1 

C Toán tử lôgic

Biểu thức chứa toán tử logic trả về 0 hoặc 1 tùy thuộc vào kết quả biểu thức là đúng hay sai. Các toán tử logic thường được sử dụng trong việc ra quyết định trong lập trình C.

Nhà điều hành Ý nghĩa Thí dụ
&& Lôgic AND. Chỉ đúng nếu tất cả các toán hạng đều đúng Nếu c = 5 và d = 2 thì biểu thức ((c==5) && (d>5))bằng 0.
|| Logic HOẶC. Chỉ đúng nếu một trong hai toán hạng là đúng Nếu c = 5 và d = 2 thì biểu thức ((c==5) || (d>5))bằng 1.
! Không logic. Chỉ đúng nếu toán hạng là 0 If c = 5 then, expression !(c==5) equals to 0.

Example 5: Logical Operators

 // Working of logical operators #include int main() ( int a = 5, b = 5, c = 10, result; result = (a == b) && (c> b); printf("(a == b) && (c> b) is %d ", result); result = (a == b) && (c < b); printf("(a == b) && (c < b) is %d ", result); result = (a == b) || (c < b); printf("(a == b) || (c < b) is %d ", result); result = (a != b) || (c < b); printf("(a != b) || (c < b) is %d ", result); result = !(a != b); printf("!(a != b) is %d ", result); result = !(a == b); printf("!(a == b) is %d ", result); return 0; ) 

Output

 (a == b) && (c> b) is 1 (a == b) && (c < b) is 0 (a == b) || (c < b) is 1 (a != b) || (c < b) is 0 !(a != b) is 1 !(a == b) is 0 

Explanation of logical operator program

  • (a == b) && (c> 5) evaluates to 1 because both operands (a == b) and (c> b) is 1 (true).
  • (a == b) && (c < b) evaluates to 0 because operand (c < b) is 0 (false).
  • (a == b) || (c < b) evaluates to 1 because (a = b) is 1 (true).
  • (a != b) || (c < b) evaluates to 0 because both operand (a != b) and (c < b) are 0 (false).
  • !(a != b) evaluates to 1 because operand (a != b) is 0 (false). Hence, !(a != b) is 1 (true).
  • !(a == b) evaluates to 0 because (a == b) is 1 (true). Hence, !(a == b) is 0 (false).

C Bitwise Operators

During computation, mathematical operations like: addition, subtraction, multiplication, division, etc are converted to bit-level which makes processing faster and saves power.

Bitwise operators are used in C programming to perform bit-level operations.

Operators Meaning of operators
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
~ Bitwise complement
<< Shift left
>> Shift right

Visit bitwise operator in C to learn more.

Other Operators

Comma Operator

Comma operators are used to link related expressions together. For example:

 int a, c = 5, d;

The sizeof operator

The sizeof is a unary operator that returns the size of data (constants, variables, array, structure, etc).

Example 6: sizeof Operator

 #include int main() ( int a; float b; double c; char d; printf("Size of int=%lu bytes",sizeof(a)); printf("Size of float=%lu bytes",sizeof(b)); printf("Size of double=%lu bytes",sizeof(c)); printf("Size of char=%lu byte",sizeof(d)); return 0; )

Output

 Size of int = 4 bytes Size of float = 4 bytes Size of double = 8 bytes Size of char = 1 byte 

Nhà khai thác khác như nhà điều hành ternary ?:, nhà điều hành tài liệu tham khảo &, toán tử tham chiếu *và điều hành lựa chọn thành viên ->sẽ được thảo luận trong bài hướng dẫn sau.

thú vị bài viết...