Bài học bây giờ sẽ giới thiệu tới các bạn cách triển khai các phép toán vào C, các toán tử để xử lý dữ liệu nữa.

Bạn đang xem: Phép chia lấy phần dư trong c


1. Toán tử toán học

Ngôn ngữ C cung ứng 5 toán tử toán học tập cơ bản

STTToán tử
Tên
Ví dụ
Kết quả
1+Cộng3 + 47
2Trừ10.5 – 37.5
3*Nhân3 * 26
4/Chia6 / 32
5%Chia rước dư8 % 32

Ok. Tiếng thử làm ví dụ:

#include int main() int a = 5, b = 7; double c = 4.5, d = 6; printf("%d + %f = %f ", a, c, a + c); printf("%d - %d = %d ", a, b, a - b); printf("%d * %f = %f ", b, d, b * d); /* Luu y phep phân chia nhe*/ printf("%d / %d = %d ", b, a, b / a); printf("%f / %d = %f ", c, a, c / a); printf("%f / %f = %f ", c, d, c / d); printf("%d %% %d = %d ", b, a, b % a); return 0;Kết quả:

5 + 4.500000 = 9.500000 5 – 7 = -2 7 * 6.000000 = 42.000000 7 / 5 = 1 4.500000 / 5 = 0.900000 4.500000 / 6.000000 = 0.750000 7 % 5 = 2

Toán tử rước phần dư (%) yêu cầu cả hai toán hạng là số nguyên. Nó trả về phần dư còn sót lại của phép chia. Lấy ví dụ như 7 % 5 được tính toán bằng cách chia số nguyên 7 mang đến 5 để được 1 và phần dư là 2; chính vì như vậy kết trái là 2.

Thông thường, nếu như cả nhì toán hạng là số nguyên sau đó hiệu quả sẽ là một vài nguyên. Mặc dù nhiên, một hoặc cả nhị toán hạng là số thực thì sau đó hiệu quả sẽ là một trong những thực.

Khi cả nhì toán hạng của toán tử phân chia là số nguyên thì tiếp đến phép phân chia được tiến hành như là 1 trong phép chia số nguyên và chưa phải là phép chia thông thường mà họ sử dụng. Phép phân chia số nguyên luôn cho tác dụng là phần nguyên của thương. Ví dụ: 7 / 5 = 1 chứ không hẳn 7 / 5 = 1.4. Để hạn chế lỗi này thì ta rất có thể chuyển một số trong những hoặc cả 2 số sang kiểu thực rồi thực hiện phép chia. Biện pháp chuyển dạng hình (hay ép kiểu) ta như sau:

(kiểu đề xuất chuyển) biến. VD: (float) a;

Lưu ý khi ép kiểu chũm này thì kiểu của các biến ban sơ không đổi khác mà chỉ cần giá trị tức tốc (tại thời điểm đó biến hóa sang vẻ bên ngoài mới). Để giữ giàng giá trị tức thời này bạn phải khai báo thêm một trở nên mới có kiểu bắt buộc chuyển với gán quý giá đó lại. Ví dụ đến dễ.

#include int main() int a = 5, b = 7; double c; printf("%d / %d = %d ", b, a, b / a); /* Chuyen gia tri tuc thoi cua b quý phái kieu so thuc*/ printf("%d / %d = %f ", b, a, (double)b / a); /* Chuyen gia tri tuc thoi cua a sang trọng kieu so thuc*/ printf("%d / %d = %f ", b, a, b / (double)a); /* Neu lam the nay thi van khong dung, vi b/a duoc so nguyen * sau do thông thường ta moi ep kieu so nguyen vị sang so thuc */ printf("%d / %d = %f ", b, a, (double)(b / a)); return 0;Kết quả:

7 / 5 = 1 7 / 5 = 1.400000 7 / 5 = 1.400000 7 / 5 = 1.000000

2. Toán tử quan liêu hệ

Ngôn ngữ C hỗ trợ 6 toán tử quan hệ để so sánh những số. Các toán tử quan tiền hệ có giá trị 1 (khi kết quả đúng) hoặc 0 (khi tác dụng sai).

