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

Bài viết này tôi sẽ chia sẻ với 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

Trong bài số 4, chúng ta sẽ cùng tìm hiểu về Variable scope, data type và Constants trong lập trình C cơ bản. Nếu bạn chưa xem bài số 4, hãy xem lại tại đây.

Chúng ta sẽ tìm hiểu những thứ cơ bản, đơn giản và thường được sử dụng trong phần này.

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

Công cụ rewrite tiếng Việt giúp viết lại đoạn văn Input để tạo ra câu chuyện sáng tạo hơn. Hãy nhập vào đoạn văn Input.

Một ví dụ điển hình là toán tử “+”, được sử dụng để thực hiện phép cộng.

Toán tử tương tự như các phép tính cộng, trừ, nhân, chia mà chúng ta sử dụng.

Trong lập trình, chúng ta sử dụng các toán tử để thực hiện các hoạt động khác nhau.

Có thể thực hiện phép cộng giữa hai số, hai biến hoặc một biến và một số.

Ví dụ:

Biến sum1 được khởi tạo với giá trị là tổng của 100 và 50, tức là 150 (100 + 50).Biến sum2 được khởi tạo với giá trị là tổng của sum1 và 250, tức là 400 (150 + 250).Biến sum3 được khởi tạo với giá trị là tổng của sum2 và sum2, tức là 800 (400 + 400).

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

Có một số nhóm toán tử khác nhau mà chúng ta có thể thấy:

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

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

    Nói một 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à nhiều phép toán khác trên các giá trị số, bao gồm cả hằng số và biến số.

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

    Ví dụ:Các 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 \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ả.

    Bạn có nhận thấy phép tính c = a / b không, nếu chúng ta tính theo cách thông thường thì c = 9 / 4 = 2.25, tuy nhiên trong chương trình này nó sẽ cho kết quả c = 2.

    Có thể bạn đã biết rằng, lý do tại sao chúng ta không thể có số thập phân trong biến kiểu int (số nguyên) là vì nó chỉ chứa các giá trị nguyên.

    Trong chương trình, phép tính c = a % b được sử dụng để tính toán phần dư. Ví dụ, nếu chúng ta lấy 9 chia cho 4, kết quả là 2 và phần dư là 1. Do đó, giá trị của c 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 sử dụng hai toán tử tăng ++ và giảm — để tăng/giảm giá trị của một toán hạng (hằng hoặc biến) lên 1.

    Có hai cách sử dụng toán tử tăng ++: ++a hoặc a++.

    Có hai cách sử dụng toán tử giảm ++: a– hoặc –a.

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

    Biến a được tăng trước khi sử dụng bằng cách sử dụng phép toán ++a.

    Sau khi sử dụng, biến a sẽ được tăng lên một đơn vị.

    Trước khi sử dụng, hãy giảm biến a.

    Sau khi sử dụng, giá trị của biến a sẽ giảm.

    Ví dụ sau sẽ giúp chúng ta hiểu rõ hơn.

    #include 
    {
     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ả.

    Các toán tử so sánh

    Các toán tử so sánh là gì?

    Công cụ rewrite tiếng Việt sẽ viết lại đoạn văn nhập vào để tạo ra một phiên bản sáng tạo hơn. Dưới đây là đoạn văn đã được viết lại:Toán tử so sánh có thể được dùng để đối chiếu giá trị của hai phần tử, và nó sẽ trả về true (1) hoặc false (0).

    Chúng ta thường sử dụng bảng dưới đây để so sánh hai giá trị với nhau.

    Operator (toán tử) Name Example
    == bằng nhau x == y
    != khác nhau x != y
    > lớn hơn x > y
    < nhỏ hơn x < y
    >= lớn hơn hoặc bằng x >=y
    <= nhỏ hơn hoặc bằng x <= y

    Ví dụ dưới đây sẽ minh họa công cụ rewrite tiếng Việt.

    // Working of comparison operators
    #include 
    {
     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ả.

    Bên dưới là một số lời giải thích về đoạn mã trên.

    5 == 5 trả về giá trị 1, tức là nó là đúng.

    Kết quả của phép tính 5 == 10 là 0, tức là nó trả về giá trị false.

    Toán tử logic (Logical operators).

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

    Toán tử logic được dùng để xác định mối quan hệ logic giữa các biến hoặc giá trị. Kết quả của biểu thức sẽ trả về giá trị 0 hoặc 1, tùy thuộc vào việc biểu thức đúng hay sai.

    Operator (toán tử) Name Description Example
    && Logical and Trả về true nếu cả hai câu lệnh đều đúng x < 5 && x < 10
    || Logical or Trả về true nếu một trong các câu lệnh là đúng x < 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ụ về toán tử logic.

    // 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 \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ả. :

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

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

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

    Dưới đây là những phép toán cơ bản và phổ biến nhất mà thường được sử dụng.

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

    Các toán tử gán (hay còn được gọi là toán tử gán giá trị) là những toán tử được sử dụng để gán giá trị của một biểu thức cho một biến.

    // Working of assignment operators
    #include 
    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

    Bài viết này giúp chúng ta hiểu về Operator trong lập trình C cơ bản. Phần này rất quan trọng, khi lập trình chắc chắn sẽ thường xuyên sử dụng operator này.

    Mình đã tìm hiểu rất nhiều thông tin trên internet và cố gắng chia sẻ những điều đơn giản và dễ hiểu nhất đến các bạn mới.

    Phần này trong quá trình học, các bạn sẽ thực hiện nhiều lần và từ đó dễ dàng nắm bắt cách sử dụng.

    Vui lòng để lại bình luận dưới đây nếu bạn có bất kỳ câu hỏi hoặc đóng góp nào cho bài viết.

    Mang đến thành công cho các bạn là điều tôi hy vọng.

    Hãy xem video và thực hiện theo ví dụ để có hiểu biết rõ hơn.

    Các nguồn tham khảo:

  • Https://www.W3schools.Com/c/c_operators.Php.
  • Https://www.Programiz.Com/c-programming/c-operators.