用《叩响C#之门》复习C#基础知识 第三章 运算符和表达式

这章基本上写的中规中矩,和一般的入门书籍差不多,但即便这样,作者的认真还是让人佩服!写点自己的体会和需提醒自己的地方

1、真是惭愧,一上来就发现自己连基姆拉尔森公式都不知道,真的很厉害,轻松算出日期所对应的星期几。

int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;

2、在算数中“/”除法,对于整型,除之后得到的必定为整型,如5/2==2;对于实数,被除后必定为实数,而且运算正确,如 5.0/2.0==2.5。

3、希望键盘输入数字,要用转换,如:Convert.ToDouble(Console.ReadLine());

4、C#提供了大量的数学函数,为Math类,常用函数如下:

乘方 Math.Pow(2,3);//代表2的3次方

开方 Math.Sqrt(16);//16开方为4

e的次方 Math.Exp(7);//e7

绝对值 Math.Abs(-3);//|-3|

对数 Math.Log(8,2);//log28

常用对数 Math.Log10(100);//lg100

正弦函数 Math.Sin(Math.PI/3);//sin∏/3

余弦函数 Math.Cos();

正切函数 Math.Tan();

5、自增自减符

口令是:后置先使用后自增;前置先自增后使用

6、运算符的优先级不管如何,为了程序便于理解,最好还是加括号,增强可读性

7、类型转换中的显式转换时,可以使用checked关键字对显式转换进行检查,如

int n=9999999;

short s=checked((short)n);

就会因为溢出,程序产生报警。如果不用checked,short型会将int型超出short型位数以外的数据全部丢掉,这叫截断,程序不会报错,但转换过去的数据与元数据不一样,数据发生了丢失。除了checked来检查溢出,也可在菜单中选择“项目”—>“属性”—>“生成”—>“高级”,再“检查运算上溢/下溢”复选框,来检查溢出,此时,除非语句中使用关键字unchecked,都会对所有的转换进行溢出检查。

Convert.To…()的转换,都是要进行溢出检查,与checked关键字及项目里属性设置无关。

如:

int n = 9999999;
long l = Convert.ToInt32(n);// 就是对的

short s = Convert.ToInt16(n);//就会报错

posted on 2009-10-09 23:44  友闻语上  阅读(207)  评论(0编辑  收藏  举报