C语言100个算法经典例题(五)

【程序41】题目:学习static 定义静态变量的用法
1.程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.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();
getch();
}

==============================================================
【程序42】 题目:学习使用auto 定义变量的用法
1.程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.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
++;
}
}
getch();
}

==============================================================
【程序43】题目:学习使用static 的另一用法。
1.程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.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
++;
}
}
getch();
}

==============================================================
【程序44】题目:学习使用external 的用法。
1. 程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.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);
getch();
}

==============================================================
【程序45】题目:学习使用register 定义变量的方法。
1. 程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.h"
void main()
{
register
int i;
int tmp=0;
for(i=1;i<=100;i++)
tmp
+=i;
printf(
"The sum is %d\n",tmp);
getch();
}

==============================================================
【程序46】题目:宏#define 命令练习(1)
1.程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.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;
}
getch();
}

==============================================================
【程序47】题目:宏#define 命令练习(2)
1.程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.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);
getch();
}

==============================================================
【程序48】题目:宏#define 命令练习(3)
1.程序分析:

程序源代码:
#define LAG >
#define SMA <
#define EQ ==
#include
"stdio.h"
#include
"conio.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");
getch();
}

==============================================================
【程序49】题目:#if #ifdef 和#ifndef 的综合应用。
1. 程序分析:

程序源代码:
#include "stdio.h"
#include
"conio.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
getch();
}

==============================================================
【程序50】题目:#include 的应用练习
1.程序分析:

程序源代码:
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");
}
posted @ 2011-08-22 12:08  心灵工程师  阅读(508)  评论(0编辑  收藏  举报