常见操作符汇总

  在c语言中,我们常常需要进行某些特殊的操作,而为了简便,c语言便提供了一些特定的操作符供我们使用。注:操作符也被叫做:运算符,是不同的翻译,意思是⼀样的。

1.算术操作符

在写代码时候,⼀定会涉及到计算。
C语⾔中为了⽅便运算,提供了⼀系列操作符,其中有⼀组操作符叫:算术操作符。分别是: + - *
\ % ,这些操作符都是双⽬操作符。
补充: 双目操作符运算时一般要求两边数据类型。
A.  + 与 -
+ - ⽤来完成加法和减法。
+ - 都是有2个操作数的,位于操作符两端的就是它们的操作数,这种操作符也叫双⽬操作符。
B.  *
运算符 * ⽤来完成乘法。
C. /
运算符 / ⽤来完成除法。
除号的两端如果是整数,执⾏的是整数除法,得到的结果也是整数。
比如5/2在计算机的结果为2,结果为整型,只取整数部分。若要得到2.5,应该把5和2改为5.0或2.0,即 两个 运算数必须⾄少有⼀个浮点数,这时 C 语⾔就会进⾏浮点数除法。 两个浮点数运算时结果类型为浮点型,得到2.5。
D. %
运算符 % 表⽰求模运算,即返回两个整数相除的余值。这个运算符只能⽤于整数,不能⽤于浮点数。
补充: 负数求模的规则是,结果的正负号由第⼀个运算数的正负号决定。
# include <stdio.h>
int main ()
{
printf ( "%d\n" , 11 % -5 ); // 1
printf ( "%d\n" , -11 % -5 ); // -1
printf ( "%d\n" , -11 % 5 ); // -1
return 0 ;
}
上⾯⽰例中,第⼀个运算数的正负号( 11 -11 )决定了结果的正负号。

2.赋值操作符

 
A. =
=代表了赋值, 但不能判断是否相等。
B.复合赋值符+=,-=,*=,/=,%=
如  int a = 10 a += 3 ;后面实际上为a=a+3,故a应该为13.

3.单目操作符:++、--、+、-

A.前置,后置++,--区别
前置++
如:
int a = 10 ;
int b = ++a; //++ 的操作数是 a ,是放在 a 的前⾯的,就是前置 ++
printf ( "a=%d b=%d\n" ,a , b);
先+1,后使⽤; a原来是10,先+1,后a变成了11,再使⽤就是赋值给b,b得到的也是11,所以计算技术后,a和b都是11。
后置++
为先使用,后+1。
int a = 10 ;
int b = a++; //++ 的操作数是 a ,是放在 a 的后⾯的, 就是后置 ++
printf ( "a=%d b=%d\n" ,a , b);
a原来是10,先使⽤,就是先赋值给b,b得到了10,然后再+1,然后a变成了11,所以直接结束后a是 11,b是10。
补:--同理。
B. +与-
这⾥的+是正号,-是负号,都是单⽬操作符。
运算符 + 对正负值没有影响,是⼀个完全可以省略的运算符,但是写了也不会报错。

4.关系操作符

C 语⾔⽤于⽐较的表达式,称为 “关系表达式”(relational expression),⾥⾯使⽤的运算符就称
为“关系运算符”(relational operator),主要有下⾯6个。
> ⼤于运算符
< ⼩于运算符
>= ⼤于等于运算符
<= ⼩于等于运算符
== 相等运算符
!= 不相等运算符
补:关系表达式通常返回 0 1 ,表⽰真假。
注意:相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符,不要混淆。
多个关系运算符不宜连⽤。
 i < j < k
上⾯⽰例中,连续使⽤两个⼩于运算符。这是合法表达式,不会报错,但是通常达不到想要的结果,
即不是保证变量 j 的值在 i k 之间。因为关系运算符是从左到右计算,所以实际执⾏的是下⾯的
表达式。
(i < j) < k
上⾯式⼦中, i < j 返回 0 1 ,所以最终是 0 1 与变量 k 进⾏⽐较。如果想要判断变量 j
的值是否在 i k 之间,应该使⽤下⾯的写法。
 i < j && j < k

5.条件操作符

条件操作符也叫三⽬操作符,需要接受三个操作数的,形式如下:  exp1 ? exp2 : exp3 条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果 exp1 为假, exp3 计算,计算的结果是整个表达式的结果。

如:使⽤条件表达式实现找两个数中较⼤值

# include <stdio.h>
int main ()
{
int a = 0 ;
int b = 0 ;
scanf ( "%d %d" , &a, &b);
int m = a>b ? a : b;
printf ( "%d\n" , m);
return 0 ;
}

6.逻辑操作符

! :逻辑取反运算符(改变单个表达式的真假)。
&& :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
|| :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)。
注:C语⾔中,⾮0表⽰真,0表⽰假
这里仅介绍!
假如我们有⼀个变量叫 flag ,如果flag为假,要做⼀个什么事情,就可以这样写代码:
# include <stdio.h>
int main ()
{
int flag = 0 ;
if (!flag)
{
printf ( "do something\n" );
}
return 0 ;
}
如果 flag 为真, !flag 就是假,如果 flag 为假, !flag 就是真 所以上⾯的代码的意思就是 flag 为假,执⾏if语句中的代码。
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三千弱水,取一瓢饮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值