当前位置: 主页 > 资讯 > > 详情
环球观察:第三章

哔哩哔哩   2023-07-02 12:20:53

判断

做判断

例:计算时间差


(资料图)

输入两个时间,每个时间分别输入小时和分钟的值,然后输出两个时间之间的差,也以几小时几分表示

如果

判断的条件

1、条件

计算两个值之间的关系,所以叫做关系运算

2、关系运算的结果

当两个值的关系符合关系运算符的预期时,关系运算的结果为整数1,否则为整数0

3、优先级

所有的关系运算符的优先级比算术运算的低,但是比赋值运算的高

判断是否相等的==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的

找零计算器

找零计算器需要用户做两个操作:输入购买的金额,输入支付的票面,而找零计算器则根据用户的输入做出相应的动作:计算并打印找零,或告知用户余额不足以购买。

从计算机程序的角度看,这就是意味着程序需要读用户的两个输入,然后进行一些计算和判断,最后输出结果。

注释

以两个斜杠“//"开头的语句把程序分成了三个部分:

初始化

读入金额和票面

计算并打印找零

延续数行的注释,要用多行注释的格式来写。多行注释由一对字符序列“/* "开始,而以“*/”结束。

也可以用于一行内的注释

否则的话

如果在if后面还有语句,它们在if结束后会执行,无论条件如何

如果钱不够,输出你的钱不够

else否则的话

if语句

一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果不是零,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。

if语句这一行结束的时候并没有表示语句结束的“;”,而后面的赋值语句写在if的下一行,并且缩进了,在这一行结束的时候有一个表示语句结束的“;”。这表明这条赋值语句是if语句的一部分,if语句拥有和控制这条赋值语句,决定它是否要被执行。

例:判断成绩

嵌套的if-else

例:找出三个数中的最大

如果要求输入三个整数,输出其中最大的,应该怎么做?

1. 嵌套的判断

当if的条件满足或者不满足的时候要执行的语句也可以是一条if或if-else语句, 这就是嵌套的if语句

else的匹配

else总是和最近的那个if匹配

缩进格式不能暗示else的匹配

Tips

在if或else后面总是用{}

即使只有一条语句的时候

级联的if-else if

1、分段函数

f(x)=-1; x<0

0; x=0

2x; x>0

代码:

级联的if-else if

if-else的常见错误

忘了大括号

永远在if和else后面加上大括号, 即使当时后面只有一条语

if后面的分号

错误使用==和=

if只要求()里的值是零或非零

4、使人困惑的else  

在if和else之后必须加上大括号形成语句块;

大括号内的语句缩进一个tab的位置;

多路分支

1、switch-case

控制表达式只能是整数型的结果

常量可以是常数,也可以是常数计算的表达式

switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case (分支标号)处。分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束为止。

练习

成绩转换

将一个百分制成绩转换为五分制成绩,转换规则

大于等于90分为A

小于90分且大于等于80为B

小于80分且大于等于70为C

小于70分且大于等于60为D

小于60为E