运算符和表达式

分享一下在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是一个浮点数 

在%两端因该是整数类型。


(2)算术表达式

 算术表达式是由算术运算符和操作数组成的表达式。表达式的值是一个数值,表达式的类型具体由运算符和操作数确定。

例如:  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  这是不允许的 

那么我们该如何改进?

但是数据还是不准确  换成另一种


这种改进就比较精确点 但是还不是最精确的 所以说在编程的过程中 一定要注意数据类型。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值