Operator trong lập trình C cơ bản

Bài 5 : Operator trong lập trình C cơ bản

Chào các bạn đây là bài số 5, trong bài viết này mình sẽ chia sẻ cho các bạn về Operator trong lập trình C cơ bản.

Operator trong lập trình C cơ bản

Ở bài số 4, chúng ta tìm hiểu Variable scope, data type, Constants trong lập trình C cơ bản. Nếu các bạn chưa xem bài 4 thì xem lại tại đây nhé.

Trong phần này chúng ta chỉ đi tìm hiểu những cái nào cơ bản nhất, đơn giản nhất và thường hay dùng nhất thôi nhé

Operator (hay còn gọi là toán tử) là gì?

Operator (hay còn gọi là 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.

Toán tử giống như các phép tính cộng, trừ , nhân , chia của chúng ta.

Trong lập trình các toán tử để thực hiện các hoạt động khác nhau.

Chúng ta có thể cộng 2 số với nhau, hoặc công 2 biến với nhau, hoặc cộng một biến và một số

ví dụ :

int sum1 = 100 + 50; // 150 (100 + 50)
int sum2 = sum1 + 250; // 400 (150 + 250)
int sum3 = sum2 + sum2; // 800 (400 + 400)

Operator trong lập trình C cơ bản

Chúng ta có một nhóm toán tử khác nhau :

  • Arithmetic operators (Toán tử số học)
  • Comparison operators (Toán tử so sánh)
  • Logical operators (Toán tử logic)
  • Assignment operators (Toán tử gán)

Arithmetic operators (Toán tử số học)

Arithmetic operators (Toán tử số học) được sử dụng để thực hiện các phép toán thông thường.

hay nói cách khá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 số).

OperatorNameDescriptionExample
+CộngCộng 2 giá trị với nhaux + y
TrừTrừ 2 giá trị với nhaux – y
*NhânNhân 2 giá trị với nhaux * y
/Chia lấy phần nguyênChia 2 giá trị với nhau và lấy phần nguyênx / y
%Chia lấy phần dưChia 2 giá trị với nhau và lấy phần dưx % y
++TăngTăng giá trị của biến lên 1++x or x++
– –GiảmGiảm giá trị của biến xuống 1– -x or x- –

ví dụ : Arithmetic operators (Toán tử số học)

// Working of arithmetic operators
#include <stdio.h>
int main()
{
    int a = 9,b = 4, c;
    c = a+b;
    printf("a+b = %d \n",c);
    c = a-b;
    printf("a-b = %d \n",c);
    c = a*b;
    printf("a*b = %d \n",c);
    c = a/b;
    printf("a/b = %d \n",c);
    c = a%b;
    printf("Chia lay phan du by b = %d \n",c);

    return 0;
}

Kết quả

Các bạn có thấy phép tính của c = a / b không, nếu chung ta tính theo thông thường thì c = 9 / 4 = 2,25, tuy nhiên trong chương trình này thì nó sẽ tính ra c = 2

Các bạn có biết vì sao không, vì cái biến mà chúng ta khai báo có kiểu là kiều int (integer), nên nó là số nguyên, không có số thập phân.

Còn phép tính của c = a % b , trong chương trình thì kết quả của c = 9 % 4 = 1, bởi vì đây là phép tính lấy phần dư. Có nghĩa là bạn lấy 9 chia cho 4 thì bằng 2 và còn dư lại 1, thì kết quả nó sẻ là 1.

ví dụ : Toán tử tăng và toán tử giảm ( Increment and Decrement ).

Lập trình C cơ bản 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) bằng 1.

Toán tử tăng ++ có 2 cách sử dụng : ++a hoặc a++.

Toán tử giảm ++ cũng có 2 cách sử dụng : – – a hoặc a – -.

Vậy thì toán tử tăng ++a và a++ nó khác nhau như thế nào? và toán tử giảm – – a và a – – nó khác nhau như thế nào ?

++a là tăng biến a trước khi sử dụng.

a++ là tăng biến a sau khi sử dung.

– – a là giảm biến a trước khi sử dụng.

a – – là giảm biến a sau khi sử dung.

Bây giờ chúng ta làm ví dụ để hiểu hơn nhé.

#include <stdio.h>
{
    int a = 2; 
    int c = 2;
    int b;
    b = a++ ; /* b is 2, a is 3 */
    printf("b = a++ = %d \n",b);
    printf("a++ = %d \n",a);

    b = ++a ; /* b is 4, a is 4 */
    printf("b = ++a = %d \n",b);
    printf("++a = %d \n",a);

    b = c-- ; /* b is 2, c is 1 */
    printf("b = c-- = %d \n",b);
    printf("c-- = %d \n",c);
   
    b = --c ; /* b is 0, c is 0 */
    printf("b = --c = %d \n",b);
    printf("--c = %d \n",c);

    return 0;
}

Kết quả

Comparison operators (Toán tử so sánh)

Comparison operators (Toán tử so sánh) là gì?

