C语言学习之路--运算符

C语言运算符精要
1. 算术运算符
算术运算符分为单目运算符和双目运算符
单目运算 1. 前缀自加自减运算:先进行自加自减,再参与表达式运算
2. 后缀自加自减运算:先参与表达式运算,在进行自加自减
int  a = 100 ;
int  b = 200 ;
int  c =++ a ; //a 先自加 1 ,变成 101 ;然后再赋值给 c ,因此 c 等于 101
int  d = b ++ ; //b 先赋值给 d ,因此 d 等于 200 ,然后 b 自加 1 ,变成 201
int  e =-- a ; //a 先自加 1 ,变成 101 ;然后再赋值给 e
int  f = b -- ; //b 先赋值给 f ,然后 b 自加 1
双目运算  + - * / %
  1. 关系运算符

 

 

注意:关系运算符用于判断运算符两边的表达式是否满足给定的大小条件

由关系运算符组成的表达式称为关系表达式,其值为布尔型

判断是否相等是双等号==,而不是一个等号

 

3逻辑运算符

 

特别要注意的是: 在逻辑与运算中,如果左边表达式的值为假,那么右边表达式将不被执行。在逻辑或运算中,如果左边表达式的值为真,那么右边表达式将不被执行。

4. 位运算符

移位运算:移出去的不要,空出来的补零。移位运算都是针对无符号数的运算。

左移运算

右移运算

注意 位运算符操作的对象是数据中的每一位

& 与 |不要跟 && 和II搞混淆了

5赋值运算符

赋值运算符的几条规则 1不能对常量赋值2 只能对变量赋值 3不能对数组赋值 4可以连续赋值,从右往左

复合赋值符

当左右两边有相同的操作数时,采用复合赋值符不仅直观,且能提高运算效率

除了下述10个复合运算符之外,生造别的复合运算符是非法的

// 加减乘除:

a += n; // 等价于 a = a+n;

a -= n; // 等价于 a = a-n;

a *= n; // 等价于 a = a*n;

a /= n; // 等价于 a = a/n;

// 求余:

a %= n; // 等价于 a = a%n;

// 位运算:

a &= n; // 等价于 a = a&n;

a |= n; // 等价于 a = a|n;

a ^= n; // 等价于 a = a^n;

a >>= n; // 等价于 a = a>>n;

a <<= n; // 等价于 a = a<<n;

6条件运算符(三目运算符)

int m = (a>b) ? a : b; // 如果 a>b 为真,则 m a 的值,否则取 b 的值

唯一需要三个操作数的运算符

语法:表达式1?表达式2:表达式3

释义:当表达式1为真时,取表达式2,否则取表达式3

7. sizeof 运算符

计算指定数据类型或者变量所占据内存的字节数(包括\0)

计算变量的字节数时圆括号可以省略

printf("%d\n", sizeof(int));

printf("%d\n", sizeof(long double));

int a[5];

printf("%d\n", sizeof(a));

printf("%d\n", sizeof a);

8. return运算符

含义:退出某个函数(如果退出的是主函数main,那么整个程序也就退出)

必须出现在函数体内,可以带函数对应类型的数据

int main()

{

return 0;

}

9. 优先级与结合性

当表达式中出现多个相同优先级的运算符时,更具结合性决定谁先运行,比如从左到右

果一个表达式包含多个从左往右结合的运算符,并且这些运算符的优先级相同,那么编译器会首先处理最左边的运算符及其操作数,

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

java在学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值