經典C語言程序100例(41-50)------------------轉自C語言經典論壇

【程序41】
題目:學習static定義靜態變量的用法   
1.程序分析:
2.程序源代碼:
#include "stdio.h"
varfunc()
{
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;i<3;i++)
  varfunc();
}
==============================================================
【程序42】
題目:學習使用auto定義變量的用法
1.程序分析:      
2.程序源代碼:
#include "stdio.h"
main()
{int i,num;
num=2;
 for (i=0;i<3;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.h"
main()
{
int i,num;
num=2;
for(i=0;i<3;i++)
{
printf("/40: The num equal %d /n",num);
num++;
{
static int num=1;
printf("/40:The internal block num equal %d/n",num);
num++;
}
}
}
==============================================================
【程序44】
題目:學習使用external的用法。
1.程序分析:
2.程序源代碼:
#include "stdio.h"
int 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 %d/n",c);
}
==============================================================
【程序45】
題目:學習使用register定義變量的方法。
1.程序分析:
2.程序源代碼:
void main()
{
register int i;
int tmp=0;
for(i=1;i<=100;i++)
tmp+=i;
printf("The sum is %d/n",tmp);
}
==============================================================
【程序46】
題目:宏#define命令練習(1)   
1.程序分析:
2.程序源代碼:
#include "stdio.h"
#define TRUE 1
#define FALSE 0
#define SQ(x) (x)*(x)
void main()
{
int num;
int again=1;
printf("/40: Program will stop if input value less than 50./n");
while(again)
{
printf("/40:Please input number==>");
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; y=%d/n",x,y);
exchange(x,y);
printf("x=%d; y=%d/n",x,y);
}
==============================================================
【程序48】
題目:宏#define命令練習(3)   
1.程序分析:
2.程序源代碼:
#define LAG >
#define SMA <
#define EQ ==
#include "stdio.h"
void 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);
else
printf("/40: No such value./n");
}
==============================================================
【程序49】
題目:#if #ifdef和#ifndef的綜合應用。
1. 程序分析:
2.程序源代碼:
#include "stdio.h"
#define MAX
#define MAXIMUM(x,y) (x>y)?x:y
#define MINIMUM(x,y) (x>y)?y:x
void main()
{ int a=10,b=20;
#ifdef MAX
printf("/40: The larger one is %d/n",MAXIMUM(a,b));
#else
printf("/40: The lower one is %d/n",MINIMUM(a,b));
#endif
#ifndef MIN
printf("/40: The lower one is %d/n",MINIMUM(a,b));
#else
printf("/40: The larger one is %d/n",MAXIMUM(a,b));
#endif
#undef MAX
#ifdef MAX
printf("/40: The larger one is %d/n",MAXIMUM(a,b));
#else
printf("/40: The lower one is %d/n",MINIMUM(a,b));
#endif
#define MIN
#ifndef MIN
printf("/40: The lower one is %d/n",MINIMUM(a,b));
#else
printf("/40: The larger one is %d/n",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.h"
void 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);
else
printf("/40: No such value./n");
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章