前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言经典编程题100例 41~50

C语言经典编程题100例 41~50

作者头像
C you again
发布2022-08-22 14:51:38
1.1K0
发布2022-08-22 14:51:38
举报
文章被收录于专栏:IT技术圈IT技术圈

41、学习static定义静态变量的用法。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    void fun();
    for(int i=0; i<3; i++)
        fun();
    return 0;
}
void fun()
{
    int i=0;
    static int static_i=0;
    printf("i=%d\n",i);
    printf("static_i=%d\n",static_i);
    i++;
    static_i++;
}

运行结果:

i=0 static_i=0 i=0 static_i=1 i=0 static_i=2

42、学习使用auto定义变量的用法。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int i,num;
    num=2;
    for(i=0; i<3; i++)
    {
        printf("num 变量为 %d \n",num);
        num++;
        {
            auto int num=1;
            printf("内置模块 num 变量为 %d \n",num);
            num++;
        }
    }
    return 0;
}

运行结果:

num 变量为 2 内置模块 num 变量为 1 num 变量为 3 内置模块 num 变量为 1 num 变量为 4 内置模块 num 变量为 1

43、学习使用static的另一用法。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int i,num;
    num=2;
    for(i=0; i<3; i++)
    {
        printf("num 变量为 %d \n",num);
        num++;
        {
            static int num=1;
            printf("内置模块 num 变量为 %d\n",num);
            num++;
        }
    }
    return 0;
}

运行结果:

num 变量为 2 内置模块 num 变量为 1 num 变量为 3 内置模块 num 变量为 2 num 变量为 4 内置模块 num 变量为 3

44、学习使用如何调用外部函数。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include <stdio.h>
int a,b,c;
void add()
{
    int a;
    a=3;
    c=a+b;
}
int main()
{
    a=b=4;
    add();
    printf("c 的值为 %d\n",c);
    return 0;
}

运行结果:

c 的值为 7

45、学习使用register定义变量的方法。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    register int i;
    int tmp=0;
    for(i=1; i<=100; i++)
        tmp+=i;
    printf("总和为 %d\n",tmp);
    return 0;
}

运行结果:

总和为 5050

46、宏#define命令练习。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include<stdio.h>
#define TRUE 1
#define FALSE 0
#define SQ(x) (x)*(x)
int main()
{
    int num;
    int again=1;
    printf("如果值小于 50 程序将终止。\n");
    while(again)
    {
        printf("\n请输入数字:");
        scanf("%d",&num);
        printf("该数字的平方为 %d \n",SQ(num));
        if(num>=50)
            again=TRUE;
        else
            again=FALSE;
    }
    return 0;
}

运行结果:

如果值小于 50 程序将终止。 请输入数字:100 该数字的平方为 10000 请输入数字:5 该数字的平方为 25

47、宏#define命令练习2。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include<stdio.h>
#define exchange(a,b) { int t;t=a;a=b;b=t;}//注意放在一行里
int main()
{
    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);
    return 0;
}

运行结果:

x=10; y=20 x=20; y=10

48、宏#define命令练习3。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#define LAG >
#define SMA <
#define EQ ==
#include <stdio.h>
int main()
{
    int i,j;
    printf("请输入两个数字:\n");
    scanf("%d %d",&i,&j);
    if(i LAG j)
        printf("%d 大于 %d \n",i,j);
    else if(i EQ j)
        printf("%d 等于 %d \n",i,j);
    else if(i SMA j)
        printf("%d 小于 %d \n",i,j);
    else
        printf("没有值。\n");
    return 0;
}

运行结果:

请输入两个数字: 1 2 1 小于 2

49、#if #ifdef和#ifndef的综合应用。

程序分析:

无。

参考代码:

代码语言:javascript
复制
#include<stdio.h>
#define MAX
#define MAXIMUM(x,y)(x>y)?x:y
#define MINIMUM(x,y) (x>y)?y:x
int main()
{
    int a=10,b=20;
#ifdef MAX
    printf("更大的数字是 %d\n",MAXIMUM(a,b));
#else
    printf("更小的数字是 %d\n",MINIMUM(a,b));
#endif
#ifndef MIN
    printf("更小的数字是 %d\n",MINIMUM(a,b));
#else
    printf("更大的数字是 %d\n",MAXIMUM(a,b));
#endif
#undef MAX
#ifdef MAX
    printf("更大的数字是 %d\n",MAXIMUM(a,b));
#else
    printf("更小的数字是 %d\n",MINIMUM(a,b));
#endif
#define MIN
#ifndef MIN
    printf("更小的数字是 %d\n",MINIMUM(a,b));
#else
    printf("更大的数字是 %d\n",MAXIMUM(a,b));
#endif
    return 0;
}

运行结果:

更大的数字是 20 更小的数字是 10 更小的数字是 10 更大的数字是 20

50、#include 的应用练习。

程序分析:

无。

参考代码:

test.h 文件代码如下:

代码语言:javascript
复制
#define LAG >
#define SMA <
#define EQ ==

主文件代码:

代码语言:javascript
复制
#include "test.h"
#include <stdio.h>

int main()
{
    int i=10;
    int j=20;
    if(i LAG j)
        printf("%d 大于 %d \n",i,j);
    else if(i EQ j)
        printf("%d 等于 %d \n",i,j);
    else if(i SMA j)
        printf("%d 小于 %d \n",i,j);
    else
        printf("没有值。\n");
    return 0;
}

运行结果:

10 小于 20

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档