2021-10-26

平平无奇小佳佳又来啦~今天学的东西,怎么说,还是没达到自己的预期,学到一半被各种消息轰炸不得不爬出去解决工作。。

1.操作符

操作符

  • 算数操作符

算数操作符还是比较好理解的,比如+-*,都是一些比较日常好懂的。在这里就提两个,一个是除“/”,另一个是取模操作符“%”。

除法要注意的是,如果定义的是int,那么除号两边都必须是整型;如果要实现浮点型,可以定义,并且只需要在除号的某一遍改成浮点型就行。

而取模操作符只能用于整型。

  • 移位操作符

分为左移位与右移位。但要注意,移位操作符是只针对内存中二进制位的。

例如有下面的代码

int main()
{
	int a = 3;
	int b = a << 1;
	printf("%d", b);//
	return 0;
}

a的初识值是3,而3的二进制代码为00000000000000000000000000000011,当使用移位操作符时,要指明移位的值给了谁(即b),是谁移位(即a),左移还是右移,移多少。移位后,整体二进制往左移一位,最后的用零补齐,即变成了000000000000000000000000000000110,它对应的字符是6,即b的值就是6.

  • 位操作符

位操作符有三种,按位与&,按位或|,以及按位异或^。

来看这样一个代码。

int main()
{
	int a = 3;
	int b = 2;
	int c = a & b;
	int d = a | b;
	int e = a ^ b;
	printf("%d%d%d", c, d, e);
	return 0;
}

00000000000000000000000000000011;

00000000000000000000000000000010;

按位与的意思是,两者均为一才为一,只要有0就为0,所以c的二进制码为

00000000000000000000000000000010.即c为2.

按位或的意思是,只要有一者为1就为1,两者均为0才为0,即d的二进制代码为

000000000000000000000000000000011.所以d为3;

按位异或的意思是,两者相同为0,两者相异为1.即e的二进制代码为

000000000000000000000000000000001;所以e为1.

  • 赋值操作符

赋值操作符在我看来其实主要就是简化了代码。其中有最基本的赋值符=,也有以它为基础诞生的复杂运算符,如以下代码。

int main()
{
	int a = 3;
	a = a + 1;
	a += 1;
	a++;
	printf("%d\n", a);
	return 0;
}

事实上,这三个表达式的意思都是令a先加上1,然后再赋值给a。其他的复合运算符也是如此。先做运算,再赋值。

  • 关键字

来看看一些常见的关键字。

"auto"这个关键字现在基本很少见到了,它的作用是定义自动变量。但其实大部分变量默认就是如此,所以一般不会用到。

"break","continue"这两个关键字在循环经常见到,前者为跳过循环,后者为跳过本次循环,但仍旧会进行循环。同样还有"default"这个关键字,也经常在循环见到。

"enum 枚举""struct 结构体""uinon 联合体"是三个可以自定义的类型,嗯目前我对他们了解还不是很深,等待下次遇见。

const 常属性 - 一般用它来修饰变量和指针(目前还不是很熟)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值