我也要学C++_第二章:整数表达式

Posted on 2011-07-15 12:49  dodolook  阅读(2971)  评论(62编辑  收藏  举报

上章回顾

  C++的学习终于开了个头,内心是无比兴奋的,上章节我学习定义一些变量,然后对这些变量进行一些简单的操作,以及一些这些简单操作连带的一些结构控制,编译差错基本方法。在这章中,我将学习最基础的算术操作符。

阅读代码

这段代码是什么意思呢?!我一行一行的来读了:

第8-9行:我将变量sum,count的值初始化为0。在变量后边跟个括号,里面可以写上任何1个所声明变量类型的值,而且这个值也可以不是常量。如果不想初始化变量的值则必须删除小括号哦!

第10行:声明了变量X,这里为什么我没有进行初始化呢,因为后面有std::cin >> x.一般来说,声明了1个变量应该为其初始化。因为不初始化的值可能是垃圾值,所以不安全。不过这里是安全的。

第14-15行:使用了加法和赋值。我知道1个INT型的变量是有大小的,如果这里输入的值造成溢出了怎么办,这个问题我暂且不考虑。

第18行:输出你所输入值的平均值。

我尝试运行此程序:

不错!这个结果就是我所期待的结果,嘿嘿!但是如果我们什么都不输入,直接键入list0301 < NUL 程序会怎么样呢?!试试看,因为我们写一个程序必须要考虑到任何情况,程序写得壮壮的才好!

郁闷直接就这样了!难道C++不允许除数为0吗?!肯定是的,不然怎么程序就这样了呢!那怎么办呀!只有修改程序了,如何修改呢,既然C++不让除数为0,那么我就检查下如果为0,就不让程序进行除法运算!怎么去检查呢,用if吧,做一个条件结构控制,那么现在就改写程序!

嗯,现在好啦!为了检测程序,我另外输入几个数据运行着玩玩:

好奇怪!这是怎么回事,2+5+4=11 11/3=3 !不对吧!怎么小数哪里去了!难道C++把小数跟扔了,通过搜寻相关资料后知道了,其他一些语言对于整数除法和浮点数除法使用不通的操作符,而C++使用的是相同的操作符,然后根据上下文决定使用哪种除法。如果2个数都是整数,则结果也是整数。比如5/3和 4/3是等价的,都等于1.

测试整数的奇偶性

  

这个程序就差一步啦!既然要判断奇偶性呢!就用取余吧!因为要是是偶数%2=0,奇数%2=1啊!对!就这样办了!

这个程序算是成功了!再思考了下,这里我用的!=,能不能用==呢!当然能了,只是下面的打印信息得换个位置了!写这个程序刚开始时候的时候,我还犯错了,我改写的时候把==写成=,刚开始还不知道怎么回事呢!我以后一定要注意这个问题。

修改打印平均值程序

  突然想到了1个问题,就是刚才打印平均值的那个程序,当count为0 的时候,程序就退出了,没有任何提示的退出,我觉得这样实在太不好了!应该给人1个提示啊,那么现在再改改那个程序:

嗯!现在差不多啦!够健壮啦!刚才又差点犯1个错误,我差点习惯性的把count == 0 写成count = 0 啦!结果编译器没有报错,如图:

晕!应该会报错的呀!通过搜寻资料发现,原因是我没有开启-Wall编译器参数,但是我找遍了IDE每个地方都没有发现如何去添加编译器参数!要是谁知道请告诉我!谢谢呢!