Trong toán học, một toán tử [tiếng Anh operator, phân biệt với operation - phép toán] là một hàm, thông thường có một vai trò quan trọng trong một lĩnh vực nào đấy. Chẳng hạn trong đại số tuyến tính có “toán tử tuyến tính” [linear operator]. Trong giải tích có “toán tử vi phân” [differential operator]… Thông thường, một “toán tử” là một hàm tác động lên các hàm khác; hoặc nó có thể là tổng quát hóa của một hàm, như trong đại số tuyến tính.
Các kiểu toán tử trong C:
- Toán tử số học
- Toán tử quan hệ
- Toán tử logic
- Toán tử so sánh bit
- Toán tử gán
- Toán tử hỗn hợp
Toán tử số học
Giả sử khai báo: int A=5, B=6; float C=1.2;
Toán tửMiêu tảVí dụ+`Cộng 2 toán hạngA + B sẽ cho kết quả là 11
-Trừ 2 toán hạngA - B sẽ cho kết quả là -1
*Nhân 2 toán hạngA * B sẽ cho kết quả là 30
/Chia 2 toán hạngB / A sẽ cho kết quả là 0 [2 toán hạng đều là số nguyên thì kết quả là phần nguyên của thương] A / C sẽ cho kết quả là 4.166667 [1 trong 2 toán hạng là số thực dấu phẩy động thì thương là số thực dấu phẩy động]
%`Chia lấy phần dưB % A sẽ cho kết quả là 1
Toán tử so sánh[quan hệ]: Trả về giá trị là true [đúng] hoặc false [sai]
int A=5, B=6;
`
include
int main[void] { int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0; }
0 [nhỏ hơn]
include
int main[void] { int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0; }
1 -> true
`
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
2 [nhỏ hơn hoặc bằng]
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
3 -> true`
include
int main[void] { int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0; }
4 [lớn hơn]
include
int main[void] { int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0; }
5 -> false
`
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
6 [lớn hơn hoặc bằng]
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
7 -> false`
include
int main[void] { int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0; }
8 [bằng]
include
int main[void] { int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0; }
9 -> false
`
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
0 [khác]
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
1 -> trueToán tử logic: Trả về giá trị là true [đúng] hoặc false [sai]
Trong ngôn ngữ C, 2 trạng thái true[đúng] và false[sai] được biểu diễn bởi các số nguyên int:
- Số 0 biểu diễn cho trạng thái false [sai].
- Tất cả các số nguyên khác 0 biểu diễn cho trạng thái true [đúng].
Các toán tử logic:
`
include
int main[void] { int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0; }
2 [and] trả về true khi cả 2 toán hạng đều đúng. Ngược lại trả về false.
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
3 -> true
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
4 -> false
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
5 -> false
`
# include
int main[void]
{
int a = 5, c;
float b = 6;
c = a % [int]b;
printf["%d", c];
return 0;
}
6 [or] trả về true khi ít nhất một trong 2 toán hạng đúng. Ngược lại trả về false.
3 -> trueinclude
int main[void] {
}int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0;
4 -> trueinclude
int main[void] {
}int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0;
include
int main[void] {
}int a = 5, c; float b = 6; c = a % [int]b; printf["%d", c]; return 0;
5 -> false
- `int A=5, B=6; float C=1.2;`0 [not] trả về true khi toán hạng [đằng sau dấu `int A=5, B=6; float C=1.2;`0 sai]. Ngược lại trả về false.
- `int A=5, B=6; float C=1.2;`2 -> true
- `int A=5, B=6; float C=1.2;`3 -> false
Toán tử thao tác trên bit
- `int A=5, B=6; float C=1.2;`4 [and bit]
- `int A=5, B=6; float C=1.2;`5 [or bit]
- `int A=5, B=6; float C=1.2;`6 [phủ định]
- `int A=5, B=6; float C=1.2;`7 [dịch bit sang phải]
- `int A=5, B=6; float C=1.2;`8 [dịch bit sang trái]
Toán tử gán
Sử dụng dấu `int A=5, B=6; float C=1.2;`9 cho việc gán giá trị vào biến.
Ví dụ:
int a,b,c;
int main[void]
{
a = 5; // Gán cho a giá trị là 5
c = b = a; // Gán cho b và c giá trị bằng giá trị của a
return 0;
}
Các toán tử gán mở rộng:
Toán tửVí dụTương đương với`+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
*0
*1
*2
*3
*4
*5
*6
*7
*8
*`9
Toán tử tăng giảm
- `/`0 là toán tử tăng
/`1 tương đương với
/`2
- `/`3 là toán tử giảm
/`4 tương đương với
/`5
- Có 2 cách viết
/`1 và
/`7 nhưng ý nghĩa của chúng khác nhau:- `/`1 thì i được tăng trước sau đó sẽ lấy kết quả để thực hiện biểu thức
- `/`7 thì i được đưa vào thực hiện biểu thức trước sau đó mới tăng i lên.
Một số toán tử khác
Toán tửMiêu tảVí dụ%`0Trả lại kích cỡ của một biến
%1, với a là integer, thì sẽ trả lại kết quả là 4.`int A=5, B=6; float C=1.2;`4Trả lại địa chỉ của một biến.
%3 sẽ cho địa chỉ thực sự của biến a.
*Trỏ tới một biến.
%5 sẽ trỏ tới biến a.
%6Biểu thức điều kiệnNếu điều kiện đúng ? thì trả về giá trị X : Nếu không thì trả về giá trị Y
%7Ước lượng giá trị toán hạng 1, ước lượng giá trị toán hạng 2 và trả về giá trị toán hạng 2 là giá trị cuối cùng
%`8 sẽ gán giá trị x