第二章 数据的存储和读入——第三、四节

第 三 节 运算符 和表达式第 四 节标准库函数
摘要由CSDN通过智能技术生成

第 三 节 运算符 和表达式
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
运算符具有三个属性:
 优先级:指运算的先后次序
 结合性:指相同优先级运算符连续出现时的计算顺序,分从左向右和从右向左两种,除特别声明外,皆指从左向右。
 目数:指运算符要求的操作数的个数,包括单目、双目和三目,一般目数越少,优先级越高。
表达式:由常量、变量、函数调用和运算符按一定规律组合在一起构成的式子。
如:a+14/(3+2)-sqrt(17)
2.3.1 运算符
1 2.3.1.1 算数运算

其中++和–结合性是从右向左,其余均为从左向右
优先级从高到低:
练习
 ++、–、+(取正)、-(取负)
、/、%
 +(加法)、-(减法)
取正、取负和加号、减号的区别
+5----取正,-5—取负
5+3—加号,5-3—减号
取正、取负是单目运算符
加号、减号是双目运算符
在除法运算(/)中,当两个操作数都是整数时,商也为整数,小数部分一律舍去。
如:
 1/2 的结果是 0(按照整型进行运算)
 1.0/2 的结果是 0.5(按照实型进行运算)
%(求余运算)要求两个操作数都是整型,结果为整除后余下的整余数。
例如:
 3%2=1
 53%3=2
自加、自减运算符(++、–)
 ++i,–i(在使用 i 之前,先使 i 的值加减 1)
 i++,i–(在使用 i 之后,使 i 的值加减 1)
例如:若 i 的值为 3,则:
j=++i; j 的值为 4,i 的值为 4
j=i++; j 的值为 3,i 的值为 4
注意:自加、自减运算符只能用于变量,而不能用于常量和表达式。
按照下列要求,编写一段程序
(1)int a=5,b=3
(2)输出 a+b,a-b,a
b,a/b 和 a%b
(3)输出 5/2 和 5.0/2
(4)定义 a=5,c=4,e=3,g=2;
(5)b=a++;d=c–;f=++e;h=–g;并输出 a~h
2.3.1.2 2 关系运算
优先级从高到低:
 <、<=、>=、>
 ==、!=
关系运算描述的是一种“判断关系”,其结果有“真(true)”和“假(false)”两种。用“1”代表“真”,用“0”代表“假”
例如:
 5>3 的结果为 1
 3>5 的结果为 0
2.3.13 .3 逻辑运算
优先级从高到低:
 !
 &&
 ||
其中“!”是单目运算符,优先级高于算术运算符。“&&”和“||”低于关系运算符。逻辑运算通常用来连接关系运算,逻辑运算符两端的操作数如为“非 0”,就当作“真”来处理,如果是“0”,便当作“假”来处理。逻辑运算的结果也只有 0(false)和 1(true)两种。
运算口诀:
一真或真:只要 a 或者 b 有一个为真(a 为真或者 b 为真),则 a 或 b(a||b)为真一假且假:只要 a 或者 b 有一个为假,则 a 且(与)b 为假p 和非 p 不相往来:p 和非 p 必然一真一假
请同学们背熟逻辑运算口诀,并完成下题。
a 为 true,b 为 1、c 为 false、d 为 0,判断下列表达式的真假性
(1)a||b
(2)a&&d
(3)!c
(4)!(a||c)
当多个&&连续出现时,如:表达式 1 && 表达式 2 && 表达式 3,从左到右只要一个操作数为 0,结果就为 0,不进行后续运算。
当多个||连续出现时,如:表达式 1 || 表达式 2 || 表达式 3,从左到右只要一个操作数为 1,结果就为 1,不进行后续运算。
前面介绍了在 C++中的三个逻辑运算符的表示形式,而在 NOIP 初赛中有时候使用的是逻辑运算的数学表示形式。对应下表:
4 2.3.1.4 条件运算
条件运算格式为:
 e1?e2:e3
这其中,e1 为条件表达式,当其成立时,将 e2 的值作为整个表达式的值,不再计算 e3的值;否则(e1 不成立时)取 e3 的值作为整个表达式的结果,而不计算 e2 的值。
如:max=(x>y?x:y);
//将 x 和 y 中较大的一个数赋值给变量 max
5 2.3.1.5 赋值运算
赋值运算前面已经提到过并且一直在使用赋值符号“=”了,这里进行一个总结。
格式:变量 赋值运算符 表达式
作用:将一个数据(数、字符等)赋给一个变量,并以变量的值作为整个表达式的值。
其中赋值运算符可以是“=”,也可以是复合赋值运算符,如“+=”、“-=”、“=”、“/=”
和“%=”等等。
复合赋值运算符
等价形式:以“+=”为例
x=x+2 等价于 x+=2
注:x=x+2 是正确的,它表示将 x 的值加 2 后再赋值到变量 x 中,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值