Lập trình máy tính - Toán tử

Toán tử trong ngôn ngữ lập trình là một ký hiệu cho trình biên dịch hoặc trình thông dịch thực hiện phép toán, quan hệ hoặc logic cụ thể và tạo ra kết quả cuối cùng. Chương này sẽ giải thích khái niệmoperators và nó sẽ đưa bạn qua các toán tử quan hệ và số học quan trọng có sẵn trong C, Java và Python.

Toán tử số học

Các chương trình máy tính được sử dụng rộng rãi để tính toán toán học. Chúng ta có thể viết một chương trình máy tính có thể thực hiện phép tính đơn giản như cộng hai số (2 + 3) và chúng ta cũng có thể viết một chương trình có thể giải một phương trình phức tạp như P (x) = x 4 + 7x 3 - 5x + 9. Nếu bạn thậm chí là một học sinh kém, bạn phải biết rằng trong biểu thức đầu tiên 2 và 3 là các toán hạng và + là một toán tử. Các khái niệm tương tự tồn tại trong Lập trình máy tính.

Hãy xem hai ví dụ sau:

2 + 3

P(x) = x4 + 7x3 - 5x + 9.

Hai câu lệnh này được gọi là biểu thức số học trong ngôn ngữ lập trình và plus, minusđược sử dụng trong các biểu thức này được gọi là toán tử số học và các giá trị được sử dụng trong các biểu thức này như 2, 3 và x, v.v., được gọi là toán hạng. Ở dạng đơn giản nhất của chúng, các biểu thức như vậy tạo ra kết quả số.

Tương tự, một ngôn ngữ lập trình cung cấp các toán tử số học khác nhau. Bảng sau liệt kê một vài toán tử số học quan trọng có sẵn trong ngôn ngữ lập trình C. Giả sử biến A giữ 10 và biến B giữ 20, thì -

Nhà điều hành Sự miêu tả Thí dụ
+ Thêm hai toán hạng A + B sẽ cho 30
- Trừ toán hạng thứ hai với toán hạng đầu tiên A - B sẽ cho -10
* Nhân cả hai toán hạng A * B sẽ cho 200
/ Chia tử số cho tử số B / A sẽ cho 2
% Điều này cho thấy phần còn lại của một phép chia số nguyên B% A sẽ cho 0

Sau đây là một ví dụ đơn giản về Lập trình C để hiểu các toán tử toán học trên:

#include <stdio.h>

