天天看點

c語言作業(一)

老師要求所做的作業如下:

練習:
        *
       ***
      *****
       ***
        *
代碼如下所示:
#include<stdio.h>
int main()
{
    int a,b,c;
    for(a=;a<=;a++)
    {
        for(b=;b<=-a;b++)
            printf(" ");
        for(c=;c<=*a;c++)
            printf("*");
        printf("\n");
    }
    for(a=;a<=;a++)
     {
        for(b=;b<=a;b++)
            printf(" ");
        for(c=;c<=-*a;c++)
            printf("*");
        printf("\n");
     }
    return ;
}
           
練習:
----------------------------

     ***www.baidu.com***

++++++++++++++++++++++++++++

相應代碼如下:
#include<stdio.h>
int main()
{
    printf("----------------------------\n");
    printf("    ***www.baidu.com***\n");
    printf("++++++++++++++++++++++++++++\n");
}
我覺得這道題的思路不是這樣的,感覺這道題我寫的很麻瓜,應該錯了;
           
練習:
給定一個整型數a,設定a的bit3(為),保證其他位不變。
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;
    a = a | (<<);
    printf("aΪ:0x%x.\n",a);

    return ;
}  

給定一個整形數a,設定a的bit3~bit7,保持其他位不變。
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;
    a = a & (~( << ));//我将3-7位置為0
    printf("a的值為:0x%x.\n", a);

    return ;
}

給定一個整型數a,清除a的bit15,保證其他位不變。
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;
    a = a & (~(<<));
    printf("a的值為:0x%x.\n", a);

    return ;
}

給定一個整形數a,清除a的bit15~bit23,保持其他位不變。
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;
    a =(a & (~( << )));//将15-23位置0在跟a進行位與運算

    printf("a的值為:0x%x.\n", a);

    return ;
}

給定一個整形數a,取出a的bit3~bit8。
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;
    a = (a & ( << )) >> ;//利用0x3f左移兩位,跟a位與運算,然後在右移2位,取到第3位跟第8位的數
    printf("a的值為:0x%x.\n", a);

    return ;
}

用C語言給一個整形數的bit7~bit17指派(其餘位不受影響)。
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;
    a = a & (~(<<));//将7~ 17位置0 
    a = a | (<<);
    printf("a的值為:0x%x.\n", a);

    return ;
}

用C語言将一個整形數的bit7~bit17中的值加(其餘位不受影響)。
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;

    a = a + ((&)<<);//将17左移7位到7~17位,然後與a相加
    printf("a的值為:0x%x.\n", a);

    return ;
}

用C語言給一個整形數的bit7~bit17指派,同時給bit21~bit25指派
相應代碼如下:
#include<stdio.h>
int main()
{
    unsigned int a = ;
    unsigned int b = (a & (~(<<))) + ( <<);
    a =b & (~(<<)) +(<<);
    printf("aµÄֵΪ£º0x%x.\n", a);

    return ;
}
           

繼續閱讀