【c语言】操作符详解

本文详细介绍了C语言中各种操作符的分类,包括算术、移位、位、赋值、单目、关系、逻辑、条件和逗号操作符,重点讲解了移位操作符(左移和右移)、位操作符的工作原理以及结构体成员的访问方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

👑个人主页:啊Q闻       

🎇收录专栏:《C语言》           

 🎉道阻且长,行则将至

前言 

操作符在程序设计中运用广泛,今天的博客将会分享操作符及其运用规则。

一.操作符的分类 

操作符可以分为: 

算术操作符:+ , - , * , / , %

移位操作符:<< , >>

位操作符:& , | , ^

赋值操作符:= , += , -= , *= , /= , %= , <<= , >>= , &= ,|= , ^=

单目操作符:! , ++ , -- , & , * ,+,-,~,sizeof , (类型)

关系操作符:> , >= , < , <= , == , !=

逻辑操作符:&& , ||

条件操作符:?:

逗号操作符:,

下标引用:[  ]

函数调用: ( ) 

结构体成员访问:. , ——> 

看上去有些多,我们慢慢学习一下,掌握起来并不复杂, 有些操作符我在前面博客中已经分享过关于操作符的重点知识-优快云博客,大家感兴趣可以去看看,这篇博客主要是讲剩下的操作符。

二.移位操作符 

1.初识移位操作符

移位操作符分为两种:<< 左移操作符 ,>> 右移操作符,需要注意的是:1.移位操作符的操作数只能是整数。2.对于移位运算符,不要移动负数个

2.左移操作符

移位规则:左边抛弃,右边补0

#include<stdio.h>
int main()
{
	int num = 10;
	int n = num << 1;
	printf("n=%d\n", n);
	printf("num=%d\n", num);
	return 0;
}

详解 :这里需要用二进制表示:

注意:num自身的值是不会变的,因为num<<1的结果并未赋值给其他变量。

3.右移操作符

移位规则:右移运算分两种:1.逻辑右移:左边用0填充,右边丢弃  2.算术右移:左边用原该值的符号填充,右边丢弃

#include<stdio.h>
int main()
{
	int num = -1;
	int n = num >>1;
	printf("n=%d\n", n);
	printf("num=%d\n", num);
	return 0;
}

 

 详解:我用的编译器是vs,vs右移规则是算术右移:

 三.位操作符

 1.初识位操作符

位操作符分为:&(按位与),|(按位或),^(按位异或),~(按位取反)

注意:他们的操作数必须是整数

计算规则:

& ——只要有0则为0,两个同时为1才为1

 | —— 只要有1则为1,两个同时为0才为0

^ ——相同为0,相异为1

~ ——包括符号位全部按位取反

 2.位操作符详解

#include<stdio.h>
int main()
{
	int num1 = -3;
	int num2 = 5;
	printf("%d\n", num1 & num2);
	printf("%d\n", num1 | num2);
	printf("%d\n", num1 ^ num2);
	printf("%d\n", ~1);
	return 0;

}

详解:

四.结构体成员访问操作符

1.初识结构体成员操作符 

结构体成员操作符分为 .  ——>

2.详解结构体成员操作符

1.结构体变量 . 成员名

#include<stdio.h>
struct Point
{
	int x;
	int y;
}p = { 1,2 };
int main()
{
	printf("x:%d,y:%d\n", p.x, p.y);//结构体变量.成员名
	return 0;
}

2.结构体指针—>成员名 

#include<stdio.h>
struct Point
{
	int x;
	int y;
}p = { 1,2 };
int main()
{
	struct Point* ptr = &p;
	ptr->x = 10;
	ptr->y = 20;
	printf("x:%d,y:%d\n", ptr->x, ptr->y);//结构体变量->成员名
	return 0;
}

😊文章到这里结束哦,谢谢大家阅读,如果对你有帮助的话,给个三连吧😊 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值