int main() {
   int a, b, c;
   
   a = 10;
   b = 20;
   
   c = a + b;   
   printf( "Value of c = %d\n", c);
   
   c = a - b;   
   printf( "Value of c = %d\n", c);
   
   c = a * b;   
   printf( "Value of c = %d\n", c);
   
   c = b / a;   
   printf( "Value of c = %d\n", c);
   
   c = b % a;   
   printf( "Value of c = %d\n", c);
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0

Toán tử quan hệ

Hãy xem xét một tình huống trong đó chúng ta tạo hai biến và gán chúng một số giá trị như sau:

A = 20
B = 10

Ở đây, rõ ràng là biến A lớn hơn B về các giá trị. Vì vậy, chúng ta cần sự trợ giúp của một số ký hiệu để viết các biểu thức như vậy được gọi là biểu thức quan hệ. Nếu chúng ta sử dụng ngôn ngữ lập trình C, thì nó sẽ được viết như sau:

(A > B)

Ở đây, chúng tôi sử dụng một ký hiệu> và nó được gọi là một toán tử quan hệ và ở dạng đơn giản nhất, chúng tạo ra kết quả Boolean có nghĩa là kết quả sẽ là đúng hoặc sai. Tương tự, một ngôn ngữ lập trình cung cấp các toán tử quan hệ khác nhau. Bảng sau liệt kê một số toán tử quan hệ quan trọng có sẵn trong ngôn ngữ lập trình C. Giả sử biếnA giữ 10 và biến B giữ 20, sau đó -

Nhà điều hành Sự miêu tả Thí dụ
== Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu có thì điều kiện trở thành true. (A == B) không đúng.
! = Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu các giá trị không bằng nhau thì điều kiện trở thành true. (A! = B) là đúng.
> Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành đúng. (A> B) không đúng.
< Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. (A <B) là đúng.
> = Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. (A> = B) là không đúng.
<= Kiểm tra xem giá trị của toán hạng bên trái nhỏ hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. (A <= B) là đúng.

Ở đây, chúng tôi sẽ chỉ cho bạn một ví dụ về Lập trình C sử dụng if conditional statement. Mặc dù tuyên bố này sẽ được thảo luận sau trong một chương riêng, nhưng tóm lại, chúng tôi sử dụngif statement để kiểm tra một điều kiện và nếu điều kiện là đúng, thì phần thân của if statement được thực thi, nếu không thì phần thân của if statement bị bỏ qua.

#include <stdio.h>

int main() {
   int a, b;
   
   a = 10;
   b = 20;
   
   /* Here we check whether a is equal to 10 or not */
   if( a == 10 ) {
	   
      /* if a is equal to 10 then this body will be executed */
      printf( "a is equal to 10\n");
   }
   
   /* Here we check whether b is equal to 10 or not */
   if( b == 10 ) {
	
      /* if b is equal to 10 then this body will be executed */
      printf( "b is equal to 10\n");
   }
   
   /* Here we check if a is less b than or not */
   if( a < b ) {
	
      /* if a is less than b then this body will be executed */
      printf( "a is less than b\n");
   }
   
   /* Here we check whether a and b are not equal */
   if( a != b ) {
	
      /* if a is not equal to b then this body will be executed */
      printf( "a is not equal to b\n");
   }
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

a is equal to 10
a is less than b
a is not equal to b

Toán tử logic

Các toán tử logic rất quan trọng trong bất kỳ ngôn ngữ lập trình nào và chúng giúp chúng ta đưa ra quyết định dựa trên các điều kiện nhất định. Giả sử chúng ta muốn kết hợp kết quả của hai điều kiện, thì toán tử logic AND và OR sẽ giúp chúng ta tạo ra kết quả cuối cùng.

Bảng sau đây cho thấy tất cả các toán tử logic được hỗ trợ bởi ngôn ngữ C. Giả sử biếnA giữ 1 và biến B giữ 0, sau đó -

Nhà điều hành Sự miêu tả Thí dụ
&& Được gọi là toán tử logic AND. Nếu cả hai toán hạng đều khác 0, thì điều kiện trở thành true. (A && B) là sai.
|| Được gọi là Toán tử logic HOẶC. Nếu bất kỳ toán hạng nào trong hai toán hạng khác 0, thì điều kiện trở thành true. (A || B) là đúng.
! Được gọi là Toán tử logic NOT. Sử dụng để đảo ngược trạng thái logic của toán hạng của nó. Nếu một điều kiện là đúng thì toán tử logic NOT sẽ sai. ! (A && B) là đúng.

Hãy thử ví dụ sau để hiểu tất cả các toán tử logic có sẵn trong ngôn ngữ lập trình C:

#include <stdio.h>

int main() {
   int a = 1;
   int b = 0;

   if ( a && b ) {
	
      printf("This will never print because condition is false\n" );
   }
   if ( a || b ) {
	
      printf("This will be printed print because condition is true\n" );
   }
   if ( !(a && b) ) {
	
      printf("This will be printed print because condition is true\n" );
   }
}

Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau:

This will be printed print because condition is true
This will be printed print because condition is true

Toán tử trong Java

Sau đây là chương trình tương đương được viết bằng Java. Lập trình C và Java cung cấp tập hợp các toán tử và câu lệnh điều kiện gần như giống hệt nhau. Chương trình này sẽ tạo hai biếnab, rất giống với lập trình C, sau đó chúng ta gán 10 và 20 trong các biến này và cuối cùng, chúng ta sẽ sử dụng các toán tử số học và quan hệ khác nhau -

Bạn có thể thử thực hiện chương trình sau để xem kết quả đầu ra, kết quả này phải giống với kết quả được tạo bởi ví dụ trên.

public class DemoJava {
   public static void main(String []args) {
      int a, b, c;
   
      a = 10;
      b = 20;
   
      c = a + b;   
      System.out.println("Value of c = " + c );
   
      c = a - b;
      System.out.println("Value of c = " + c );
   
      c = a * b;   
      System.out.println("Value of c = " + c );
   
      c = b / a;   
      System.out.println("Value of c = " + c );
   
      c = b % a;   
      System.out.println("Value of c = " + c );
      
      if( a == 10 ) {
		
         System.out.println("a is equal to 10" );
      }
   }
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
a is equal to 10

Toán tử trong Python

Sau đây là chương trình tương đương được viết bằng Python. Chương trình này sẽ tạo hai biếnabđồng thời gán 10 và 20 trong các biến đó. May mắn thay, lập trình C và ngôn ngữ lập trình Python cung cấp tập hợp các toán tử gần như giống hệt nhau. Chương trình này sẽ tạo hai biếnab, rất giống với lập trình C, sau đó chúng ta gán 10 và 20 trong các biến này và cuối cùng, chúng ta sẽ sử dụng các toán tử số học và quan hệ khác nhau.

Bạn có thể thử thực hiện chương trình sau để xem kết quả đầu ra, kết quả này phải giống với kết quả được tạo bởi ví dụ trên.

a = 10
b = 20
   
c = a + b   
print "Value of c = ", c

c = a - b   
print "Value of c = ", c

c = a * b   
print "Value of c = ", c

c = a / b   
print "Value of c = ", c

c = a % b   
print "Value of c = ", c

if( a == 10 ):
   print "a is equal to 10"

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Value of c =  30
Value of c =  -10
Value of c =  200
Value of c =  0
Value of c =  10
a is equal to 10