第17课 零售与批发
零售与批发(else、常量)

如果……那么……
如果……那么……否则……
多了一个否则,如果……那么……不去完成的事情,由否则来完成。
if不做的事情,让else来完成,一个整数如果能被二整除,那么它是偶数,否则它是奇数。
温故知新
没有else之前,需要再编写一个if语句。有了else,可以直接将if不满足的条件通过排除法给else来完成。

运行程序:
请输入整数:36
36是偶数。
翻译助力理解
●else:其他的。
划重点
断案之真真假假,if语句的执行特别讲究条件。
条件有成立和不成立(即满足和不满足),在程序中成立和满足表示为true,不成立和不满足表示为false。
翻译助力理解
●true:真的。
●false:假的。
2==2(真-true)
3>4(假-false)
46 % 2==1(假-false)。
35 % 2>=1(真-true),只要满足大于和等于其中一个条件就是真。
零售与批发
超市正在促销一款牛奶,厂商对牛奶设计了一个促销阶梯价,买得越多越便宜。1~4箱按照零售价售卖,为62元每箱,5箱以上的价格为58元每箱,20箱以上的价格为50元每箱,100箱以上的价格为45元每箱。
假设购买21箱,价格是这样计算的:21×50=1050。
设计一个程序,实现输入牛奶采购数量就能快速计算出采购费用。

运行程序:
请输入牛奶采购数量:56
采购费用总共为:2800
(1)const int PRICE1=62, PRICE2=58, PRICE3=50, PRICE4=45:声明4个价格常量。
const数据类型名称同时初始化变量,这样声明的是常量,常量名称习惯全部采用大写字母,便于区分。常量是不变化的量,在程序中用于存储固定的数据。常量在编程中非常有用,因为它们可以提高代码的可读性和可维护性,并确保特定的值不会被意外修改。
这里厂商设置了4个促销价格,这4个价格不希望被修改。当牛奶采购的数量达到对应的数量时,就按照规定的促销价格计算。
变量是可变的量,常量是不可变的量。
对比学习
在程序中修改常量的值,程序就会出错。

运行程序报错:
[Error]assignment of read-only variable'PRICE'
光标在错误的代码行里高亮显示,帮助我们快速定位问题代码位置。

翻译助力理解
●Error:错误。
●assignment:赋值。
●read-only:只读。
●variable:变量。
这个错误信息说明我们在给一个被声明为只读(read-only)的变量PRICE赋值。在C++中,被声明为const的变量是只读的,它们的值在初始化后就不能被修改。因此,尝试对一个const变量进行赋值操作会导致编译错误。
修改变量的值,输出变化后的数据。

运行程序,输出修改后的数值:
(2)else if(){}:在else之前还出现了几个else if。
else if语句用于在一个if语句后面添加额外的条件。如果前面的if条件为假(不成立),而else if中有条件为真(成立),那么执行对应条件成立的else if代码块。
可以使用多个else if来添加多个条件,条件从上往下依次判断,但只要有一个else if条件成立,就不继续进行后面的条件判断。
敲黑板

①单个if语句:
if(条件){
条件成立时执行程序A}

②多个if语句:
if(条件1){
条件1成立时执行程序A}
if(条件2){
条件2成立时执行程序B
if(条件3){
条件3成立时执行程序C

③if-else语句:
if(条件){
条件成立时执行程序A}else{
条件不成立时执行程序B

④if-else if语句:
if(条件1){
条件1成立时执行程序A}
else if(条件2){
条件2成立时执行程序B
else if(条件3){
条件3成立时执行程序C

⑤if-else if -else语句:
if(条件1){
条件1成立时执行程序A}
else if(条件2){
条件2成立时执行程序B
else if(条件3){
条件3成立时执行程序C
else{
以上条件都不成立时执行程序D


巩固练习
(1)以下哪种方式可以定义常量π?()
A.const float pi=3.14
B.int pi=3.14
C.const int pi=3.14
D.float pi=3.14
(2)假设按照以下规则将年龄进行分段:0~6岁为婴幼儿,7~12岁为少儿,13~17岁为青少年,18~45岁为青年,46~69岁为中年,69岁以上为老年。
编写一个程序,根据用户输入的年龄给出对应的分段。
(3)编写一个程序,用于确定输入年份是不是闰年。
闰年判断规则:
如果年份可以被4整除但不可以被100整除,则为闰年。
如果年份可以被400整除,则为闰年。
