a=3 0000 0011,b=6 0000 0110,c=a^b<<2 0000 0011^0000 0110<<2 0000 0011^0001 1000
0001 1011--->1B
2.两个数的交换
a=a^b;
b=a^b;
a=a^b;
3.解读代码
void main()
{
int a=3,b=5,x,y,z;
printf(“%d\n”, a>3+2); 3>5 0
printf(“%d\n”, x=12+3/4-a>1); 12+0-0>1 1
printf(“%d\n”, y=a>2&&a<10); 0>2&&0<10 0&&1 0
printf(“%d\n”, z=1?a+2:b-1); 1?2:4 2
4.给定一个整数,判断它是否被3、5、7整除,并输出一下信息
1.能同时被3,5,7整除(直接输出3 5 7,每个数字之间一个空格)
2.只能内其中两个整数整除(输出两个数,小的在前,大的在后,例如3 5 或者 3 7 或者5 7,中间使用空格隔开)
3. 只能被其中一个整数整除(输出这个除数)
4.不能被任何数整除,输出小写字母n
案例如下:
输入:105
输出:3 5 7
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a;
printf("请输入一个整数:");
scanf("%d",&a);
if(a%3==0) printf("3 ");
if(a%5==0) printf("5 ");
if(a%7==0) printf("7");
if(a%3!=0&&a%5!=0&&a%7!=0) printf("n");
printf("\n");
return 0;
}