2022年2022年经典C语言程序设计例- .pdf
经典 C 语言程序设计 100 例 51-60 【程序 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 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. 程序分析: 00=0; 01=1; 10=1; 11=0 2. 程序源代码:#include stdio.h main() int a,b; a=077; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - b=a3; printf(40: The a & b(decimal) is %d n,b); b=7; printf(40: The a & b(decimal) is %d n,b); - 【程序 54】题目:取一个整数a 从右端开始的 47 位。程序分析:可以这样考虑:(1) 先使 a 右移 4 位。(2) 设置一个低 4 位全为 1, 其余全为 0 的数。可用 (04; c=(04); d=b&c; printf(%on%on,a,d); - 【程序 55】题目:学习使用按位取反。1. 程序分析: 0=1; 1=0; 2. 程序源代码:#include stdio.h main() int a,b; a=234; b=a; printf(40: The as 1 complement(decimal) is %d n,b); a=a; printf(40: The as 1 complement(hexidecimal) is %x n,a); - 【程序 56】题目:画图,学用circle画圆形。1. 程序分析:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 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+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - # include graphics.h #include math.h 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(x0,y0,10); circle(x0,y0,20); circle(x0,y0,50); for(i=0;i16;i+) a=(2*PAI/16)*i; x=ceil(x0+48*cos(a); y=ceil(y0+48*sin(a)*B); setcolor(2); line(x0,y0,x,y); setcolor(3);circle(x0,y0,60); /* Make 0 time normal size letters */ settextstyle(DEFAULT_FONT,HORIZ_DIR,0); outtextxy(10,170,press a key); getch(); setfillstyle(HATCH_FILL,YELLOW); floodfill(202,100,WHITE); getch(); for(k=0;k=500;k+) setcolor(3); for(i=0;i=16;i+) a=(2*PAI/16)*i+(2*PAI/180)*k; x=ceil(x0+48*cos(a); y=ceil(y0+48+sin(a)*B); setcolor(2); line(x0,y0,x,y); for(j=1;j=50;j+) a=(2*PAI/16)*i+(2*PAI/180)*k-1; x=ceil(x0+48*cos(a); y=ceil(y0+48*sin(a)*B); line(x0,y0,x,y); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - restorecrtmode(); - 【程序 60】题目:画图,综合例子。1. 程序分析:2. 程序源代码:#include graphics.h #define LEFT 0 #define TOP 0 #define RIGHT 639 #define BOTTOM 479 #define LINES 400 #define MAXCOLOR 15 main() int driver,mode,error; int x1,y1; int x2,y2; int dx1,dy1,dx2,dy2,i=1; int count=0; int color=0; driver=VGA; mode=VGAHI; initgraph(&driver,&mode,); x1=x2=y1=y2=10; dx1=dy1=2; dx2=dy2=3; while(!kbhit() line(x1,y1,x2,y2); x1+=dx1;y1+=dy1; x2+=dx2;y2+dy2; if(x1=RIGHT) dx1=-dx1; if(y1=BOTTOM) dy1=-dy1; if(x2=RIGHT) dx2=-dx2; if(y2=BOTTOM) dy2=-dy2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - if(+countLINES) setcolor(color); color=(color=MAXCOLOR)?0:+color; closegraph(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -