老師要求所做的作業如下:
練習:
*
***
*****
***
*
代碼如下所示:
#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 ;
}