由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~
简单介绍了C#运算符与Math类,强调了易错点~
🌿前言
运算符+Math类,便可以完成绝大部分的数学运算。本文简单列出了常用的运算符,介绍了如何进入Math类源代码查看函数文档,最后着重强调了一些易错点。
🍀运算符
C#中有很多很多的运算符,但是常用的并不多。
其中,有一些对于小白参赛选手比较陌生,如:%是取余运算,Matlab编程语言中却是注释符号;++、–是变量的自加和自减;i += 3
等价于i = i + 3
;与(and且)运算符&&
、或(or或)运算符||
。具体可以参考小结部分微软官方帮助文档~
🌸Math类
C#中内置的Math类,可以实现一些高级的数学计算,比如Pow(幂运算)、向上向下取整、正反三角函数、对数…具体可以Ctrl+鼠标左键Math关键字进入定义查看。这也告诉读者,可以通过类似的方法进入其他的库查看文档源码。
🛴常用写法
double mathPI = Math.PI;//数学上的PI
double mathPI_2 = Math.Pow(mathPI, 2);//PI的方
//求一个数的平方的两种方法
double mathPI_sq1 = Math.Sqrt(mathPI);
double mathPI_sq2 = Math.Pow(mathPI, 0.5);
//三角函数
double sinPI = Math.Sin(mathPI);
double atan1_1 = Math.Atan(1);//反正切
double atan1_2 = Math.Atan2(1, 1);//反正切
double atan1_3 = Math.Atan2(-1, -1);//反正切
//其他
//Math.Floor、Math.Ceiling
🍟使用Math库如何免去Math.前缀
只需要添加using命令,即可实现使用Math不加Math.前缀。
🍗易错点
-
注意运算符的优先级
在使用运算符时,需要考虑到运算符的优先级(类似先加减后乘除这种),但笔者通常并不记忆太多,不确定的地方多一些括号即可。 -
i++与++i
- int与int运算
这个之前说C#基本数据类型时也特别强调过,int与int的运算结果仍为整数,例如5/2=2
,故需要避免出现int与int运算的情况。
- a<x<b
在C#中,这种两端条件的语法,需要用&&
与运算符连接,写成-1 < i && i < 0
这种形式。否则计算机会先运算1 < i
得到一个0或1值,再将得到的值与0比较大小,最后可能得到一个错误值。
- 角度的单位
在Math的三角函数中,所有的计算都是使用的弧度为单位。这个需要特别注意!
- Atan与Atan2
Atan与Atan2都可以用来计算反正切,其中Atan返回值在 -π/2 到 π/2之间,Atan2返回值在 -π 到 π 之间。具体可以查阅微软官方文档。
🌹结语
-
本章节并未介绍很高级的知识点,只是强调一些使用易错点,愿读者编程时能够避开雷区~
-
运算符不仅仅有优先级,还有结合性,还有一些位运算符等等读者可以自行多加了解,微软运算符文档:https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/
-
平时训练时也可以参考微软Math类文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.math?view=net-8.0
-
笔者为测绘遥感方向的学习者,愿意结交志同道合的伙伴,欢迎关注公众号与笔者一起交流学习~
-
路虽远,行则将至;事虽难,做则必成。希望认真学习的你能够有所收获~
-
本公众号的原创成果,在未经允许的情况下,请勿用于任何商业用途!
-
如果本文有幸可以帮到您,欢迎您的点赞👍、收藏⭐与关注❤;您的点赞👍、收藏⭐与关注❤是我创作的最大动力~