c语言作业(一)
2017-11-16 17:54
134 查看
老师要求所做的作业如下:
练习1: * *** ***** *** * 代码如下所示: #include<stdio.h> int main() { int a,b,c; for(a=0;a<=3;a++) { for(b=0;b<=2-a;b++) printf(" "); for(c=0;c<=2*a;c++) printf("*"); printf("\n"); } for(a=0;a<=2;a++) { for(b=0;b<=a;b++) printf(" "); for(c=0;c<=4-2*a;c++) printf("*"); printf("\n"); } return 0; }
练习2: ---------------------------- ***www.baidu.com*** ++++++++++++++++++++++++++++ 相应代码如下: #include<stdio.h> int main() { printf("----------------------------\n"); printf(" ***www.baidu.com***\n"); printf("++++++++++++++++++++++++++++\n"); } 我觉得这道题的思路不是这样的,感觉这道题我写的很麻瓜,应该错了;
练习: 1.给定一个整型数a,设置a的bit3(为1),保证其他位不变。 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; a = a | (1<<3); printf("aΪ:0x%x.\n",a); return 0; } 2.给定一个整形数a,设置a的bit3~bit7,保持其他位不变。 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; a = a & (~(0x3f << 3));//我将3-7位置为0 printf("a的值为:0x%x.\n", a); return 0; } 3.给定一个整型数a,清除a的bit15,保证其他位不变。 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; a = a & (~(1<<15)); printf("a的值为:0x%x.\n", a); return 0; } 4.给定一个整形数a,清除a的bit15~bit23,保持其他位不变。 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; a =(a & (~(0x1FF << 15)));//将15-23位置0在跟a进行位与运算 printf("a的值为:0x%x.\n", a); return 0; } 5.给定一个整形数a,取出a的bit3~bit8。 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; a = (a & (0x3F << 3)) >> 3;//利用0x3f左移两位,跟a位与运算,然后在右移2位,取到第3位跟第8位的数 printf("a的值为:0x%x.\n", a); return 0; } 6.用C语言给一个整形数的bit7~bit17赋值937(其余位不受影响)。 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; a = a & (~(0x7FF<<7));//将7~ 17位置0 a = a | (937<<7); printf("a的值为:0x%x.\n", a); return 0; } 7.用C语言将一个整形数的bit7~bit17中的值加17(其余位不受影响)。 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; a = a + ((17&0x1F)<<7);//将17左移7位到7~17位,然后与a相加 printf("a的值为:0x%x.\n", a); return 0; } 8.用C语言给一个整形数的bit7~bit17赋值937,同时给bit21~bit25赋值17. 相应代码如下: #include<stdio.h> int main() { unsigned int a = 0x12345678; unsigned int b = (a & (~(0x7FF<<7))) + (937 <<7); a =b & (~(0x1f<<21)) +(17<<21); printf("aµÄֵΪ£º0x%x.\n", a); return 0; }
相关文章推荐
- java语言基础第二讲 课程作业02 总结
- 汇编语言练习--帮机械专业同学做的一道作业
- 《程序设计入门—Java语言.翁恺》第七周编程作业(1)-分解质因数
- 第一次C语言作业
- C语言作业
- C语言作业(2)
- Linux-C基础知识学习:C语言作业-用switch语句实现——成绩分等级,90+:优 80~89良上,70~79良,60~69及格,<60不及格
- 2017/12/28C语言作业
- C语言作业-2-2信号报告
- 寒假汇编语言作业(11)
- C语言课程设计第二次作业
- C语言作业--函数
- 寒假汇编语言作业(12)
- 第一次作业(4.C语言)
- 《程序设计入门—Java语言.翁恺》第七周编程作业(2)-完数
- 20161212C语言基础05_复习及作业
- C 语言学习 第12次作业总结
- 【土狗之路】coursera上C语言基础第七周作业
- C 语言学习 第一次作业总结
- 王爽老师寒假汇编语言作业全解全析共同交流