C语言—位运算、char、数组

本文介绍了C语言中的位运算、char数据类型及其常见错误,以及数组的定义、初始化、长度计算和遍历操作。通过示例展示了如何将小写字母转换为大写字母,并提供了两个练习:计算学生成绩的平均分和寻找整型数组的最大值。最后,简单提及了二维数组的应用场景。
摘要由CSDN通过智能技术生成


---位运算


1.按位与 &  

 9 & 5    
1001
0101
----
0001
a&1 == 1  奇数
a&1 == 0  偶数

2.按位或 |   

9 | 5
1001
0101
----
1101

3.按位异或 ^  对应二进制位一样就为0,不一样就为1

1001
0101
----
1100
1>相同数值进行异或,结果肯定是0,比如9^9
2>交换 9^5^6 == 9^6^5
3>任何数值跟0进行异或,结果还是原来的数值,9^0 == 9  
4>a^b^a == b
用第四条交换两个变量的值
a = a ^ b;
b = a ^ b;
a = a ^ b;

按位取反  ~   对应单个数  0变1,1变0
~0000 0000 0000 0000 0000 0000 0000 1001
 1111 1111 1111 1111 1111 1111 1111 0110

4.左移和右移

左移 <<   9<<n   把整数的各二进位全部左移n位,高位丢弃,低位补0,等于原数乘以2的n次方,最高位舍弃,正负性改变

右移 >>   9>>n   把整数的各二进位除了符号位全部右移n位,高位用符号位补齐,低位丢弃等于原数除以2的n

应用:
/*
写一个函数,用来输出整数在内存中的二进制形式
*/

#include <stdio.h>
void printBinary(int number);

int main()
{
    /*
     0000 0000 0000 0000 0000 000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值