2017/11/15C语言作业

来源:互联网 发布:希尔排序算法详细 编辑:程序博客网 时间:2024/05/16 01:46
练习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:
----------------------------
  ***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;
}
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;
}
原创粉丝点击