C语言操作符详解

                            C语言操作符详解

操作符的分类
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号操作符
下标引用,函数调用和结构成员

算数操作符
+ - * / %
注意点:
1.除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
2.对于/操作符,如果两个操作符都为整数则执行整数除法,而若有一个为浮点数则进行浮点数除法。
3.%操作符的两个操作数必须为整数,返回的是整除之后的余数。
移位操作符
<< 左移操作符
>>右移操作符
左移操作符的移位规则
左边抛弃,右边补0
例如:
int num = 10;
num << 1
00000000 00000000 00000000 00001010 //num 在内存中的二进制
0| 00000000 00000000 00000000 00010100 //num左移一位的结果
但实际上num在未被赋值的情况下自身的值不会发生变化。
右移操作符的移位规则
1.逻辑移位 左边用0填充 右边丢弃
2.算术移位 左边用原来该值的符号位填充 右边丢弃
这两种方法都是右移操作符的移位规则,具体用哪一种方法由编程者所用的编译软件决定。
例如:
int num = -1;
11111111 11111111 11111111 11111111 // -1的二进制(内存存储的都是补码)
算术右移:左边用原该值的符号为填充
11111111 11111111 11111111 11111111 1
由于是负数,所以符号位为1,即左边补1
逻辑右移:左边补0
01111111 11111111 11111111 11111111 1
位操作符
& //按位与
| //按位或
^ // 按位异或
赋值操作符
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=
它们的应用也很简单:
int x = 10;
x = x+10;
x += 10;
用第二个就比第一个更加简洁。
单目操作符
! //逻辑反操作
- // 负值
+ // 正值
& //取地址
sizeof //操作数的类型长度(以字节位单位)
~ //对一个数的二进制按位取反
– //前置,后置
++ //前置,后置
* // 间接访问操作符(解应用操作符)
(类型)// 强制类型转换
eg:int a =(int)3.14
把3.14强制转换成int型,输出结果为3
关系操作符
>
>=
<
<=
!= (不相等)
== (用于测试相等,不能用来判断两个字符串的相等)
逻辑操作符
&& // 逻辑与
|| // 逻辑或
条件操作符
exp1 ? exp2 :exp3
eg:
int x = 5, y = 3;
int c = (x >y) ? x : b;
逗号操作符
exp1 , exp2, exp3, … expN
逗号表达式,就是用逗号隔开的多个表达式。逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
eg:
int a = 1;
int b = 2;
int c = (a > b, a = b + 10, a , b = a +1);
最后输出 c = 13;
下标引用,函数调用和结构成员
1.用来访问数组的元素
int arr[10];
arr[9] = 10;
2.用来调用函数
void test()
{
printf ( " emmm " );
}
int main()
{
test();
return 0;
}
3.访问一个结构的成员
struct Stu
{
char name[20];
char sex[5];
int age;
}
int main()
{
struct Stu s;
s = { “zhangsan” , ’ M ', 15 };
printf(" %s\n%c\n%d\n", s.name, s.sex, s.age);
return 0;
}

     **以上就是C语言中的操作符,勤加练习才能熟练掌握。**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值