STTToán tử
Tên
Ví dụ
Kết quả
1==So sánh bằng5 == 51
2!=So sánh khác5 != 50
3>So sánh phệ hơn5 > 41
4=So sánh lơn hơn hoặc bằng5 >= 41
6

Chúng ta sử dụng những toán tử này nhằm so sánh những giá trị, những ký tự,… tuy nhiên không so sánh những xâu cùng với nhau vì vấn đề này sẽ dẫn mang đến các add của chuỗi được so sánh chứ chưa hẳn là ngôn từ chuỗi. Chúng ta có các hàm so sánh xâu sống thư viện string cùng sẽ mày mò sau. Khi so sánh các ký từ với nhau thì bản chất ta có thể hiểu là thiết bị so sánh các mã ASCII của các ký tự với nhau. VD. ‘A’ >’B’ đã trả về quý hiếm 0 vì ‘A’ có mã ASCII là 65 còn ‘B’ là 66.

3. Toán tử luận lý


C cung cấp 3 toán tử luận lý cho việc kết nối những biểu thức luận lý. Giống hệt như các toán tử quan liêu hệ, các toán tử luận lý có mức giá trị là 1 trong hoặc 0.

STTToán tử
Tên
Ví dụ
Kết quả
1!Phủ định! (5 > 4)0
2&&5 > 4 && 5 > 60
3||Hoặc5 > 4 || 5 > 61

4. Toán tử tăng giảm

Các toán tử tăng một (++) và bớt một (- -) cung ứng các tiện lợi tương ứng cho việc cộng thêm 1 vào một đổi mới số tốt trừ đi 1 từ một biến số.

#include int main() int i, k; i = 5; k = i++; printf("i = %d, k = %d ", i, k); i = 5; k = ++i; printf("i = %d, k = %d ", i, k); i = 5; k = i--; printf("i = %d, k = %d ", i, k); i = 5; k = --i; printf("i = %d, k = %d ", i, k); return 0;Kết quả:

i = 6, k = 5 i = 6, k = 6 i = 4, k = 5 i = 4, k = 4

Tức là ta có:

++i và –i thì i được xem trước tiếp nối sẽ lấy tác dụng để triển khai biểu thức i++ với i– thì i được chuyển vào tiến hành biểu thức trước tiếp đến mới tính i

5. Toán tử gán

Toán tử gán được sử dụng để tàng trữ giá trị cho 1 biến làm sao đó.

Toán tử
Ví dụ
Tương đương với
=x = 5Gán 5 cho x
+=x += 5x = x + 5
-=x -= 5x = x – 5
*=x *= 5x = x * 5
/=x /= 5x = x / 5
%=x %= 5x = x % 5

Chạy test thử nhé.

#include int main() int x; x = 5; printf("x = 5 => x = %d ", x); x += 5; printf("x += 5 => x = %d ", x); x -= 5; printf("x -= 5 => x = %d ", x); x *= 5; printf("x *= 5 => x = %d ", x); x /= 5; printf("x /= 5 => x = %d ", x); return 0;Kết quả:

x = 5 => x = 5 x += 5 => x = 10 x -= 5 => x = 5 x *= 5 => x = 25 x /= 5 => x = 5

6. Một vài toán tử khác


6.1 Toán tử phẩy

Nhiều biểu thức rất có thể được liên kết vào cùng một biểu thức áp dụng toán tử phẩy. Toán tử phẩy yêu cầu 2 toán hạng. Đầu tiên nó mong lượng toán hạng trái sau đó là toán hạng phải, với trả về quý hiếm của toán hạng yêu cầu như là hiệu quả sau cùng.Ví dụ:

#include int main() int m, t; m = (t =2, t*5 + 10); printf("t = %d, m = %d ", t, m); return 0;Kết quả:

t = 2, m = 20

6.2 Toán tử rước kích thước

