Cpp class exercise 3:修订间差异
跳转到导航
跳转到搜索
| 第158行: | 第158行: | ||
=== break、continue语句 === | === break、continue语句 === | ||
【例3.4】质数的判断 | |||
<syntaxhighlight lang="C++" line> | |||
#include <iostream> | |||
using namespace std; | |||
int main() | |||
{ | |||
int n =0; | |||
int count=0;// | |||
int flag = 1; //1: 是质数 0:不是质数 | |||
cout << "请输入一个大于2的整数:" <<endl; | |||
cin >> n; | |||
for(int i=2;i<n;i++) | |||
{ | |||
count++; | |||
if(n % i == 0) | |||
{ | |||
flag = 0; | |||
break; | |||
} | |||
} | |||
cout << "运行了" << count << "次判断" <<endl; | |||
if(flag == 1) | |||
cout << n << "是质数" <<endl; | |||
else | |||
cout << n << "不是质数" <<endl; | |||
return 0; | |||
} | |||
</syntaxhighlight> | |||
2019年5月3日 (五) 10:51的版本
本课学习目标
- 完成所有基本程序结构(顺序、分支、循环)语句的学习
- 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】结构简洁,但是每个分支都要执行,增加了程序运行时间。
break、continue语句
【例3.4】质数的判断
#include <iostream>
using namespace std;
int main()
{
int n =0;
int count=0;//
int flag = 1; //1: 是质数 0:不是质数
cout << "请输入一个大于2的整数:" <<endl;
cin >> n;
for(int i=2;i<n;i++)
{
count++;
if(n % i == 0)
{
flag = 0;
break;
}
}
cout << "运行了" << count << "次判断" <<endl;
if(flag == 1)
cout << n << "是质数" <<endl;
else
cout << n << "不是质数" <<endl;
return 0;
}