龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C程序开发经典实例之6

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
【程序51】 题目:学习使用按位与 0=0; 0 1 1 a = 077; b = a printf("40: The a b printf("40: The a } 【程序52】 题目:学习使用按位或 。 1.程序分析:00=0; 01=1; 10=1; 11=1 2.程序源代码: #include "stdio.h

  

【程序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

", b);

  

b &= 7;

  

printf("40: The a & b(decimal) is %d

", b);

  

}

  

  

【程序52】

  

题目:学习使用按位或 。

  

1.程序分析:00=0; 01=1; 10=1; 11=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

", b);

  

b = 7;

  

printf("40: The a & b(decimal) is %d

", 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

", b);

  

b ^= 7;

  

printf("40: The a & b(decimal) is %d

", 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

%o

", 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

", b);

  

a = ~a;

  

  

printf("40: The a's 1 complement(hexidecimal) is %x

", 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"

  

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, "");

  

setbkcolor(YELLOW);

  

x0 = 263; y0 = 263; y1 = 275; x1 = 275;

  

for(i=0; i<=18; i++)

  

{

  

setcolor(1);

  

rectangle(x0, y0, x1, y1);

  

x0 = x0 - 5;

  

y0 = y0 - 5;

  

x1 = x1 + 5;

  

y1 = y1 + 5;

  

}

  

settextstyle(DEFAULT_FONT, HORIZ_DIR, 2);

  

outtextxy(150, 40, "How beautiful it is!");

  

line(130, 60, 480, 60);

  

setcolor(2);

  

circle(269, 269, 137);

  

}

  

  

【程序59】

  

题目:画图,综合例子。

  

1.程序分析:

  

2.程序源代码:

  

#define PAI 3.1415926

  

#define B 0.809

  

#include "graphics.h"

  

#include "math.h"

  

/* 欢迎访问 C++Builder研究 - www.ccrun.com */

  

main()

  

{

  

int i, j, k, x0, y0, x, y, driver, mode;

  

float a;

  

driver = CGA; mode = CGAC0;

  

initgraph(&driver, &mode, "");

  

setcolor(3);

  

setbkcolor(GREEN);

  

x0 = 150; y0 = 100;

  

circle(x

  

精彩图集

赞助商链接