C++程序经典例子 41-50

【程序41】

题目:学习static定义静态变量的用法   
1.程序分析:
2.程序源代码:

#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.程序分析:      
2.程序源代码:

#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.程序分析:
2.程序源代码:

#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.程序分析:
2.程序源代码:

#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.程序分析:
2.程序源代码:

#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.程序分析:
2.程序源代码:

#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.程序分析:            
2.程序源代码:

#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.程序分析:
2.程序源代码:

#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. 程序分析:
  2. 程序源代码:
#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.程序分析:
2.程序源代码:
test.h 文件如下:

#define LAG >
#define SMA <
#define EQ ==

主文件如下:

#include "test.h" /*一个新文件50.c,包含test.h*/
#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();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值