当前位置: 首页 > news >正文

网站建设制作设计营销公司杭州seo短视频网页入口引流下载

网站建设制作设计营销公司杭州,seo短视频网页入口引流下载,外贸三种语言网站建设,wordpress 响应模板在C语言编程学习中,实现一个简易计算器是一个常见且有趣的练习项目。它不仅能帮助我们巩固基本的语法知识,如函数、循环、分支结构,还能让我们深入理解程序设计的逻辑。接下来,我们将分析三段实现简易计算器功能的C语言代码&#…

在C语言编程学习中,实现一个简易计算器是一个常见且有趣的练习项目。它不仅能帮助我们巩固基本的语法知识,如函数、循环、分支结构,还能让我们深入理解程序设计的逻辑。接下来,我们将分析三段实现简易计算器功能的C语言代码,探讨它们的特点和优势。

 

一、基础版本:简单直接的功能实现

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

 

void menu()

{

    printf("***1.add 2.sub****\n");

    printf("***3.mul 4.div****\n");

    printf("****** 0.exit ******\n");

    printf("********************\n");

    printf("请选择:");

}

 

int add(int x, int y)

{

    return x + y;

}

 

int sub(int x, int y)

{

    return x - y;

}

 

int mul(int x, int y)

{

    return x * y;

}

 

int div(int x, int y)

{

    return x / y;

}

 

int main()

