C程序100实例之五

【程序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++;
    }
    for(i=0; i<3; i++)
    {
        auto int num=1;
        printf("/40: The internal block num equal %d /n", num);
        num++;
    }
}

【程序43】
/* 欢迎访问 C++Builder研究 - www.ccrun.com */
题目:学习使用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++;
    }
    for(i=0; i<3; i++) 
    {
        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.程序源代码:
/* 63 63 72 75 6E 2E 63 6F 6D */
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
/* 欢迎访问 C++Builder研究 - www.ccrun.com */
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");
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值