“C++ 编程入门班” 练习三
外观
本课学习目标
- 完成所有基本程序结构(顺序、分支、循环)语句的学习
- switch语句
- 循环结构中break和continue语句的使用
- 复习巩固各程序结构的语句
- 进一步熟悉同类结构中不同语句之间的区别(例如switch语句和 if语句、if-else语句的区别,while循环和do-while循环的区别)
- 结构的嵌套
- 使用流程图
练习说明
使用最新版本的Chrome 浏览器可以避免把行号一起复制
如果使用其它浏览器,复制后带上了行号,可以按住 Alt 竖选文本,快速删除行号
预习部分
预习说明
自行输入【例3.1】,编辑至运行通过。
switch语句
switch(开关)语句提供了一种比较简洁的方式来处理多分支。
switch语句的语法格式:
switch(表达式)
{
case 常量:
分支1处理语句;
break;
case 2:
分支2处理语句;
break;
case 3:
分支3处理语句;
break;
……
……
default:
其它情况处理语句;
}
【例3.1】使用switch语句转换数字为星期名称
#include <iostream>
using namespace std;
int main()
{
int weekday = 0;
cin >> weekday; //接收用户输入
switch(weekday)
{
case 1:
cout << "星期一" <<endl;
break;
case 2:
cout << "星期二" <<endl;
break;
case 3:
cout << "星期三" <<endl;
break;
case 4:
cout << "星期四" <<endl;
break;
case 5:
cout << "星期五" <<endl;
break;
case 6:
cout << "星期六" <<endl;
break;
case 7:
cout << "星期天" <<endl;
break;
default:
cout << "请输入正确的数字!" <<endl;
}
return 0;
}
可以对比【例3.2】、【例3.3】来理解switch的优点。
【例3.2】使用嵌套的if-else语句
#include <iostream>
using namespace std;
int main()
{
int weekday = 0;
cin >> weekday; //接收用户输入
if(weekday == 1)
cout << "星期一" <<endl;
else if(weekday == 2)
cout << "星期二" <<endl;
else if(weekday == 3)
cout << "星期三" <<endl;
else if(weekday == 4)
cout << "星期四" <<endl;
else if(weekday == 5)
cout << "星期五" <<endl;
else if(weekday == 6)
cout << "星期六" <<endl;
else if(weekday == 7)
cout << "星期天" <<endl;
else
cout << "请输入正确的数字!" <<endl;
return 0;
}
【例3.2】使用多重嵌套的if-else语句,即使层层缩进,也不易阅读,结构过于复杂。
【例3.3】使用无嵌套的if语句
#include <iostream>
using namespace std;
int main()
{
int weekday = 0;
cin >> weekday; //接收用户输入
if(weekday == 1)
cout << "星期一" <<endl;
if(weekday == 2)
cout << "星期二" <<endl;
if(weekday == 3)
cout << "星期三" <<endl;
if(weekday == 4)
cout << "星期四" <<endl;
if(weekday == 5)
cout << "星期五" <<endl;
if(weekday == 6)
cout << "星期六" <<endl;
if(weekday == 7)
cout << "星期天" <<endl;
if(weekday < 1 || weekday > 7) // ||表示“或”
cout << "请输入正确的数字!" <<endl;
return 0;
}
【例3.3】使用无嵌套的if语句,相比【例3.2】结构简洁,但是每个分支都要执行,增加了程序运行时间。