计算机编程 - 运算符



编程语言中的运算符是一个符号,它告诉编译器或解释器执行特定的数学、关系或逻辑运算并产生最终结果。本章将解释运算符的概念,并带您了解 C、Java 和 Python 中可用的重要算术和关系运算符。

算术运算符

计算机程序被广泛用于数学计算。我们可以编写一个计算机程序来执行简单的计算,例如将两个数字相加 (2 + 3),我们也可以编写一个程序来解决复杂的方程式,例如 P(x) = x4 + 7x3 - 5x + 9。即使你是一个差生,你也必须知道在第一个表达式中 2 和 3 是操作数,而 + 是运算符。类似的概念存在于计算机编程中。

请看以下两个示例:

2 + 3

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

这两个语句在编程语言中称为算术表达式,而这些表达式中使用的加号减号称为算术运算符,这些表达式中使用的值,如 2、3 和 x 等,称为操作数。在最简单的形式中,此类表达式会生成数值结果。

类似地,编程语言提供了各种算术运算符。下表列出了 C 编程语言中一些重要的算术运算符。假设变量 A 为 10,变量 B 为 20,则:

运算符 描述 示例
+ 将两个操作数相加 A + B 将得到 30
- 从第一个操作数中减去第二个操作数 A - B 将得到 -10
* 将两个操作数相乘 A * B 将得到 200
/ 将分子除以分母 B / A 将得到 2
% 这将给出整数除法的余数 B % A 将得到 0

以下是一个简单的 C 编程示例,以了解上述数学运算符:

#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);
}

执行上述程序时,会产生以下结果:

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

关系运算符

考虑这样一种情况,我们创建两个变量并为它们分配一些值,如下所示:

A = 20
B = 10

显然,变量 A 的值大于 B。因此,我们需要一些符号来编写此类表达式,这些表达式称为关系表达式。如果我们使用 C 编程语言,则将如下编写:

(A > B)

这里,我们使用了符号 >,它称为关系运算符,在最简单的形式中,它们会产生布尔结果,这意味着结果要么为真,要么为假。类似地,编程语言提供了各种关系运算符。下表列出了 C 编程语言中一些重要的关系运算符。假设变量A为 10,变量B为 20,则:

运算符 描述 示例
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 为假。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果大于则条件为真。 (A > B) 为假。
< 检查左操作数的值是否小于右操作数的值,如果小于则条件为真。 (A < B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果大于或等于则条件为真。 (A >= B) 为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果小于或等于则条件为真。 (A <= B) 为真。

在这里,我们将向您展示一个使用if 条件语句的 C 编程示例。虽然此语句将在后面的单独章节中讨论,但简而言之,我们使用if 语句来检查条件,如果条件为真,则执行if 语句的主体,否则跳过if 语句的主体。

#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");
   }
}

执行上述程序时,会产生以下结果:

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

逻辑运算符

逻辑运算符在任何编程语言中都非常重要,它们帮助我们根据某些条件做出决策。假设我们希望组合两个条件的结果,那么逻辑 AND 和 OR 逻辑运算符将帮助我们产生最终结果。

下表显示了 C 语言支持的所有逻辑运算符。假设变量A为 1,变量B为 0,则:

运算符 描述 示例
&& 称为逻辑 AND 运算符。如果两个操作数均不为零,则条件为真。 (A && B) 为假。
|| 称为逻辑 OR 运算符。如果两个操作数中的任何一个不为零,则条件为真。 (A || B) 为真。
! 称为逻辑 NOT 运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑 NOT 运算符将使其变为假。 !(A && B) 为真。

尝试以下示例以了解 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" );
   }
}

编译并执行上述程序时,会产生以下结果:

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

Java 中的运算符

以下是 Java 中的等效程序。C 编程和 Java 提供了几乎相同的运算符和条件语句集。此程序将创建两个变量ab,与 C 编程非常相似,然后我们在这些变量中分别赋值 10 和 20,最后,我们将使用不同的算术和关系运算符:

您可以尝试执行以下程序以查看输出,该输出必须与上述示例生成的输出相同。

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" );
      }
   }
}

执行上述程序时,会产生以下结果:

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

Python 中的运算符

以下是 Python 中的等效程序。此程序将创建两个变量ab,并同时在这些变量中分别赋值 10 和 20。幸运的是,C 编程和 Python 编程语言提供了几乎相同的运算符集。此程序将创建两个变量ab,与 C 编程非常相似,然后我们在这些变量中分别赋值 10 和 20,最后,我们将使用不同的算术和关系运算符。

您可以尝试执行以下程序以查看输出,该输出必须与上述示例生成的输出相同。

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"

执行上述程序时,会产生以下结果:

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
广告