新手如何使用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<stdio.h>
#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:%d\n", add(i, j));
break;
case 2:
printf("please input two number for subtract:\n");
scanf("%d%d", &i, &j);
printf("the answer is:%d\n", subtract(i, j));
break;
case 3:
printf("please input two number for multiply:\n");
scanf("%d%d", &i, &j);
printf("the answer is:%d\n", 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 zero\n");
break;
}
printf("the answer is:%d\n", divide(i, j));
break;
case 5:
//修改标志位跳出循环,结束程序
quit = 1;
return 0;
default:
printf("system error!");
}
}
}
Tips:其中值得讲解的有:
在刚开始学习代码时就要养成良好的编程习惯,不要将所有的代码写在一个文件中,这样不利于阅读,且杂乱不容易纠错;还要进行一定的注释,说明代码的含义,利于后续的维护与合作,不注释的代码都是狗粑粑;很多童靴在学习之初都会迷茫,这很正常,不要焦虑与紧张,多写多练养成编程思维;还有就是函数声明的问题,若你就想写在一个文件中,你可能会遇到方法找不到的问题,这大概率是因为你没有进行函数原型的声明,你可以将方法提到main函数之前,或者进行函数原型声明如图1所示的那种方式进行声明,该错误就会解决。
总结
很多的同学在学习一门语言的时候,可能就是抱着书与视频看啊品啊,但最后的结果都是一无所得,甚至将自己越绕越迷糊,这都是因为对知识理解不透彻,不要小看每一个hello world!所有的代码都要去敲一下,不练习不进步,加油!编码少年们!!!!