C语言简单的算数运算和表达式

简单的算数运算和表达式

变量的类型决定了变量在内存中内存的字节数;

变量在内存中的存储方式(不同类型的变量合法的取值范围是不同的);

不同类型的变量参与的运算类型是不一样的;

问题:当算数运算符包含两个或两个以上的操作数时,根据什么确定运算顺序?

  • 运算符的优先级
  • 不同优先级时—从高到低运算
  • 相同优先级时----二元算数运算符为左结合(从左到右)

举例:a = -3 * 2 - 1 + 3 ; 和 a = - (3 * 2 - 1 +3);

​ a = ((-3 )* 2) - 1 + 3 ; a= (-6)-1+3; a = - (6 - 1 + 3 );

​ a = (-7) + 3; a = - (5 + 3);

​ a = -4; a = -8;

巧妙使用圆括号改变运算符顺序-------------从内往外运算。

计算并输出一个三位整数的个位、十位、百位数字之和

如何分离个位、十位、百位数字?

153/100 = 1

153%10 = 3 (取余的计算) 153-1*100-5 * 10 = 3

153-1*100 = 53 153%100 = 53

53/10=5 153/10%10=5

**随机函数 rand() **

  • 生成一个在0~32767之间的随机数

问题:怎样生成一个指定范围的随机数?

例题:生成一个在1~100之间的随机数?

magic = rand() % 100 + 1;

复合的赋值运算符

三种赋值形式:

  • 简单赋值:变量 = 表达式 ;
  • 多重赋值:变量1 = 变量2 =表达式 ;

赋值运算的结合性是右结合。

  • 复合的赋值:理解如下
num = num + 5;//两者是等价的
num += 5;//理解:num + 5赋值给num 简写形式更直观,且执行效率也会更高一些。

简单的赋值运算:例题:

已知a = 3;

执行 a += a -= a * a后,变量a的值?

a += a -= a * a

a += a -= 9

a += -6

a = -12

执行 a += a -= a *= a后,变量a的值?

a += a -= *a = a

a += a -= 9

a += 0

a = 0

  • 增1和减1运算符

n++,n–,++n,–n;

  1. ++让参与运算的变量加1,–让参与的运算减1;
  2. 作为前缀运算符时,先加/减1,在进行取值。

m = ++n; ------------->n = n + 1 ; m = n ;

  1. ++让参与运算的变量加1,–让参与的运算减1;
  2. 作为后缀运算符时,先取n的值,再进行加/减1的操作

m = n++; ------------------->m = n ; n = n + 1;

举例:对下面两种情况的比较

j = ++i - 2;//赋值i=5时
i = i + 1;//i= 6
j = i - 2
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值