C cung ứng toán tử hữu dụng, sizeof, để đo lường và tính toán kích thước của ngẫu nhiên hạng mục tài liệu hay kiểu tài liệu nào. Nó yêu ước một toán hạng duy nhất hoàn toàn có thể là tên dạng hình (ví dụ, int) hay là một biểu thức (ví dụ, 100) cùng trả về kích cỡ của hồ hết thực thể đã hướng dẫn và chỉ định theo byte. Thử nghiệm ví dụ nhá. Toán tử này chúng ta đã có tác dụng quen ở vị trí Kiểu dữ liệu rồi.

Chạy ví dụ test thử:

#include int main() printf("char kích thước = %d byte ", sizeof(char)); printf("short form size = %d byte ", sizeof(short)); printf("int form size = %d byte ", sizeof(int)); printf("long kích cỡ = %d byte ", sizeof(long)); printf("float kích thước = %d byte ", sizeof(float)); printf("double kích cỡ = %d byte ", sizeof(double)); printf("1.55 form size = %d byte ", sizeof(1.55)); printf(""Hello" form size = %d byte ", sizeof("Hello")); return 0;Kết quả:

char kích cỡ = 1 byte short size = 2 byte int size = 4 byte long size = 8 byte float kích cỡ = 4 byte double form size = 8 byte 1.55 size = 8 byte “Hello” form size = 6 byte

7. Độ ưu tiên của những toán tử

Độ ưu tiên các toán tử được triển khai từ bên trên xuống bên dưới theo bảng sau. Trong những hàng lại sở hữu độ ưu tiên như ở cột sản phẩm công nghệ 3.

Loại
Toán tử
Thứ trường đoản cú ưu tiên
Postfix() <> -> . ++ – –Trái thanh lịch phải
Unary+ – ! ~ ++ – – (type)* & sizeofPhải quý phái trái
Tính nhân* / %Trái quý phái phải
Tính cộng+ –Trái lịch sự phải
Dịch chuyển>Trái quý phái phải
Quan hệ >=Trái quý phái phải
Cân bằng== !=Trái lịch sự phải
Phép & bit&Trái thanh lịch phải
Phép XOR bit^Trái sang phải
Phép OR bit|Trái quý phái phải
Phép & logic&&Trái quý phái phải
Phép OR logic||Trái lịch sự phải
Điều kiện?:Phải thanh lịch trái
Gán= += -= *= /= %=>>=

Bài tập

Viết lịch trình nhập vào số giây, thay đổi số giây nhập vào thành dạng “gio:phut:giay”, mỗi thành phần là một trong những nguyên tất cả 2 chữ số. VD nhập vào 7826 thì in ra 02:10:26

Cho thay đổi x = 3; ko chạy chương trình, đoán xem giá trị của x sau thời điểm thực hiện lệnh: x = ++x – 3 + x; sau khoản thời gian đoán xong xuôi thì thử viết lịch trình để soát sổ kết quả.

Chúng ta cùng mang lại với bài xích học tiếp theo trong khóa học lập trình C++ trực tuyến đường hướng thực hành.Bạn vẫn xem: chia lấy phần dư vào c

Bạn sẽ xem: Phép chia lấy phần dư trong c

Trong bài học hôm nay, chúng ta sẽ học phương pháp sử dụng những phép toán cơ phiên bản như phép cộng, trừ, nhân, chia, chia lấy phần dư, căn bậc 2, lũy thừa, cực hiếm tuyệt đối, ... áp dụng trên các kiểu dữ liệu số cơ bản (int, float, double ...).

Ngôn ngữ C++ đã khái niệm sẵn một số trong những toán tử toán học cơ bạn dạng cho các phép tính thịnh hành (+, -, *, /, ...), một số trong những phép toán phức tạp hơn hoàn toàn như căn bậc 2, lũy thừa, ... Chưa có toán tử được định nghĩa, vì chưng thế chúng ta sẽ thực hiện thêm tủ sách cmath để tính tác dụng các phép toán trên.

Các toán tử toán học sẽ được định nghĩa trong C++

Các toán tử toán học tập được chia thành hai loại: Toán tử một ngôi (unary operators) cùng toán tử hai ngôi (binary operators).

Toán tử một ngôi (unary operators) là toán tử chỉ đi cùng rất một toán hạng để sản xuất thành biểu thức tất cả nghĩa.Toán tử nhì ngôi (binary operators) là toán tử thường được sử dụng kèm với nhị toán hạng để chế tạo ra thành một biểu thức có nghĩa.

