分享一下在C语言中运算符和表达式
1.算数运算符和算数表达式:
算数 就是我们平时日常生活中的加减乘除等。、
在C语言中的运算符号分别为如下:
+(加) -(减) *(乘) /(除) %(取余)
在计算机运算中也是有符号优先级,先乘除后加减,有括号先算括号里面的 自左向右
和平时算法是一样的。
举例子:
2+9*7-2*8 在这个中我们是先算9*7=63 然后算2*8=16 最后算2+63-16=49
所以最后结果为49
在算法运算中一定要注意数据类型 在我们平时的算法中5/2=2.5
但是在计算机中结果却等于2 这是什么原因?因为在计算机中这是
两个整数想除,结果为一个整数,那么本来结果是2.5 但是要为整数所以结果为2
如果分子小于分母 像这样2/3 其结果是为0 所以在C语言中一定要注意算法的数据类型
说说取余 5%3=2 这种是两个正数取余 如果是-5%3=? 其结果为-2 如果是5%-3=2
举个错误的例子2.3%2= 这是在C语言运行中是错误的因为2.3除以2取余 2.3是一个浮点数
在%两端因该是整数类型。
算术表达式是由算术运算符和操作数组成的表达式。表达式的值是一个数值,表达式的类型具体由运算符和操作数确定。
例如: 5+3*(6-2) 表达式的类型为int 型。
3+4.0-3/2.0 表达式的类型为double型。
(3)数据类型转换:C语言允许不同类型的操作数据进行混合运算,但运算时系统先将操作数转换成同一类型数据,然后进行运算。
类型转换分为: 强制转换
隐含转换
隐形转换
强制类型转换:格式如下
(类型名) (表达式)
例如: int a; float x,y;
(double) a、(int)(x+y)、(float)(5%3)、(int)x+y 这种属于强制转换
若有 int i, float f, double d, long e
则 10+'a'+i*f-d/e 表达式运算次序为:
①将'a'转换成97,然后10+'a'运算。
② 将i和f都转换成double型,然后i*f运算。
③ 将 ①的结果转换为double型,然后与 ②的结果相加。
④ 将e转换成double型,然后d/e运算。
⑤ 用③的结果减 ④的结果。
接下说说其应用
如何分离123这三位数的百位十位个位;
我们把a b c 分别定义为百位 十位 个位
那么c=123%10
b=(123/10)%10
a=123/100
说说其他容易出错的地方
问题1.输入两个电阻值,计算他们并联后的电阻值
编好的程序如下
提示为运行错误 为什么会这样/?
因为我输入的值为1/1500 为0 1/4700 也为0 0+0=0 然后用1/0 这是不允许的
那么我们该如何改进?
但是数据还是不准确 换成另一种
这种改进就比较精确点 但是还不是最精确的 所以说在编程的过程中 一定要注意数据类型。