C语言操作符之操作符

本文详细介绍了C语言中的算数操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符以及三目操作符的使用规则和实例。内容包括加减乘除、取模、位移、按位与、按位或、按位异或等,并提供了相关练习和提示,帮助理解各种操作符的用法。
摘要由CSDN通过智能技术生成

一、算数操作符

有哪些·?

+     -    *    %   /

除了%外,其他操作符都可用于整数和浮点数

/:除法(得到的是商,以5除以2为例,得到的结果是2)(但是如果除数或者被除数添加小数点,则结果为2.5)

如图所示

tip:注意lf前是什么数字(%.n),就打印小数点后几位,无数字默认后六位 ,如图所示:

%:取模(得到的是余数,以5除2为例,得到的结果是1)

取模的话被除数和除数都必须是整数,无小数点

二、移位操作符(不可以移动负位数)(只可作用于整数)

有哪些?

<< (左移操作符)       >>(右移操作符)

右移操作符

算术右移:右边丢弃,左边添加原符号位(正0负1)(通常都是算术右移)

逻辑右移:右边丢弃,左边添加0

小tip:整数的二进制表示有:源码、反码、补码

(正数的源码、反码、补码是一样的,但是负数由如下规则:源码符号位不变,之后的位都变为相反的,,再加一即为补码)如图所示

左移操作符

左边丢弃,右边加0 

三、位操作符

&

&:按位与(位是二进制位)

试着将每一位做乘法,即同为1则1,否则为0。

|:按位或

对应的二进制位有1则为1

^:按位异或

同为0,异为1

练习:见vs

1、交换ab

2、打印出一个数的1的个数

四、赋值操作符(一个=,判断相等==)

首先明白一点:变量未存在叫初始化,已有叫赋值。

不建议连续赋值,如y+1=x=a,a赋值给x,x赋值给y+1;

建议这样写·,x=a       y+1=x      a赋值给x,x赋值给y+1。

 1、复合赋值符

+=       -=     *=     %=     /=      >>=   <<=    &=   |=      ^=     

例:a=a+2         a+=2

       a=a>>1       a>>=1

五、单目操作符

!(逻辑反操作符) +(正值)   -(负值)  &(取地址操作符)    *(解引用操作符)

~(按位取反) ++   --      

++使用规则

1、++a前置加加:先++,后使用

2、后置++:先使用,再加加

tip:1、0是正数,三码相同

2、补充内容:强制类型转换加()  int a=(int)3.14

小测试:

打印结果:40,10,4,4

数组arr和ch传过去,指针大小为4或者8,而编译器是32的,所以是4

六、关系操作符(比较大小)

> <  >=  <=  !=   ==

七、逻辑操作符

&&(逻辑与)  ||(逻辑或)

&&:都为真为真。

||:一个为真就为真

八、条件操作符(三目操作符)

exp1?exp2:exp3

如果表达式1为真,就算表达式2的结果

如果表达式1为假,就算表达式3的结果

例子:求较大值

(a>b?a:b)

逗号表达式:exp1,exp2,exp3......expn

从左往右依次计算,整个表达式的结果是最后一个表达式的结果

以struct stu这个类型创建了s1一个学生变量 

 

tip:字符串是用“”,而单个字符才用‘’ 

隐式类型转换

整型提升

C的整形计算是至少以缺省整形类型的精度来计算的

为了获得这个精度,会将短整型操作数和字符操作数变成普通型,这就是整形提升

按照变量数据类型的符号位提升的

算数转换

操作符属性

1、优先级

2、结合性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值