1、经典C语言程序100例(41-50)【程序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.程序源代码
2、:#include stdio.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+;st
3、atic 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;in
4、t tmp=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;elseagain=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; y=
5、%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 MINprint
6、f(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(40
7、: 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 %d n,i,j);else if(i SMA j)printf(40:%d smaller than %d n,i,j);elseprintf(40: No such value.n);