{

    menu();

    int input = 0;

    scanf("%d", &input);

    int x = 0;

    int y = 0;

    printf("请输入:");

    scanf("%d%d", &x, &y);

    int ret = 0;

    switch (input)

    {

    case 1:

        ret = add(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 2:

        ret = sub(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 3:

        ret = mul(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 4:

        ret = div(x, y);

        printf("结果为:%d\n", ret);

        break;

    case 0:

        printf("退出成功!\n");

        break;

    default:

        printf("输入错误,请重新输入!\n");

    }

    return 0;

}

 这个版本的代码结构清晰,易于理解。 menu 函数负责打印操作选项菜单,让用户选择要进行的运算。 add 、 sub 、 mul 、 div 四个函数分别实现加、减、乘、除四种基本运算。在 main 函数中,通过 switch 语句根据用户的选择调用相应的函数进行计算,并输出结果。如果用户输入0,则退出程序;输入其他无效选项时,提示错误。

 这种实现方式的优点是逻辑简单明了,初学者容易上手。但缺点也很明显,代码的扩展性和复用性较差,如果需要添加新的运算功能,需要在 switch 语句中添加新的分支,修改的地方较多。

 二、进阶版本:使用函数指针数组优化

 #define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

 

void menu()

{

    printf("***1.add 2.sub****\n");

    printf("***3.mul 4.div****\n");

    printf("****** 0.exit ******\n");

    printf("********************\n");

}

 

int add(int x, int y)

{

    return x + y;

}

 

int sub(int x, int y)

{

    return x - y;

}

 

int mul(int x, int y)

{

    return x * y;

}

 

int div(int x, int y)

{

    return x / y;

}

 

int main()

{

    int(*pf[5])(int, int) = { 0, add, sub, mul, div };

    int input = 0;

    int x = 0;

    int y = 0;

    do

    {

        menu();

        printf("请选择:");

        scanf("%d", &input);

        if (input == 0)

        {

            printf("退出成功!\n");

            return 0;

        }

        else if (input >= 1 && input <= 4)

        {

            printf("请输入:");

            scanf("%d%d", &x, &y);

            int ret = pf[input](x, y);

            printf("%d\n", ret);

        }

        else

        {

            printf("输入错误!");

        }

    } while (input);

 

    return 0;

}

 这个版本引入了函数指针数组 pf ,将四个运算函数的指针存储在数组中。通过 do-while 循环,不断显示菜单并获取用户输入。当用户输入有效选项时,直接通过函数指针数组调用相应的函数进行计算,大大简化了 switch 语句的复杂结构。

 这种实现方式的优势在于提高了代码的可维护性和扩展性。如果需要添加新的运算功能,只需要在函数指针数组中添加新的函数指针,而不需要大幅修改 main 函数中的逻辑。

 

三、改进版本:分离输出功能

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

 

void menu()

{

    printf("***1.add 2.sub****\n");

    printf("***3.mul 4.div****\n");

    printf("****** 0.exit ******\n");

    printf("********************\n");

    printf("请选择:");

}

 

int add(int x, int y)

{

    return x + y;

}

 

int sub(int x, int y)

{

    return x - y;

}

 

int mul(int x, int y)

{

    return x * y;

}

 

int div(int x, int y)

{

    return x / y;

}

 

void test(int m)

{

    printf("结果为:%d\n", m);

}

 

int main()

{

    menu();

    int input = 0;

    scanf("%d", &input);

    int x = 0;

    int y = 0;

    printf("请输入:");

    scanf("%d%d", &x, &y);

    int ret = 0;

    switch (input)

    {

    case 1:

        ret = add(x, y);

        test(ret);

        break;

    case 2:

        ret = sub(x, y);

        test(ret);

        break;

    case 3:

        ret = mul(x, y);

        test(ret);

        break;

    case 4:

        ret = div(x, y);

        test(ret);

        break;

    case 0:

        printf("退出成功!\n");

        break;

    default:

        printf("输入错误,请重新输入!\n");

    }

    return 0;

}

 这个版本在基础版本的基础上,将结果输出功能分离到 test 函数中。在 switch 语句的每个分支中,先调用相应的运算函数得到结果,再调用 test 函数输出结果。

 这样做的好处是将计算和输出功能解耦,使代码结构更加清晰,也便于后续对输出格式或方式进行统一修改。

 通过对这三段代码的分析,我们可以看到在C语言编程中,从简单的功能实现到逐步优化代码结构,提升代码的可维护性和扩展性是一个不断学习和进步的过程。每一次改进都体现了对C语言特性的更深入理解和应用,希望这些分析能帮助大家在C语言学习和编程实践中有所收获。

http://www.zhongyajixie.com/news/16143.html

相关文章:

  • 网站编辑软件有哪些网络整合营销
  • 哪里有免费的网站推广软件啊seo搜索引擎优化是通过优化答案
  • 企业邮箱注册需要多少钱seo外链发布平台有哪些
  • 坪山网站建设哪家便宜怎么让百度收录
  • 手机做网站软件推广策划方案怎么写
  • 建设一个网站要多少钱最有效的线下推广方式
  • 宁波外贸建站公司能够免费换友链的平台
  • 做直播的视频在线观看网站搜索引擎推广有哪些平台
  • 温州市鹿城区建设小学网站百度快照优化推广
  • 做网站宣传有用吗国内真正的永久免费砖石
  • 深圳哪里有做网站推广的廊坊自动seo
  • 网站地图的使用seo关键词外包
  • 电视直播网站怎么做优化大师官方下载
  • 南通的互联网公司网站seo自学教程
  • 网站界面设计尺寸规范长沙百度推广开户
  • 网站没有经过我司审核通过白名单最新病毒感染
  • 手机网站建设设计兰州网络seo公司
  • 企业网站备案可靠的网站优化
  • 发卡网站怎么做seo推广外包企业
  • 可以做动漫网站的源码源码seo排名怎么看
  • 什么网站可以做miR的差异表达图中山seo关键词
  • 网站建设 武讯科技b站在哪付费推广
  • 高仿做的好点的网站2022年适合小学生的新闻
  • wordpress上传文件限制西安seo网络推广
  • 谁给个网站呀成都网络推广外包公司哪家好
  • 网站需要加wordpress广东网站seo营销
  • 济南疫情最新情况今天广州seo服务外包
  • 网站系统开发南宁百度seo排名优化软件
  • 石家庄市环保局网站建设项目备案系统seo发展前景怎么样啊
  • 茂名做网站公司淄博做网站的公司