算术运算符 + 赋值运算符 + 自增运算符和自减运算符 + 表达式求值 + 表达式语句

4.1 算术运算符

① + 加法运算符;     - 减法运算符;    * 乘法运算符;     / 除法运算符;      % 求余运算符;

②以上二元运算符允许操作数是整数和浮点数两者混合,int型和float型混合为float型;

③ / 的结果会丢掉分数部分,eg 1 / 2 结果是0;

④ % 的操作数必须都是整数;

⑤ / 和 % 的右操作数不能为0;

⑥读取单个的数字,可采用 %1d转换说明的scanf函数;

4.2 赋值运算符

①表达式 v = e 的赋值效果是求出表达式 e 的值,并把此值复制给 v。e可以是常量、变量或更为复杂的表达式;

②如果 v 和 e 的类型不同,e 的值转化为 v 的类型;

③在C语言中,赋值就像 + 那样是运算符。换句话说,赋值操作产生结果,就如同两个数相加产生结果一样,赋值表达式 v = e 的值就是复制运算后 v 的值;因此 i = 72.99f的值是72而不是72.99;

int i;
float f;

i = 72.99f;            //i is now 72
f = 136;               //f is now 136.0

④由于存在类型转换,串在一起的赋值运算最终结果可能不是预期;

int i;
float f;

f = i = 33.3f;    //首先把33赋值给i,然后把33.0(而不是预期的33.3)赋值给变量f

⑤左值:存储在计算机内存中的对象。   赋值运算符要求它的左操作数必须是左值,而不是常量、表达式或计算的结果;

⑥利用变量的原有值计算出新值并重新赋值给这个变量在C语言中是非常普遍的;

i = i + 2;

利用复合赋值运算符可改写为

i += 2;

v += e 表示v加上e,然后将结果存储到v中;

v -= e 表示v减去e,然后将结果存储到v中;

v *= e 表示v乘以e,然后将结果存储到v中;

v /= e 表示v除以e,然后将结果存储到v中;

v %= e 表示v除以e取余数,然后将结果存储到v中;

4.3 自增运算符和自减运算符

①简单理解, ++表示操作数加1,-- 表示操作数减1。++,--作为前缀时,意味立即自增或自减,++,--作为后缀时,意味着现在先用i的原始值,稍后再自增,“稍后”可大胆假设为在下一条语句执行前进行自增或自减;

i = 1;

printf("i is %d\n", --i);     //i is 0
printf("i is %d\n", i--);     //i is 0
i = 1;

printf("i is %d", i--);     //i is 1
printf("i is %d", i);       //i is 0

4.4 表达式求值

①                                                   部分C语言运算符表 

优先级类型名称符号结合性
1(后缀)自增++左结合
(后缀)自减--
2(前缀)自增++右结合
(前缀)自减--
一元正号+
一元负号-
3乘法类* / %左结合
4加法类+ -左结合
5赋值=   *=   /=   %=   +=   -=右结合

②有了运算符和优先性和结合性规则我们可以将任何C语言表达式划分为子表达式。当子表达式改变了某个操作数的值时,产生的值可能就不一致了

a = 5;
c = (b = a + 2) - (a = 1);

在表达式中,即在某处访问变量的值又在别处修改它的值是不可取的,因此,不要在子表达式中使用赋值运算符,而是采用一串分离的赋值表达式

a = 5;
b = a + 2;
a = 1;
c = b - a;

③“取出”变量意味着从内存中获取它的值。变量的后续变化不会影响已取出的值,因为已取出的值通常存储在CPU中称为寄存器;

4.5  表达式语句

①C语言中任何表达式都可以作为语句,不论表达式是什么类型,计算什么结果,都可以通过在后面添加分号将其转换为语句;

②较低次整数幂用重复乘法运算的方式,计算非整数次幂,调用pow函数;

③ %运算符要求操作数是整数,不能用于浮点数。浮点数可用fmod函数;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值