计算机编程 - 运算符
编程语言中的运算符是一个符号,它告诉编译器或解释器执行特定的数学、关系或逻辑运算并产生最终结果。 本章将解释运算符的概念,并将带您了解 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
", c);
c = a - b;
printf( "Value of c = %d
", c);
c = a * b;
printf( "Value of c = %d
", c);
c = b / a;
printf( "Value of c = %d
", c);
c = b % a;
printf( "Value of c = %d
", 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)
这里,我们使用了符号 >,它被称为关系运算符,以最简单的形式,它们产生布尔结果,这意味着结果要么是 true 要么是 false。 类似地,编程语言提供了各种关系运算符。 下表列出了 C 编程语言中可用的一些重要关系运算符。 假设变量 A 为 10,变量 B 为 20,则 −
| 运算符 | 描述 | 示例 |
|---|---|---|
| == | 检查两个操作数的值是否相等,如果相等则条件为 true。 | (A == B) 不为 true。 |
| != | 检查两个操作数的值是否相等,如果值不相等,则条件为真。 | (A != B) 为 true。 |
| > | 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 | (A > B) 不为 true。 |
| < | 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 | (A < B) 为 true。 |
| >= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 | (A >= B) 不为 true。 |
| <= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为 true。 | (A <= B) 为 true。 |
在这里,我们将向您展示一个使用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
");
}
/* 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
");
}
/* 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
");
}
/* 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
");
}
}
执行上述程序时,会产生以下结果 −
a is equal to 10 a is less than b a is not equal to b
逻辑运算符
逻辑运算符在任何编程语言中都非常重要,它们帮助我们根据某些条件做出决策。 假设我们想要组合两个条件的结果,那么逻辑AND和OR逻辑运算符可以帮助我们产生最终结果。
下表列出了C语言支持的所有逻辑运算符。 假设变量 A 为 1,变量 B 为 0,则 −
| 运算符 | 描述 | 示例 |
|---|---|---|
| && | 称为逻辑AND运算符。 如果两个操作数均非零,则条件为 true。 | (A && B) 为 false。 |
| || | 称为逻辑或运算符。 如果两个操作数中有任何一个非零,则条件为真。 | (A || B) 为 true。 |
| ! | 称为逻辑非运算符。 用于反转其操作数的逻辑状态。 如果条件为 true,则逻辑 NOT 运算符将为 false。 | !(A && B) 为 true。 |
尝试以下示例来了解 C 编程语言中可用的所有逻辑运算符 −
#include <stdio.h>
int main() {
int a = 1;
int b = 0;
if ( a && b ) {
printf("This will never print because condition is false
" );
}
if ( a || b ) {
printf("This will be printed print because condition is true
" );
}
if ( !(a && b) ) {
printf("This will be printed print because condition is true
" );
}
}
当你编译并执行上面的程序时,它会产生以下结果 −
This will be printed print because condition is true This will be printed print because condition is true
Java 中的运算符
以下是用 Java 编写的等效程序。 C 编程和 Java 提供了几乎相同的运算符和条件语句集。 该程序将创建两个变量 a 和 b,与 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 编写的等效程序。 该程序将创建两个变量 a 和 b,同时为这些变量分配 10 和 20。 幸运的是,C 编程和 Python 编程语言提供了几乎相同的运算符集。 该程序将创建两个变量 a 和 b,与 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

