C程式研发经典实例之6

2008-02-23 05:37:30来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


【程式51】
题目:学习使用按位和 & 。
1.程式分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
2.程式源代码:
#include "stdio.h"
main()
{
int a, b;
a = 077;
b = a & 3;
printf("\40: The a & b(decimal) is %d \n", b);
b &= 7;
printf("\40: The a & b(decimal) is %d \n", b);
}

【程式52】
题目:学习使用按位或 | 。
1.程式分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
2.程式源代码:
#include "stdio.h"
/* 欢迎访问 C Builder研究 - www.ccrun.com */
main()
{
int a, b;
a = 077;
b = a | 3;
printf("\40: The a & b(decimal) is %d \n", b);
b |= 7;
printf("\40: The a & b(decimal) is %d \n", b);
}

【程式53】
题目:学习使用按位异或 ^ 。
1.程式分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
2.程式源代码:
#include "stdio.h"
main()
{
int a, b;
a = 077;
b = a ^ 3;
printf("\40: The a & b(decimal) is %d \n", b);
b ^= 7;
printf("\40: The a & b(decimal) is %d \n", b);
}

【程式54】
题目:取一个整数a从右端开始的4~7位。
程式分析:能够这样考虑:
(1)先使a右移4位。
(2)配置一个低4位全为1, 其余全为0的数。可用~(~0<<4)
(3)将上面二者进行&运算。
2.程式源代码:
main()
{
unsigned a, b, c, d;
scanf("%o", &a);
b = a >> 4;
c = ~(~0 << 4);
d = b & c;
printf("%o\n%o\n", a, d);
}

【程式55】
题目:学习使用按位取反~。
1.程式分析:~0=1; ~1=0;
2.程式源代码:
#include "stdio.h"
/* 63 63 72 75 6E 2E 63 6F 6D */
main()
{
int a, b;
a = 234;
b = ~a;
printf("\40: The a's 1 complement(decimal) is %d \n", b);
a = ~a;
printf("\40: The a's 1 complement(hexidecimal) is %x \n", a);
}

【程式56】
题目:画图,学用circle画圆形。
1.程式分析:
2.程式源代码:
/* circle */
#include "graphics.h"
main()
{
int driver, mode, i;
float j = 1, k = 1;
driver = VGA; mode = VGAHI;
initgraph(&driver, &mode, "");
setbkcolor(YELLOW);
for(i=0; i<=25; i )
{
setcolor(8);
circle(310, 250, k);
k = k j;
j = j 0.3;
}
}

【程式57】
题目:画图,学用line画直线。
1.程式分析:
2.程式源代码:
#include "graphics.h"
// 本文转自 C Builder 研究 - http://www.ccrun.com/article.asp?i=649&d=63xtli
main()
{
int driver, mode, i;
float x0, y0, y1, x1;
float j = 12, k;
driver = VGA; mode = VGAHI;
initgraph(&driver, &mode, "");
setbkcolor(GREEN);
x0 = 263; y0 = 263; y1 = 275; x1 = 275;
for(i=0; i<=18; i )
{
setcolor(5);
line(x0, y0, x0, y1);
x0 = x0 - 5;
y0 = y0 - 5;
x1 = x1 5;
y1 = y1 5;
j = j 10;
}
x0 = 263; y1 = 275; y0 = 263;
for(i=0; i<=20; i )
{
setcolor(5);
line(x0, y0, x0, y1);
x0 = x0 5;
y0 = y0 5;
y1 = y1 - 5;
}
}

【程式58】
题目:画图,学用rectangle画方形。
1.程式分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程式源代码:
#include "graphics.h"
main()
{
int x0, y0, y1, x1, driver, mode, i;
driver = VGA; mode = VGAHI;
initgraph(&driver, &mode, "");

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: “Hello World!”的N种写法

下一篇: C程式研发经典实例之4