浅谈C中的函数,以一个小的加减乘除计算器为例

浅谈C中的函数,以一个小的加减乘除计算器为例,第1张

浅谈C中的函数,以一个小的加减乘除计算器为例

新手如何使用c写一个控制台计算器

优雅的使用函数

代码示例运行结果截图:总结

优雅的使用函数

很多同学第一次学习C语言的时候,对函数的概念并不清晰,其实,用一种通俗且粗暴的方式来理解的话,你可以将函数想象成一个不可见的管道,一端传入参数,一端返回结果,管道中有着各种 *** 作数据的方法,接下来以一个例子来说明:

代码示例运行结果截图:


上图就是一个简单的计算加和的方法截图,其实现包含了一些大家编写时的代码规范与实现思路:
就以加法为例,其中定义了一个add()函数方法用于进行加和 *** 作,该函数方法由头文件引入并被主函数调用,其余方法流程基本一致,其中add只关注你传入的两个参数,它 *** 作后将结果返回给你,其中实现思路如下:

    将主方法与具体函数声明与实现分开处理
    首先创建一个.h后缀的文件,进行函数原型的声明
int add(int i, int j);

int subtract(int i,int j);

int multiply(int i,int j);

int divide(int i,int j);
    将函数实现与声明分开,提高可读性
    其次创建一个.c后缀的文件进行函数的具体实现
#include "mymath.h"

int add(int i, int j) {
    return i + j;
}

int subtract(int i, int j) {
    return i - j;
}

int multiply(int i, int j) {
    return i * j;
}

int divide(int i, int j) {
    if (j == 0) {
        return -1;
    }
    return i / j;
}

    创建主方法进行调用
    最后创建一个main.c文件进行代码调用与其余流程的实现,实现方法很多,大家还需要多多探索
include
#include "mymath.h"

//函数原型的声明

int main() {

    int flag, i, j;
    //设置标志位使得其中代码循环
    int quit = 0;
    while (quit == 0) {

        printf("************************n");
        printf("*                      *n");
        printf("*1.ADD                 *n");
        printf("*2.SUBTRACT            *n");
        printf("*3.MULTIPLY            *n");
        printf("*4.DIVIDE              *n");
        printf("*5.QUIT                *n");
        printf("************************n");
        printf("select a number for function:n");
        scanf("%d", &flag);

        //进行分支选择 *** 作
        switch (flag) {
            case 1:
                printf("please input two number for add:n");
                scanf("%d%d", &i, &j);
                printf("the answer is:%dn", add(i, j));
                break;
            case 2:
                printf("please input two number for subtract:n");
                scanf("%d%d", &i, &j);
                printf("the answer is:%dn", subtract(i, j));
                break;
            case 3:
                printf("please input two number for multiply:n");
                scanf("%d%d", &i, &j);
                printf("the answer is:%dn", multiply(i, j));
                break;
            case 4:
                printf("please input two number for divide:n");
                scanf("%d%d", &i, &j);
                //进行判断防止除零异常
                if (j == 0) {
                    printf("error input for divide by zeron");
                    break;
                }
                printf("the answer is:%dn", divide(i, j));
                break;
            case 5:
            //修改标志位跳出循环,结束程序
                quit = 1;
                return 0;
            default:
                printf("system error!");
        }
    }

}


Tips:其中值得讲解的有:

在刚开始学习代码时就要养成良好的编程习惯,不要将所有的代码写在一个文件中,这样不利于阅读,且杂乱不容易纠错;还要进行一定的注释,说明代码的含义,利于后续的维护与合作,不注释的代码都是狗粑粑;很多童靴在学习之初都会迷茫,这很正常,不要焦虑与紧张,多写多练养成编程思维;还有就是函数声明的问题,若你就想写在一个文件中,你可能会遇到方法找不到的问题,这大概率是因为你没有进行函数原型的声明,你可以将方法提到main函数之前,或者进行函数原型声明如图1所示的那种方式进行声明,该错误就会解决。

总结

很多的同学在学习一门语言的时候,可能就是抱着书与视频看啊品啊,但最后的结果都是一无所得,甚至将自己越绕越迷糊,这都是因为对知识理解不透彻,不要小看每一个hello world!所有的代码都要去敲一下,不练习不进步,加油!编码少年们!!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5702301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存