C 运算符


运算符

运算符用于对变量和值执行操作。

在下面的示例中,我们使用+运算符将两个值相加:

示例

int myNum = 100 + 50;
亲自试一试 »

虽然+运算符经常用于将两个值相加,就像上面的例子一样,它也可以用于将一个变量和一个值相加,或者一个变量和另一个变量相加:

示例

int sum1 = 100 + 50;        // 150 (100 + 50)
int sum2 = sum1 + 250;      // 400 (150 + 250)
int sum3 = sum2 + sum2;     // 800 (400 + 400)
亲自试一试 »

C 将运算符分为以下几组:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 按位运算符

算术运算符

算术运算符用于执行常见的数学运算。

Operator Name Description Example 尝试一下
+ Addition Adds together two values x + y 尝试一下 »
- Subtraction Subtracts one value from another x - y 尝试一下 »
* Multiplication Multiplies two values x * y 尝试一下 »
/ Division Divides one value by another x / y 尝试一下 »
% Modulus Returns the division remainder x % y 尝试一下 »
++ Increment Increases the value of a variable by 1 ++x 尝试一下 »
-- Decrement Decreases the value of a variable by 1 --x 尝试一下 »

赋值运算符

赋值运算符用于给变量赋值。

在下面的示例中,我们使用任务运算符 (=) 来赋值10到一个名为X:

示例

int x = 10;
亲自试一试 »

这个加法作业运算符 (+=) 向变量添加一个值:

示例

int x = 10;
x += 5;
亲自试一试 »

所有赋值运算符的列表:

Operator Example Same As 尝试一下
= 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 尝试一下 »
&= 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 尝试一下 »

比较运算符

比较运算符用于比较两个值(或变量)。这在编程中很重要,因为它可以帮助我们找到答案并做出决策。

比较的返回值是1或者0, 意思是真的1) 或者错误的0)。这些值被称为布尔值,您将在以下内容中了解有关它们的更多信息布尔值If...Else章节。

在下面的示例中,我们使用大于运算符 (>) 判断 5 是否大于 3:

示例

int x = 5;
int y = 3;
printf("%d", x > y); // returns 1 (true) because 5 is greater than 3
亲自试一试 »

所有比较运算符的列表:

Operator Name Example 尝试一下
== Equal to x == y 尝试一下 »
!= Not equal x != y 尝试一下 »
> Greater than x > y 尝试一下 »
< Less than x < y 尝试一下 »
>= Greater than or equal to x >= y 尝试一下 »
<= Less than or equal to x <= y 尝试一下 »

逻辑运算符

您还可以使用逻辑运算符测试真值或假值。

逻辑运算符用于确定变量或值之间的逻辑:

Operator Name Description Example 尝试一下
&&  Logical and Returns true if both statements are true x < 5 &&  x < 10 尝试一下 »
||  Logical or Returns true if one of the statements is true x < 5 || x < 4 尝试一下 »
! Logical not Reverse the result, returns false if the result is true !(x < 5 && x < 10) 尝试一下 »

运算符的大小

数据类型或变量的内存大小(以字节为单位)可以通过以下命令找到sizeof运算符:

示例

int myInt;
float myFloat;
double myDouble;
char myChar;

printf("%lu\n", sizeof(myInt));
printf("%lu\n", sizeof(myFloat));
printf("%lu\n", sizeof(myDouble));
printf("%lu\n", sizeof(myChar));
亲自试一试 »

请注意,我们使用%lu格式说明符打印结果,而不是%d。这是因为编译器期望 sizeof 运算符返回一个long unsigned int%lu), 代替int%d)。在某些计算机上它可能适用于%d,但使用起来更安全%lu


C 练习

通过练习测试一下

练习:

填空以乘法105,并打印结果:

int x = 10;
int y = 5;
printf("", x  y);

开始练习