优雅的使用函数
代码示例运行结果截图:总结
优雅的使用函数很多同学第一次学习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!所有的代码都要去敲一下,不练习不进步,加油!编码少年们!!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)