c加加语言中如何输出一个三位数,C(操作符)

算术操作符(+,-,*,/,%)

除了%操作符之外,其他几个操作符可以用于整数和浮点数。

对于/操作符如果两个操作数都为整数,执行整数除法,而只要有浮点数,执行的就是浮点数除法。

%操作符的两个操作数必须为整数,返回的是整数之后的余数。

移位操作符(左移<>)

只作用于整数

移动的都是二进制的位置

1. 算术右移:右边丢弃,左边补原符号位**(二进制最左边为0是正数,是1为负数)

2. 逻辑右移:右边丢弃,左边补0**

3. 左移:左边丢弃,右边补0**

位操作符(&,|,^,~)

他们操作的必须是整数

以二进制运算

&:按位与:都为1结果为1,否则为0

|:按位或:有1结果为1,都为0结果为0

^:按位异或:对应的二进制位相同为0,相异为1

~:按位取反(单个数进行运算):为0的数为1,为1的数为0

异或面试题:(不能创建临时变量(第三个变量),实现两个数的交换)

示例:

#include

int main()

{

int a = 3;

int b = 5;

a = a ^ b;

b = a ^ b;

a = b ^ a;

printf("a=%d b=%dn", a, b);

return 0;

}

示例结果:a=5 b=3

例题:(计算一个数二进制有几个1)

#include

int main()

{

int num;

int count = 0;

scanf("%d", &num);

for (int i = 0; i < 32; i++)

{

if ((num >> i) & 1)

count++;

}

printf("%dn", count);

return 0;

}

++&&–

前置++(–):先加加(减减),在使用

后置++(–):先使用,在加加(减减)

360笔试题:

#include

int main()

{

int i = 0, a = 0, b = 2, c = 3, d = 4;

i = a++ && ++b && d++;//一个为假都为假,后面则不再进行判断

printf("a=%dnb=%dnc=%dnd=%dn",a,b,c,d);

return 0;

}

结果:a = 1 b = 2 c = 3 d = 4

#include

int main()

{

int i = 0, a = 1, b = 2, c = 3, d = 4;

i = a++ || ++b || d++;//一个为真都为真,后面则不在判断

printf("a=%dnb=%dnc=%dnd=%dn",a,b,c,d);

return 0;

}

结果:a = 2 b = 2 c = 3 d = 4

逗号表达式(,)

从左至右依次进行,结果为最后一个表达式的结果

示例:

#include

int main()

{

int a = 1;

int b = 3;

int c = 0;

c = (a>b,a = a+b,a,b = a+b);

printf("c=%dn", c);

return 0;

}

示例结果:c = 7

程序员灯塔

转载请注明原文链接:C(操作符)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值