基本赋值运算符的使用—C/C++程序基础(一)

目录

 

位运算

规则

示例 

逻辑运算

规则

示例

三元操作符

规则

示例1

示例2


位运算

规则

符号 描述 运算规则
& 两个位都为1时,结果才为1;否则,结果为0。
| 两个位都为0时,结果才为0;否则,结果为1。

示例 

#include <stdio.h>
int main()
{
	int x = 3, y = 2, z = 2;
	x = (y & z);
	printf("执行‘&’运算: x = %d\n", x);

	x = (y | z);
	printf("执行‘|’运算: x = %d\n", x);
}

十进制下的"2",在二进制下的表示为"10"。,按上面的位运算符计算规则,得出的结果如下:

运行结果如下: 

在计算位运算的时候,唯一麻烦的是需要把十进制的数,转换成二进制的数来计算,最后,再把结果转回十进制。 

逻辑运算

规则

a && b:a和b同时为true 才返回 true, 否则返回false;

a || b:a或b任意一个为true 就返回true , 否则返回false。

示例

#include <stdio.h>
int main()
{
	int x = 3, y = 2, z = 2;

	x = (y && z);
	printf("执行‘&&’运算: x = %d\n", x);

	x = (y || z);
	printf("执行‘||’运算: x = %d\n", x);
}

逻辑运算虽然执行的过程也是先转换位二进制,然后,逐位比较,最后再转回十进制。但比位运算省事儿的是,它可以一眼区分出结果(因为就比较个异同),不必必须转成二进制后,才可以看出结果。 

三元操作符

规则

三元运算符是软件编程中的一个固定格式,语法是“条件表达式?表达式1:表达式2”。使用这个算法可以使调用数据时逐级筛选。

说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。

其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。

示例1

#include <stdio.h>
int main()
{
	int x = 3, y = 2, z = 2;

	x = (y == z) ? 4 : 5;
	printf("执行三元操作符: x = %d\n", x);

	//x = (y == z) ? 1 : (y < z) ? 2 : 3;
	//printf("执行两次三元操作符: x = %d\n", x);
}

示例2

如果三元运算符连用呢?

#include <stdio.h>
int main()
{
	int x = 3, y = 1, z = 2;

	x = (y == z) ? 1 : (y < z) ? 2 : 3;
	printf("执行两次三元操作符: x = %d\n", x);
}

如果连用的话,看起来复杂,但还是和遵循三元运算符的规则,首先,“y == z”的比较,如果为真,返回1,如果为假,开始执行"(y<z)?2:3",在执行这个的时候,还是继续判断,如果“y<z”为真,则返回2,否则,返回3。

需要强调的是,这样运用三元运算符,可以替代条件判断 if/else/else if 的组合。

发布了271 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_17846375/article/details/104873703