练习1:
*
***
*****
***
*
*
***
*****
***
*
#include <stdio.h>
int main(void)
{
char ch='*';
int i=0,j=0,k=0;
for(i=1;i<6;i++)
{
if(i<4)
{
for(j=3;j>i;j--)
{
printf(" ");
}
for(k=0;k<(1+2*(i-1));k++)
{
printf("%c",ch);
}
}
else
{
for(j=0;j<(i-3);j++)
{
printf(" ");
}
for(j=7;j>(4+2*(i-4));j--)
{
printf("%c",ch);
}
}
printf("\n");
}
return 0;
}
练习2:
----------------------------
int main(void)
{
char ch='*';
int i=0,j=0,k=0;
for(i=1;i<6;i++)
{
if(i<4)
{
for(j=3;j>i;j--)
{
printf(" ");
}
for(k=0;k<(1+2*(i-1));k++)
{
printf("%c",ch);
}
}
else
{
for(j=0;j<(i-3);j++)
{
printf(" ");
}
for(j=7;j>(4+2*(i-4));j--)
{
printf("%c",ch);
}
}
printf("\n");
}
return 0;
}
练习2:
----------------------------
***www.baidu.com***
++++++++++++++++++++++++++++
#include <stdio.h>
int main(void)
{
int i=0;
for(i=1;i<=28;i++)
{
printf("-");
}
printf("\n");
for(i=1;i<=9;i++)
{
printf(" ");
}
printf("***www.baidu.com***\n");
for(i=1;i<=28;i++)
{
printf("+");
}
printf("\n");
return 0;
}
练习:
1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a|(1<<3);
printf("a=%x\n",a);
return 0;
}
2.给定一个整形数a,设置a的bit3~bit7,保持其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x1f<<3));
printf("a=%x\n",a);
return 0;
}
3.给定一个整型数a,清除a的bit15,保证其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(1<<15));
printf("a=%x\n",a);
return 0;
}
4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x1ff<<15));
printf("a=%x\n",a);
return 0;
}
5.给定一个整形数a,取出a的bit3~bit8。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=(a&(0x3f<<3))>>3;
printf("a=%x\n",a);
return 0;
}
6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x7ff<<7));
a=a+((937&0x7ff)<<7);
printf("a=%x\n",a);
return 0;
#include <stdio.h>
int main(void)
{
int i=0;
for(i=1;i<=28;i++)
{
printf("-");
}
printf("\n");
for(i=1;i<=9;i++)
{
printf(" ");
}
printf("***www.baidu.com***\n");
for(i=1;i<=28;i++)
{
printf("+");
}
printf("\n");
return 0;
}
练习:
1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a|(1<<3);
printf("a=%x\n",a);
return 0;
}
2.给定一个整形数a,设置a的bit3~bit7,保持其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x1f<<3));
printf("a=%x\n",a);
return 0;
}
3.给定一个整型数a,清除a的bit15,保证其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(1<<15));
printf("a=%x\n",a);
return 0;
}
4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x1ff<<15));
printf("a=%x\n",a);
return 0;
}
5.给定一个整形数a,取出a的bit3~bit8。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=(a&(0x3f<<3))>>3;
printf("a=%x\n",a);
return 0;
}
6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x7ff<<7));
a=a+((937&0x7ff)<<7);
printf("a=%x\n",a);
return 0;
}
7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a+(17<<7);
printf("a=%x\n",a);
return 0;
}
8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17.
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x7ff<<7));
a=a+((937&0x7ff)<<7);
a=a&(~(0x1f<<21));
a=a+(17<<21);
printf("a=%x\n",a);
return 0;
}
7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a+(17<<7);
printf("a=%x\n",a);
return 0;
}
8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17.
#include <stdio.h>
int main(void)
{
unsigned int a=0x12345678;
a=a&(~(0x7ff<<7));
a=a+((937&0x7ff)<<7);
a=a&(~(0x1f<<21));
a=a+(17<<21);
printf("a=%x\n",a);
return 0;
}