C语言计算器设计实验报告
班级:11661 姓名: 学号:38号
一、实验目的:利用C语言编写一个简单的计算器,并能正确运行+,-,*,/四则运算。
二、实验内容:
1、 编写前分析;
(1)、根据实验目的,要求键盘录入表达式,并运行后输出结果;由于键盘录入的表达式含数字和运算符,所以要选择用字符串数据类型输入。
(2)、由于输入的是字符串,而只有数值类型的数据才能参与运算,所以得把字符(串)类型的数据转换为数值类型的数据。
(3)、四则运算时,括号优先级高于乘除,乘除优先级高于加减,程序必须能正确判断其优先级才能得出正确的结果。
(4)、为了保证运行结果的精确度需正确选择所用变量的数据类型。
2、利用所学知识进一步分析以上内容;
(1)、利用gets函数输入表达式,例如:gets(calc);
(2)、C语言中将字符类型数据转化成数值类型数据方法很多,该程序利用函数库stdlib.h中的atof函数来实现这一目的。同时注意主函数前加上预处理指令:#include<stdlib.h>。
(3)、为了能正确判断优先级,该程序利用函数间的多层嵌套,循环调用来实现;从优先级最高的括号开始判断,若有括号,再判断括号内部,若无括号判断是否为乘除,最后判断加减;括号内内容法方类似。具体判断方法在后面将以实例详细介绍。
(4)、为了保证输出数据的精确度,该程序中函数f1()-f4()返回值均用double类型;用g格式符输出最终结果让输出结果简明而又能保证其精确度。
…… …… 余下全文