每日一题学知识

2025/5/23 每日一题带你轻松学习C语言知识,今天学习的是

| 按位或运算符
|| 逻辑或运算符

题目:
代码的运算结果是什么?(所有数字都是十进制)

int a = 0;
int b = 0;
b = 9 | 10;
b || a++;
printf("%d ", b);
printf("%d ", a);

A. 11 1
B. 11 0
C. 10 1
D. 10 0



正确答案:B
解析:本题主要考查了对于位运算符和逻辑运算符的理解。首先要理解什么是位运算符:

在现代计算机中,所有数据都以二进制形式存储,即 0 和 1 两种状态。计算机对二进制数据进行的运算(如加、减、乘、除)被称为位运算,即对二进制数的每一位进行操作的运算。
在这里插入图片描述

题目中的 9|10 实际上就是先转化为二进制 1001 和 1010,规则是只要有一个位是1,结果就是1,最后将结果的二进制组合赋值给b。那么二进制1011就是十进制的11,b=11;
在这里插入图片描述


b || a++; ||是逻辑运算符或,特点就是如果左侧表达式判定为真(非0)那么就不会执行右侧表达式,因此a++不会执行,a仍然等于0;

所以最终输出应该为 11 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值