Trong ngữ điệu lập trình C++, một toán hạng rất có thể là một cực hiếm hoặc một trở nên (variable).

Toán tử một ngôi

Có hai toán tử một ngôi trong C++:


*

Sử dụng toán tử cùng một ngôi trước một quý giá thì kết quả trả về quý giá dương, ngược lại, ta nhận giá tốt trị âm. Ví dụ:


*

Chạy lại lịch trình trên cùng nhập từ bàn phím vào một trong những giá trị âm, ta được kết quả:


*

Giá trị thuở đầu nhập vào là -100. Khi thực hiện toán tử một ngôi, ta viết lại như sau:

+(-100) = -100

-(-100) = 100

Toán tử hai ngôi

Ngôn ngữ C++ khái niệm cho họ 5 toán tử toán học hai ngôi như bảng mặt dưới:


*

Phép toán Modulus (%) tức là thực hiện phép phân tách hai số tuy thế chỉ rước phần dư. Phép toán Modulus (%) chỉ có thể chấp nhận được thực hiện nay với hai quý giá số nguyên.

Chúng ta thuộc viết một lịch trình in ra kết quả của các phép toán thực hiện toán tử nhì ngôi trong C++:


*

Chạy công tác trên, nhập vào giá trị đến x là 9, nhập giá trị mang đến y là 5 cùng xem kết quả.

Chương trình cho kết quả của các biểu thức như ước ao đợi, ngoại trừ hiệu quả của phép phân chia (/).

Khi tiến hành tính giá trị biểu thức 9 / 5 trong toán học, bọn họ được hiệu quả là 1.8, nhưng vày kiểu tài liệu của nhì biến bọn họ sử dụng là int (kiểu số nguyên) nên công dụng cũng trả về một quý giá số nguyên (bị mất phần thập phân).

Để giải quyết vấn đề này họ có nhị cách:

Sử dụng kiểu dữ liệu số thực (float, double, ...) đến biến.Ép kiểu.Sử dụng static_cast để tiến hành phép phân tách hai số nguyên

Sử dụng static_cast là một cách để ép kiểu dữ liệu trong C++. Ép kiểu sẽ khởi tạo ra một giá trị xuất phát điểm từ một giá trị bao gồm kiểu tài liệu khác.

Cú pháp sử dụng static_cast:

static_cast(expression)static_cast rất có thể nhận một biểu thức làm đầu vào, gửi nó thành bất cứ kiểu dữ liệu cơ bạn dạng gì mà lại new_type mô tả.

Các chúng ta cùng coi ví dụ bên dưới để rõ hơn về cách sử dụng static_cast

Để lấy quý giá kiểu float của thay đổi x, chúng ta viết static_cast(x). Trong chương trình trên, chỉ việc ép kiểu mang lại một trở nên x là đầy đủ để tiến hành phép chia trả về số thực.

Cùng xem hiệu quả chương trình:

Chúng ta đã nhận được được tác dụng đúng.

Có một lưu ý khi tiến hành phép chia hai số nguyên bao gồm chứa giá trị âm trong C++. Trước phiên bạn dạng C++11, compiler từ ý làm tròn lên hoặc xuống. Lấy một ví dụ -5 / 2 đã được hiệu quả là -3 hoặc -2 tùy vào giải pháp mà compiler làm cho tròn số.

Toán tử gán (assignment operator)

Phép gán cũng là giữa những toán tử toán học được C++ định nghĩa. Phép gán có chức năng đưa cực hiếm của một bé số, một biểu thức hoặc lấy cực hiếm của một vươn lên là khác để đưa vào đổi thay được gán.

Cú pháp thực hiện toán tử gán như sau:

= ;Biến được gán giá trị luôn luôn luôn nằm cạnh sát trái toán tử "=".

Riêng cùng với 5 dòng lệnh gán cuối cùng, bọn họ có một bí quyết viết tắt khác ngắn gọn hơn.

variable += 1;variable -= 1;variable *= 2;variable /= 2;variable %= 3;Cách cần sử dụng này có chân thành và ý nghĩa hoàn toàn như thể với bí quyết viết làm việc trên.

