4.29——for循环和运算符练习

1.使用for循环打印99乘法表

 1 #include<stdio.h>
  2 int main(int argc, const char *argv[])
  3 {
  4     int i,j;
  5     for(i=1;i<=9;i++)
  6     {
  7         for(j=i;j<=9;j++)                                             
  8         {
  9             printf("%d*%d=%d\t",i,j,j*i);
 10         }
 11         printf("\n");
 12     }
 13     return 0;
 14 }

 2、将data第[4]位清0,保持其他位不变

 1 #include<stdio.h>
  2 int main(int argc, const char *argv[])
  3 {
  4     unsigned char data = 0x76;//0111 0110
  5     //0x1  <==>  0000 0001
  6     data^=(0x1<<4);
  7     printf("%#x\n",data);
  8     return 0;
  9 }    

      
      将data第[7]位置1,保持其他位不变

1 #include<stdio.h>
  2 int main(int argc, const char *argv[])
  3 {
  4     unsigned char data = 0x76;//0111 0110
  5     //0x1  <==>  0000 0001
  6     data^=(0x1<<7);
  7     printf("%#x\n",data);
  8     return 0;
  9 }    


      将data第[31:28]位清0,保持其他位不变

 1 #include<stdio.h>
  2 int main(int argc, const char *argv[])
  3 {
  4     unsigned int data = 0x76;//0000 0000 0000 0000 0000 0000  011
  5     //0x9  <==>  0000 0000 0000 0000 0000 0000 0000 1001         
  6     data &=(~0x9<<28);
  7     printf("%#x\n",data);
  8     return 0;
  9 }

      将data第[7:4]位置1,保持其他位不变

 1 #include<stdio.h>
  2 int main(int argc, const char *argv[])
  3 {
  4     unsigned int data = 0x76;      
  5     data |=(0x9<<4);
  6     printf("%#x\n",data);
  7     return 0;
  8 }
      将data第[15:11]位修改位10101,保持其他位不变

 1 #include<stdio.h>
  2 int main(int argc, const char *argv[])
  3 {
  4     unsigned int data = 0x76;      
  5     data |=(0x15<<11);
  6     data &=(~0xA<<12);
  7    printf("%#x\n",data);
  8     return 0;
  9 }

3、终端输入行数,打印金字塔

 1 #include <stdio.h>
  2    int main(int argc, const char *argv[])
  3   {
  4        int a,b,c,n;
  5        scanf("%d",&n);
  6        for(a=1;a<=n;a++)
  7        {
  8            for(b=n;b>a;b--)
  9                {
 10                   printf(" ");
 11               }
 12           for(c=1;c<=2*a-1;c++)
 13               {
 14                   printf("*");
 15               }
 16               printf("\n");
 17       }
 18       return 0;                                                               
 19   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值