操作符详解(3)——赋值,单目,关系操作符

本文详细介绍了C++中的赋值操作符,如连续赋值及复合赋值符的使用,并探讨了单目操作符,包括逻辑非、取地址、位操作等。同时,文章还讲解了sizeof操作符在计算数组和指针大小中的应用,以及关系操作符的注意事项。通过实例展示了操作符的用法,帮助读者深入理解C++的基础知识。
摘要由CSDN通过智能技术生成

目录

1.赋值操作符

2.单目操作符

!     逻辑反操作

 &    取地址

sizeof    操作数的类型长度(以字节为单位)

​ ~    对一个数的二进制按位取反

 ++ --    前置、后置++ --

 *      间接访问操作符(解引用操作符)

​(类型)     强制类型转换

 sizeof和数组

3.关系操作符

1.赋值操作符

赋值操作符是一个很棒的操作符,他可以让你得到一个你之前不满意的值。也就是你可以给自己重新赋值。

int weight = 120;//体重
weight = 89;//不满意就赋值
double salary = 10000.0;
salary = 20000.0;//使用赋值操作符赋值。

虽然编译器支持连续赋值,但不建议经常采用。

赋值操作符可以连续使用,比如:
int a = 10;
int x = 0;
int y = 20;
a = x = y+1;//连续赋值

复合赋值符

 

2.单目操作符

!           逻辑反操作
-           负值
+           正值
&           取地址
sizeof      操作数的类型长度(以字节为单位)
~           对一个数的二进制按位取反
--          前置、后置--
++          前置、后置++
*           间接访问操作符(解引用操作符)
(类型)       强制类型转换

单目操作符:只要一个操作数。

双目操作符:例如a+b,+号即为双目操作符,有两个操作数。

!     逻辑反操作

把真的变成假的,把假的变成真的。(0为假,非0为真)

 &    取地址

 a占四个字节,每个字节都有地址,&a,取的是a的这四个字节里面第一个字节的地址,即起始地址。

sizeof    操作数的类型长度(以字节为单位)

sizeof是操作符不是函数
strlen是库函数,是用来求字符串长度的

 ~    对一个数的二进制按位取反

 ~ 有什么作用呢?

可以对某些不满意的数进行修改。

例1:

int a = 13;
a = a | (1 << 1);
//00000000 00000000 00000000 00001101  a的补码
//能不能把倒数第二位的0改成1?
//在倒数第二位给它或上一个1
//00000000 00000000 00000000 00001101
//00000000 00000000 00000000 00000010  //这个可以理解位1<<1(1向左移动一位)
//            或
//00000000 00000000 00000000 00001111
printf("%d\n", a);

运行结果是:

例2:

例3:

 ++ --    前置、后置++ --

 

 

 

  

 *      间接访问操作符(解引用操作符)


(类型)     强制类型转换

 sizeof和数组

//siaeof是操作符不是函数
//strlen是库函数,是用来求字符串长度的
#include <stdio.h>
void test1(int arr[])//arr[]本质上是指针
{
	printf("%d\n", sizeof(arr));//(2)计算的结果为4或8
}
void test2(char ch[])
{
	printf("%d\n", sizeof(ch));//(4)计算的结果也是4或8
}
int main()
{
	int arr[10] = { 0 };
	char ch[10] = { 0 };
	printf("%d\n", sizeof(arr));//(1)计算的是整个数组的大小 40
	printf("%d\n", sizeof(ch));//(3)计算的是也整个数组的大小 10
	test1(arr);
	test2(ch);
	return 0;
}

//问:
//(1)、(2)两个地方分别输出多少?
//(3)、(4)两个地方分别输出多少?

输出结果是:

指针不管是什么类型,所占字节数都是4或8;所以无论是int型的地址,还是char型的地址,所占的字节数都是4或8,所以(3)(4)输出结果是4。

3.关系操作符

注意一些运算符使用时候的陷阱。例如,在编程的过程中== 和=不小心写错,导致的错误。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值