小工具知识网

当前位置: 首页 > 行业知识 > C语言最全操作符详解✌️

行业知识

C语言最全操作符详解✌️

2026-10-29 07:49:00 来源:互联网转载

C语言最全操作符详解✌️

1.算术操作符

C��言的一系列操作符中,其中一组叫双目操作符,也叫算数操作符。分别是:+,–,*,/,%。

①+和–

+和–的用途与数学中基本一致,用来做加法和减法。例如:

#include int main(){int a = 17 + 22;int b = 54 - 23;printf("%d\n", a);printf("%d\n", b);return 0;}
3931

我们可以发现,他们之所以叫双目操作符,是因为他们的左边和右边一共有两个操作数。

②*

*运算符也与数学中一样,用于乘法运算。例如:

int main(){int c = 5 * 7;int d = 23 * 19;printf("%d\n", c);printf("%d\n", d);return 0;}
35437
③/

与前面一样,运算符/适用于除法计算。例如:

int main(){int m = 54 / 3;     //18int n = 422 / 16;   //26.375printf("%d\n", m);printf("%d\n", n);return 0;}
1826
int main(){int m = 54 / 3;     //18int n = 422.0 / 16;   //26。375000float i = 422 / 16.0;   //26.375000float j = 422.0 / 16.0;   //26.375000    printf("%d\n", m);printf("%d\n", n);printf("%f\n", i);printf("%f\n", j);return 0;}

我们将代码改一下,把原变量n改为浮点数类型,两个操作数至少有一个是浮点数。%f打印float类型浮点数,小数点后默认六位。

④%

运算符%与数学中的用法不一样,在C语言中表示求模运算。例如:

int main(){int i = 10 % 4;   int m = 12 % 5;   int n = 16 % 4;   printf("%d\n", i);printf("%d\n", m);return 0;}
220

我们尝试将操作数改成浮点数类型:

int main(){double n = 12.4 % 2;printf("%f\n", n);return 0;}

将操作数改为浮点数后报错,由此说明求模运算返回的是两个整数相除的余值。运算符%只能用于整数,不能用于浮点数。那负数是否可以使用这个运算符呢?

int main(){int i = 12 % -5;int j = -12 % 5;int k = -12 % -5;printf("%d\n", i);printf("%d\n", j);printf("%d\n", k);return 0;}
2-2-2

由运行结果可知,第一个操作数的符号决定结果的正负号。

2.单目操作符

单目操作符是指操作符只有一个操作数,如:++、– –、+(正)、–(负)。

①++和– –

++分为前置++和后置++,– –也分为前置– –和后置– –。

a.前置++
int main(){int a = 0;int b = ++a;printf("%d\n", a);printf("%d\n", b);return 0;}
11

a原来是0,先加1,a就变成了1,再将++a的值赋给b,也就是将1赋给b。计算后,a与b值都为1。

前置++计算规则:先+1,后使用。
b.后置++
int main(){int a = 0;int b = a++;printf("%d\n", a);printf("%d\n", b);return 0;}
10

a原来是0,先将a赋给b,b就为0,再将a加1.计算后,a的值为1,b的值为0。

后置++计算规则:先使用,后加1。
– –的前置和后置与++的规则相同,只是将加1换成减1,例如:
int main(){int a = 10;int b = --a;printf("%d\n", a);printf("%d\n", b);return 0;}
99
int main(){int a = 10;int b = a--;printf("%d\n", a);printf("%d\n", b);return 0;}
910
②+(正)和 –(负)

运算符+对正负值没有影响,可忽略不写。

int a = +10;  //等价于int a = 10;

运算符–用来改变一个值的正负号。

int main(){int a = 10;int b = -a;printf("%d\n", a);printf("%d\n", b);return 0;}
10-10

3.赋值操作符

初始化和赋值是不一样的。初始化是在变量创建的时候给的一个初始值,赋值是在变量创建好之后再给它一个值。

int a = 100;//初始化a = 20;//赋值,这里使用的‘=’是赋值操作符

C语言还提供了很多复合赋值符,比如:

int main(){int a = 1;a = a + 5;a = a - 4;printf("%d\n", a);return 0;}

还可以将它写为:

int main() {int a = 1;a += 5;   //等同于a = a + 5;a -= 4;   //等同于a = a - 4;printf("%d\n", a);return 0;}

以此类推,还有很多的赋值符:

+=    -=*=    /=    %=>>=       printf("a的值为3\n");}    printf("a的值为3\n");}int age = 0;scanf("%d", &age);if (age = 10 && age printf("青少年\n");}elseprintf("不是青少年\n");return 0;}int a = 0;int b = 0;scanf("%d %d", &a, &b);if (a  10)b = 5;elseb = -5;printf("%d\n", b);return 0;}int a = 0;int b = 0;scanf("%d %d", &a, &b);b = a  5 ? 5 : -5;printf("%d", b);return 0;}

例子:使用条件操作符找两个数中的最大值

int main(){int a = 0;int b = 0;scanf("%d %d", &a, &b);int n = a > b ? a : b;printf("%d", n);return 0;}

6.逻辑操作符

C语言中用于逻辑判断的操作符主要有三个:&&、||、!

①&&与运算符

&&运算符在前面关系运算符时已经用过,是并且的意思。只有&&两边的表达式都为真时,整个表达式才为真,只要有一个是假,整个表达式都为假。

②||或运算符

||运算符是或者的意思。||两边的表达式只要有一个为真,整个表达式为真,两边表达式都为假时,整个表达式才为假。例如:输入一个月份,判断是否为冬天。

int main(){int i = 0;scanf("%d", &i);if (i >= 1 && i if (i == 12 || i == 1 || i == 2){printf("是冬天\n");}elseprintf("不是冬天\n");}elseprintf("输入月份错误,请重新输入\n");return 0;}int happy = 0;if (!happy)printf("不想工作!\n");return 0;}
h37.短路/h3 pC语言与逻辑运算符的一个特点为:它总是先对左边求值,再对右边求值。/p h6如果左边的表达式满足逻辑运算符的条件,就不再对右边表达式求值,这称为短路。例如:/h6 pre if(i>=3 && i=3的结果为0时,即使不判断右操作数,整个表达式结果也为0if(i==12 || i==1 || i==2) //当操作符的左操作数不为0时,就无需执行右操作数

上一篇:线程安全(JAVA)

下一篇:Crow发音指南,轻松掌握正确读音!