#include <stdio.h>
#include <math.h>
#include <memory.h>
#define EPS 1e-16
/*
本篇复习介绍:
1、选择控制结构中的switch语句用法
2、关于scanf %c的应用, 详细可看我前面写的关于字符处理的博文
3、EPS应用两数近似比较、 EPS应用于判断浮点数是否含小数部分
浮点数比较EPS:
浮点数在计算机中存储的并不是准确的值,只是一个近似值。在精度范围内有效,超出精度就不准确了。
一般而言单精度可以接受实型常量的7位有效数字 EPS 1e-7
双精度 可以接受16位 EPS 1e-16
所以两个浮点数在进行判断相等的关系时, 并不能直接用 if(a == b)的形式
他们只有在一定的精度范围内是相等的,超出精度的部分就失常了。
引入一个自己定义的EPS常量来定义最大精度
对两个浮点数进行等值比较,应判断两个浮点数差值的绝对值是否近似为0
即是否位于0附近的一个很小的区间[-EPS,EPS]内。
用于多路选择的switch语句:
当问题需要讨论的情况较多(一般大于三种)时,通常使用开关语句来简化程序的设计.
(1)根据一个表达式的不同取值,选择其中一个或几个分支去执行.
(2)表达式只能是char型或int型.
(3)在switch花括号中的关键字case后面接的是常量.
注:常量与case中间至少有一个空格,常量的后面是冒号,常量的类型与switch后括号内的表达式的类型一致.
*/
int main()
{
/*
编程实现简单的计算器功能,要求用户按如下格式从键盘输入算式:
操作数 1 运算符 op 操作数 2
计算并输出表达式的值,其中算术运算符包括:加(+)、减(-)、乘(*)、除(/).
*/
// int data1, data2;
// char op;
//printf("please enter an expression:");
//scanf("%d%c%d", &data1, &op, &data2);
//switch (op)
//{
// case '+' :
// printf("%d + %d = %d\n", data1, data2, data1 + data2);
// break;
// case '-' :
// printf("%d - %d = %d\n", data1, data2, data1 - data2);
// break;
// case '*' :
// printf("%d * %d = %d
(C语言之复习demo_09--自我复习使用-可供参考)-选择控制结构Switch语句复习- EPS常量 浮点数比较简介与应用-scanf %c格式符运用
最新推荐文章于 2024-05-01 18:56:17 发布