Ý nghĩa của các toán tử này các chúng ta cũng có thể tra sống bảng bên dưới:

Sử dụng thư viện cmath

Thư viện cmath định nghĩa cho chúng ta một số hàm thống kê giám sát và biến hóa toán học tập cơ bản. Để sử dụng thư viện này, các bạn chỉ buộc phải thêm loại

#include

tại phần khai báo tủ sách trong chương trình.

Một số hàm tính lũy thừa, số mũ:

Pow:

double pow (double base, double exponent);float pow (float base, float exponent);long double pow (long double base, long double exponent);Các chúng ta chưa cần được hiểu về kiểu cách khai báo hàm pow như trên. Về khía cạnh ý nghĩa, giá chỉ trị đầu tiên (base) được chuyển vào hàm pow là cơ số, quý hiếm thứ hai (exponent) là số mũ, giá trị trả về là lũy vượt cơ số base mũ exponent.

Ví dụ:

Các bạn cùng viết lấy một ví dụ trên vào Visual studio cùng chạy công tác để xem hiệu quả mà hàm pow trả về.

Sqrt:

double sqrt (double x);float sqrt (float x);long double sqrt (long double x);Phía bên trên là phần khai báo hàm sqrt trong tủ sách cmath, hàm này nhận vào trong 1 giá trị số thực (float, double, long double) với trả về giá trị là căn bậc 2 của quý hiếm mà chúng ta đưa vào.

Sau đây là ví dụ mẫu về phong thái sử dụng hàm sqrt để tính căn bậc 2:

Kết quả họ thu được như sau:

Một số hàm lượng giác

Cos:

double cos (double angle);float cos (float angle);long double cos (long double angle);Hàm cos nhận vào trong 1 giá trị số thực angle (đơn vị radian) thay mặt cho góc mà bạn có nhu cầu tính đường cosine, cùng trả về quý giá là cosine của góc angle đó.

Ví dụ như sau:

Sin:

double sin (double x);float sin (float x);long double sin (long double x);Hàm sin nhận vào một trong những giá trị số thực angle (đơn vị radian) thay mặt đại diện cho góc mà bạn muốn tính mặt đường sine, và trả về giá trị trên đường sine của góc angle đó.

Ví dụ mẫu:

Ngoài ra, chúng ta còn có khá nhiều hàm khác như tan, atan, ... đã có được định nghĩa bên phía trong thư viện cmath.

Một số hàm khác

Abs:

double abs (double x);float abs (float x);long double abs (long double x);Hàm abs sẽ nhận vào một trong những giá trị số thực x (kiểu float, double hoặc long double) cùng trả về giá bán trị tuyệt đối của x.

Các chúng ta cùng thử làm theo ví dụ mẫu để làm quen với cách thực hiện hàm abs.

Giá trị thuở đầu được khởi khiến cho biến x là -5.0, giá bán trị tuyệt vời nhất được trả về thông qua hàm abs là 5.0.

Do số lượng các hàm toán học được tư tưởng rất nhiều, đề nghị mình xin dẫn đường links hướng dẫn sử dụng những hàm trong tủ sách cmath nhằm các chúng ta có thể tiện tham khảo khi đề nghị thiết.

http://www.cplusplus.com/reference/cmath/

Tổng kết

Trong bài học kinh nghiệm hôm nay, chúng ta học giải pháp sử dụng các toán tử toán học trong C++, một số cách áp dụng phép gán (với toán tử ""=""), và một số trong những hàm hổ trợ đo lường và tính toán trong tủ sách cmath.

Xem thêm: Hot: cách đăng ký 3g viettel ngày 10k 1 ngày nhận ngay 5gb data

Mọi thắc mắc cần lời giải trong khóa đào tạo và huấn luyện này rất có thể được giải đáp bằng cách đặt câu hỏi tại diễn đàn diễn đàn.

www.tmec.edu.vn.com

Link Videos khóa học

https://www.udemy.com/c-co-ban-danh-cho-nguoi-moi-hoc-lap-trinh/learn/v4/overview