Toán tử so sánh được sử dụng để so sánh hai giá trị, và nó sẽ trả về giá trị true (1) và false (0).

Chúng ta thường dùng bảng sau để so sanh hai giá trị với nhau.

Operator (toán tử)NameExample
==bằng nhaux == y
!=khác nhaux != y
>lớn hơnx > y
<nhỏ hơnx < y
>=lớn hơn hoặc bằngx >=y
<=nhỏ hơn hoặc bằngx <= y

ví dụ minh họa.

// Working of comparison operators
#include <stdio.h>
{
    int a = 5, b = 5, c = 10;

    printf("%d == %d is %d \n", a, b, a == b);
    printf("%d == %d is %d \n", a, c, a == c);
    printf("%d > %d is %d \n", a, b, a > b);
    printf("%d > %d is %d \n", a, c, a > c);
    printf("%d < %d is %d \n", a, b, a < b);
    printf("%d < %d is %d \n", a, c, a < c);
    printf("%d != %d is %d \n", a, b, a != b);
    printf("%d != %d is %d \n", a, c, a != c);
    printf("%d >= %d is %d \n", a, b, a >= b);
    printf("%d >= %d is %d \n", a, c, a >= c);
    printf("%d <= %d is %d \n", a, b, a <= b);
    printf("%d <= %d is %d \n", a, c, a <= c);

    return 0;
}

Kết quả

Giải thích chút về code bên trên.

Ta thấy 5 == 5 is 1, nghĩa là nó trả về true.

5 == 10 is 0 , nghĩa là nó trả về false.

Logical operators (Toán tử logic).

Logical operators (Toán tử logic) là gì ?

Toán tử logic được sử dụng để xác định logic giữa các biến hoặc giá trị. Toán tử logic sẽ trả về giá trị 0 hoặc 1 tùy theo kết quả của biểu thức là đúng hay sai.

Operator (toán tử)NameDescriptionExample
&&Logical andTrả về true nếu cả hai câu lệnh đều đúngx < 5 &&  x < 10
||Logical orTrả về true nếu một trong các câu lệnh là đúngx < 5 || x < 4
!Logical notĐảo ngược kết quả, trả về false nếu kết quả là true!(x < 5 && x < 10)

Ví dụ Logical Operators

// Working of logical operators
#include <stdio.h>
int main()
{
    int a = 5, b = 5, c = 10, result;

    result = (a == b) && (c > b);
    printf("(a == b) && (c > b) is %d \n", result);

    result = (a == b) && (c < b);
    printf("(a == b) && (c < b) is %d \n", result);

    result = (a == b) || (c < b);
    printf("(a == b) || (c < b) is %d \n", result);

    result = (a != b) || (c < b);
    printf("(a != b) || (c < b) is %d \n", result);

    result = !(a != b);
    printf("!(a != b) is %d \n", result);

    result = !(a == b);
    printf("!(a == b) is %d \n", result);

    return 0;
}

Kết quả :

Assignment operators (Toán tử gán)

Assignment operators (Toán tử gán) là gì ?

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

Dưới đây là những toán tử cơ bản và thường hay dùng nhất.

Operator (toán tử)ExampleSame As (Tương tự)
=x = 5x = 5
+=x += 3x = x + 3
-=x -= 3x = x – 3
*=x *= 3x = x * 3
/=x /= 3x = x / 3
%=x %= 3x = x % 3

ví dụ assignment operators (Toán tử gán).

// Working of assignment operators
#include <stdio.h>
int main()
{
    int a = 5, c;

    c = a;      // c is 5
    printf("c = %d\n", c);
    c += a;     // c is 10 
    printf("c = %d\n", c);
    c -= a;     // c is 5
    printf("c = %d\n", c);
    c *= a;     // c is 25
    printf("c = %d\n", c);
    c /= a;     // c is 5
    printf("c = %d\n", c);
    c %= a;     // c = 0
    printf("c = %d\n", c);

    return 0;
}

Kết quả:

Tổng kết

Qua bài viết này chúng ta cũng đã tìm hiểu về Operator trong lập trình C cơ bản. Phần này khá là quan trọng, Khi bạn lập trình thì chắc chắn bạn phải sử dụng operator này là rất thường.

Mình cũng đã tham khảo nhiều nguồn trên internet, và cố gắng chia sẻ cho các bạn mới những cái đơn giản và dễ hiểu nhất có thể.

Phần này trong quá trình học thì các bạn cũng sẽ làm đi làm lại nhiều lần các bạn sẽ dễ dàng biết cách sử dụng thôi.

Các bạn có cái nào chưa hiểu hay muốn đóng góp cho bài viết thì vui lòng comment bên dưới nhé.

Chúc các bạn thực hành thành công.

Xem video và làm theo ví dụ để hiểu hơn tại đây nhé:

Nguồn tham khảo :

  1. https://www.w3schools.com/c/c_operators.php
  2. https://www.programiz.com/c-programming/c-operators
  3. https://www.freecodecamp.org/news/the-c-beginners-handbook/#operators

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *