1、程序4160【程序41】题目:学习static定义静态变量的用法1.程序分析:2.程序源代码:#include stdio.hvarfunc()int var=0;static int static_var=0;printf(40:var equal %d n,var);printf(40:static var equal %d n,static_var);printf(n);var+;static_var+;void main()int i; for(i=0;i3;i+) varfunc();-【程序42】题目:学习使用auto定义变量的用法1.程序分析:2.程序源代码:#include s
2、tdio.hmain()int i,num;num=2; for (i=0;i3;i+) printf(40: The num equal %d n,num); num+; auto int num=1; printf(40: The internal block num equal %d n,num); num+; -【程序43】题目:学习使用static的另一用法。1.程序分析:2.程序源代码:#include stdio.hmain()int i,num;num=2;for(i=0;i3;i+)printf(40: The num equal %d n,num);num+;static
3、int num=1;printf(40:The internal block num equal %dn,num);num+;-【程序44】题目:学习使用external的用法。1.程序分析:2.程序源代码:#include stdio.hint a,b,c;void add() int a;a=3;c=a+b;void main() a=b=4;add();printf(The value of c is equal to %dn,c);-【程序45】题目:学习使用register定义变量的方法。1.程序分析:2.程序源代码:void main()register int i;int tmp
4、=0;for(i=1;i);scanf(%d,&num);printf(40:The square for this number is %d n,SQ(num);if(num=50) again=TRUE;else again=FALSE;-【程序47】题目:宏#define命令练习(2)1.程序分析:2.程序源代码:#include stdio.h#define exchange(a,b) /*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上*/ int t; t=a; a=b; b=t; void main(void)int x=10;int y=20;printf(x=%d;
5、y=%dn,x,y);exchange(x,y);printf(x=%d; y=%dn,x,y);-【程序48】题目:宏#define命令练习(3)1.程序分析:2.程序源代码:#define LAG #define SMA y)?x:y#define MINIMUM(x,y) (xy)?y:xvoid main() int a=10,b=20;#ifdef MAXprintf(40: The larger one is %dn,MAXIMUM(a,b);#elseprintf(40: The lower one is %dn,MINIMUM(a,b);#endif#ifndef MINpri
6、ntf(40: The lower one is %dn,MINIMUM(a,b);#elseprintf(40: The larger one is %dn,MAXIMUM(a,b);#endif#undef MAX#ifdef MAXprintf(40: The larger one is %dn,MAXIMUM(a,b);#elseprintf(40: The lower one is %dn,MINIMUM(a,b);#endif#define MIN#ifndef MINprintf(40: The lower one is %dn,MINIMUM(a,b);#elseprintf(
7、40: The larger one is %dn,MAXIMUM(a,b);#endif-【程序50】题目:#include 的应用练习1.程序分析:2.程序源代码:test.h 文件如下:#define LAG #define SMA #define EQ =#include test.h /*一个新文件50.c,包含test.h*/#include stdio.hvoid main() int i=10;int j=20;if(i LAG j)printf(40: %d larger than %d n,i,j);else if(i EQ j)printf(40: %d equal to
8、 %d n,i,j);else if(i SMA j)printf(40:%d smaller than %d n,i,j);elseprintf(40: No such value.n);【程序51】题目:学习使用按位与 & 。1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=12.程序源代码:#include stdio.hmain()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】题目:学习使用按
9、位或 | 。1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=12.程序源代码:#include stdio.hmain()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=02.程序源代码:#include stdio.hmain()int a,b;a=077;b=a3;printf(40: The a & b(decim
10、al) 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.hmain()int a,b;a=234;b=a;printf(40: The as 1 complement(decimal) is %d n,
11、b);a=a;printf(40: The as 1 complement(hexidecimal) is %x n,a);-【程序56】题目:画图,学用circle画圆形。1.程序分析:2.程序源代码:/*circle*/#include graphics.hmain()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;-【程序
12、57】题目:画图,学用line画直线。1.程序分析:2.程序源代码:#include graphics.hmain()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
13、;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.hmain()int x0,y0,y1,x1,driver,mode,i;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,);setbkcolor(YELLOW);x0=263;y0=263;y1=275;x1
14、=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 g
15、raphics.h#include math.hmain()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
16、); 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
17、)*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); restorecrtmode();-【程序60】题目:画图,综合例子。1.程序分析:2.程序源代码:#include graphics.h#define LEFT 0#define TOP 0#define RIGHT
18、 639#define BOTTOM 479#define LINES 400#define MAXCOLOR 15main()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; if(+countLINES) setcolor(color); color=(color=MAXCOLOR)?0:+color; closegraph();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1