操作符
发布时间:2023-05-18 00:09:23 136 相关标签:
1.操作符分类
- 算术操作符
- 移位操作符
- 位操作符
- 赋值操作符
- 单目操作符
- 关系操作符
- 逻辑操作符
- 条件操作符
- 逗号表达式
- 下标引用、函数调用和结构成员
2.算术操作符
- 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。
- 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
- % 操作符的两个操作数必须为整数。返回的是整除之后的余数。
3.移位操作符
- <<左移位
- >>右移位
- 注:移位操作符的操作数只能是整数
3.1左移位操作符
3.2右移位操作符
- 逻辑移位:左边用0填充,右边丢弃
- 算术移位:左边用原该值的符号位填充,右边丢弃
4.位操作符
不能创建临时变量,实现两个数的交换
int main()
{
int a = 10;
int b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d b = %d\n", a, b);
return 0;
}
5.单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
6.关系操作符
7.逻辑操作符
int main()
{
int i = 0,a=0,b=2,c =3,d=4;
i = a++ && ++b && d++;
//i = a++||++b||d++;
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
//程序输出的结果是什么?
8.条件操作符
if (a > 5)
b = 3;
else
b = -3;
//转换成条件表达式
a>5?b=3:b=-3
9.访问一个结构的成员
struct Stu
{
char name[20];
int age;
char id[20];
};
int main()
{
//使用struct Stu这个类型创建了一个学生对象s1,并初始化
struct Stu s1 = { "张三", 20, "20221226" };
struct Stu*ps = &s1;
printf("%s\n", ps->name);
printf("%d\n", ps->age);
printf("%s\n", ps->id);
//结构体指针->成员名
/*printf("%s\n", (*ps).name);
printf("%d\n", (*ps).age);*/
/*printf("%s\n", s1.name);
printf("%d\n", s1.age);
printf("%s\n", s1.id);*/
//结构体变量.成员名
return 0;
}
文章来源: https://blog.51cto.com/u_15821043/5971159
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报