Bài 2_Phần 1_Các phép toán số học và một số hàm toán học trong C++ (Toán tử số học)
1. Các phép toán số học.
TT |
Phép toán |
Kí hiệu |
Ví dụ |
Kết quả |
---|---|---|---|---|
1 | Cộng | + | 9+4 | 13 |
2 | Trừ | - | 9-4 | 5 |
3 | Nhân | * | 9*4 | 36 |
4 | Chia (Số bị chia hoặc số chia phải là kiểu số thực) | / | 9.0/4 hoặc 9/4.0 | 2.25 |
5 | Chia lấy phần nguyên (Cả số bị chia và số chia phải là kiểu số nguyên) | / | 9/4 | 2 |
6 | Chia lấy phần dư (Cả số bị chia và số chia phải là kiểu số nguyên) | % | 9%4 | 1 |
7 | Tăng 1 đơn vị | ++ | a++ | Tức là: a=a+1 |
8 | Giảm 1 đơn vị | -- | a-- | Tức là: a=a-1 |
2. Một số hàm toán học.
TT |
Tên hàm |
Ý nghĩa |
Thư viện |
---|---|---|---|
1 | max(a,b) | Trả về giá trị lớn nhất trong hai số a, b | |
2 | min(a,b) | Trả về giá trị nhỏ nhất trong hai số a, b | |
3 | pow(x,y) | Trả về x mũ y | #include <math.h> |
4 | sqrt(x) | Trả về căn bậc 2 của x | #include <math.h> |
5 | cbrt(x) | Trả về căn bậc 3 của x | #include <math.h> |
6 | abs(x) | Trị tuyệt đối của số nguyên x | #include <math.h> |
7 | fabs(x) | Trị tuyệt đối của số thực x | #include <math.h> |
8 | hypot(x,y) | Trả về độ dài cạnh huyền của tam giác vuông có 2 cạnh góc vuông là x và y | #include <math.h> |
9 | gcd(a,b) | Trả về UCLN của hai số a và b. Nếu có số âm cần lấy trị tuyệt đối | #include <algorithm> |
3. Ví dụ 06 phép toán số học.
#include <iostream>
using namespace std;
int main()
{
cout << "9+4 = "<<9+4 << endl;
cout << "9-4 = "<<9-4 << endl;
cout << "9*4 = "<<9*4 << endl;
cout << "9/4 = "<<9.0/4 << endl;
cout << "9%4 = "<<9%4 << endl;
cout << "9/4 = "<<9/4 << endl;
return 0;
}
4. Ví dụ sử dụng một số hàm toán học.
#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
int main()
{
cout << "max(9,4) = "<<max(9,4) << endl;
cout << "min(9,4) = "<<min(9,4) << endl;
cout << "pow(9,4) = "<<pow(9,4) << endl;
cout << "sqrt(9) = "<<sqrt(9) << endl;
cout << "cbrt(27) = "<<cbrt(27) << endl;
cout << "abs(-8) = "<<abs(-8) << endl;
cout << "fabs(-8.53) = "<<fabs(-8.53) << endl;
cout << "hypot(3,5) = "<<hypot(3,5) << endl;
cout << "__gcd(8,-4) = "<<__gcd(8,-4) << endl;
cout << "abs(__gcd(8,-4)) = "<<abs(__gcd(8,-4)) << endl;
return 0;
}
- Cũng giống như trong toán học, chúng ta có nguyên tắc ưu tiên kinh điển là "nhân chia trước, cộng trừ sau". Trong lập trình cũng tương tự như vậy, chúng ta phải nắm được những thứ tự ưu tiên này để xác định cách thực hiện tính toán của biểu thức. Bảng dưới đây liệt kê thứ tự thực hiện các toán tử trong C, C++ với độ ưu tiên được xếp từ cao xuống thấp.
- Tương tự với nguyên tắc "nhân chia trước - cộng trừ sau", để thay đổi thứ tự ưu tiên trên một biểu thức, bạn có thể dùng dấu ngoặc đơn ().
- Ngôn ngữ C++ đã định nghĩa sẵn một số toán tử toán học cơ bản cho các phép tính thông dụng (+, -, *, /, ...), một số phép toán phức tạp hơn như căn bậc 2, lũy thừa, ... chưa có toán tử được định nghĩa, vì thế chúng ta sẽ sử dụng thêm thư viện math.h để tính kết quả các phép toán trên.
- Phép toán Modulus (%) có nghĩa là thực hiện phép chia hai số nhưng chỉ lấy phần dư. Phép toán Modulus (%) chỉ cho phép thực hiện với hai giá trị số nguyên.
- Đây là toán tử cơ bản nhất trong lập trình, toán tử số học là những phép toán cộng, trừ, nhân, chia cơ bản như trong toán học.
Bài viết này bởi Vàng Văn Quyn được cấp phép theo CC0 1.0